diff options
author | Nathan Binkert <nate@binkert.org> | 2011-07-05 18:30:05 -0700 |
---|---|---|
committer | Nathan Binkert <nate@binkert.org> | 2011-07-05 18:30:05 -0700 |
commit | 831e9b3b7a658663f5bffafef175d4f4a5615cfd (patch) | |
tree | e2ac76e79b6e3f0f1fe5e5c471004c3e391dee2b /src/mem/slicc/symbols/SymbolTable.py | |
parent | 3d252f8e5fa2ec3f55730ab6d5d1a4a1b21b2cdf (diff) | |
download | gem5-831e9b3b7a658663f5bffafef175d4f4a5615cfd.tar.xz |
slicc: cleanup slicc code and make it less verbose
Diffstat (limited to 'src/mem/slicc/symbols/SymbolTable.py')
-rw-r--r-- | src/mem/slicc/symbols/SymbolTable.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/mem/slicc/symbols/SymbolTable.py b/src/mem/slicc/symbols/SymbolTable.py index dd45ac06c..81d0768f9 100644 --- a/src/mem/slicc/symbols/SymbolTable.py +++ b/src/mem/slicc/symbols/SymbolTable.py @@ -25,7 +25,7 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -from m5.util import code_formatter +from m5.util import makeDir from slicc.generate import html from slicc.symbols.StateMachine import StateMachine @@ -42,13 +42,15 @@ class SymbolTable(object): pairs = {} pairs["enumeration"] = "yes" - MachineType = Type(self, "MachineType", Location("init", 0), pairs) + location = Location("init", 0, no_warning=not slicc.verbose) + MachineType = Type(self, "MachineType", location, pairs) self.newSymbol(MachineType) pairs = {} pairs["primitive"] = "yes" pairs["external"] = "yes" - void = Type(self, "void", Location("init", 0), pairs) + location = Location("init", 0, no_warning=not slicc.verbose) + void = Type(self, "void", location, pairs) self.newSymbol(void) def __repr__(self): @@ -123,6 +125,8 @@ class SymbolTable(object): yield symbol def writeCodeFiles(self, path): + makeDir(path) + code = self.codeFormatter() code(''' /** Auto generated C++ code started by $__file__:$__line__ */ @@ -139,6 +143,8 @@ class SymbolTable(object): symbol.writeCodeFiles(path) def writeHTMLFiles(self, path): + makeDir(path) + machines = list(self.getAllType(StateMachine)) if len(machines) > 1: name = "%s_table.html" % machines[0].ident |