diff -r 01aa63683966 -r 3e4fbba494de src/mem/slicc/ast/FuncDeclAST.py --- a/src/mem/slicc/ast/FuncDeclAST.py Tue Jul 26 11:00:12 2011 -0500 +++ b/src/mem/slicc/ast/FuncDeclAST.py Tue Jul 26 11:03:55 2011 -0500 @@ -41,14 +41,7 @@ return "[FuncDecl: %s]" % self.ident def files(self, parent=None): - if "external" in self or self.statements is None: - return set() - - if parent: - ident = "%s_%s" % (parent, self.ident) - else: - ident = self.ident - return set(("%s.cc" % ident,)) + return set() def generate(self): types = [] diff -r 01aa63683966 -r 3e4fbba494de src/mem/slicc/symbols/Func.py --- a/src/mem/slicc/symbols/Func.py Tue Jul 26 11:00:12 2011 -0500 +++ b/src/mem/slicc/symbols/Func.py Tue Jul 26 11:03:55 2011 -0500 @@ -64,24 +64,15 @@ ", ".join(self.param_strings)) def writeCodeFiles(self, path): + return + + def generateCode(self): '''This write a function of object Chip''' if "external" in self: - return + return "" code = self.symtab.codeFormatter() - # Header - code(''' -/** Auto generated C++ code started by $__file__:$__line__ */ - -#include "debug/RubySlicc.hh" -#include "mem/protocol/Types.hh" -''') - - if self.isInternalMachineFunc: - code('#include "mem/protocol/${{self.machineStr}}_Controller.hh"') - - code('using namespace std;') # Generate function header void_type = self.symtab.find("void", Type) return_type = self.return_type.c_ident @@ -104,9 +95,6 @@ ${{self.body}} } ''') - if self.isInternalMachineFunc: - code.write(path, "%s_%s.cc" % (self.machineStr,self.c_ident)) - else: - code.write(path, "%s.cc" % self.c_ident) + return str(code) __all__ = [ "Func" ] diff -r 01aa63683966 -r 3e4fbba494de src/mem/slicc/symbols/StateMachine.py --- a/src/mem/slicc/symbols/StateMachine.py Tue Jul 26 11:00:12 2011 -0500 +++ b/src/mem/slicc/symbols/StateMachine.py Tue Jul 26 11:03:55 2011 -0500 @@ -168,9 +168,6 @@ self.printProfileDumperCC(path) self.printProfileDumperHH(path) - for func in self.functions: - func.writeCodeFiles(path) - def printControllerPython(self, path): code = self.symtab.codeFormatter() ident = self.ident @@ -945,6 +942,9 @@ } ''') + for func in self.functions: + code(func.generateCode()) + code.write(path, "%s.cc" % c_ident) def printCWakeup(self, path):