diff options
author | Steve Reinhardt <steve.reinhardt@amd.com> | 2010-01-29 20:29:17 -0800 |
---|---|---|
committer | Steve Reinhardt <steve.reinhardt@amd.com> | 2010-01-29 20:29:17 -0800 |
commit | c6f1d959be74de55b0c90f3c961314791342d03e (patch) | |
tree | d0ef0777894828291a6ced188c8bcae323cea442 /src/mem/slicc/symbols/SymbolTable.py | |
parent | 98c94cfe3ce83634f3bad79ca18263f42e36ca6a (diff) | |
download | gem5-c6f1d959be74de55b0c90f3c961314791342d03e.tar.xz |
ruby: Make SLICC-generated objects SimObjects.
Also add SLICC support for state-machine parameter defaults
(passed through to Python as SimObject Param defaults).
Diffstat (limited to 'src/mem/slicc/symbols/SymbolTable.py')
-rw-r--r-- | src/mem/slicc/symbols/SymbolTable.py | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/src/mem/slicc/symbols/SymbolTable.py b/src/mem/slicc/symbols/SymbolTable.py index 6b1bf13e6..deb971eb9 100644 --- a/src/mem/slicc/symbols/SymbolTable.py +++ b/src/mem/slicc/symbols/SymbolTable.py @@ -133,63 +133,6 @@ class SymbolTable(object): for symbol in self.sym_vec: symbol.writeCodeFiles(path) - self.writeControllerFactory(path) - - def writeControllerFactory(self, path): - code = code_formatter() - - code(''' -/** \\file ControllerFactory.hh - * Auto generatred C++ code started by $__file__:$__line__ - */ - -#ifndef CONTROLLERFACTORY_H -#define CONTROLLERFACTORY_H - -#include <string> -class Network; -class AbstractController; - -class ControllerFactory { - public: - static AbstractController *createController(const std::string &controller_type, const std::string &name); -}; -#endif // CONTROLLERFACTORY_H''') - code.write(path, "ControllerFactory.hh") - - code = code_formatter() - code(''' -/** \\file ControllerFactory.cc - * Auto generatred C++ code started by $__file__:$__line__ - */ - -#include "mem/protocol/ControllerFactory.hh" -#include "mem/ruby/slicc_interface/AbstractController.hh" -#include "mem/protocol/MachineType.hh" -''') - - controller_types = [] - for symbol in self.getAllType(StateMachine): - code('#include "mem/protocol/${{symbol.ident}}_Controller.hh"') - controller_types.append(symbol.ident) - - code(''' -AbstractController *ControllerFactory::createController(const std::string &controller_type, const std::string &name) { -''') - - for ct in controller_types: - code(''' - if (controller_type == "$ct") - return new ${ct}_Controller(name); -''') - - code(''' - assert(0); // invalid controller type - return NULL; -} -''') - code.write(path, "ControllerFactory.cc") - def writeHTMLFiles(self, path): machines = list(self.getAllType(StateMachine)) if len(machines) > 1: |