summaryrefslogtreecommitdiff
path: root/src/mem/slicc/symbols/SymbolTable.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/slicc/symbols/SymbolTable.py')
-rw-r--r--src/mem/slicc/symbols/SymbolTable.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/mem/slicc/symbols/SymbolTable.py b/src/mem/slicc/symbols/SymbolTable.py
index deb971eb9..dd45ac06c 100644
--- a/src/mem/slicc/symbols/SymbolTable.py
+++ b/src/mem/slicc/symbols/SymbolTable.py
@@ -33,7 +33,9 @@ from slicc.symbols.Type import Type
from slicc.util import Location
class SymbolTable(object):
- def __init__(self):
+ def __init__(self, slicc):
+ self.slicc = slicc
+
self.sym_vec = []
self.sym_map_vec = [ {} ]
self.machine_components = {}
@@ -52,6 +54,9 @@ class SymbolTable(object):
def __repr__(self):
return "[SymbolTable]" # FIXME
+ def codeFormatter(self, *args, **kwargs):
+ return self.slicc.codeFormatter(*args, **kwargs)
+
def newSymbol(self, sym):
self.registerSym(str(sym), sym)
self.sym_vec.append(sym)
@@ -118,7 +123,7 @@ class SymbolTable(object):
yield symbol
def writeCodeFiles(self, path):
- code = code_formatter()
+ code = self.codeFormatter()
code('''
/** Auto generated C++ code started by $__file__:$__line__ */
@@ -140,7 +145,7 @@ class SymbolTable(object):
else:
name = "empty.html"
- code = code_formatter()
+ code = self.codeFormatter()
code('''
<html>
<head>
@@ -154,7 +159,7 @@ class SymbolTable(object):
''')
code.write(path, "index.html")
- code = code_formatter()
+ code = self.codeFormatter()
code("<HTML></HTML>")
code.write(path, "empty.html")