Lines Matching refs:self

36     def __init__(self, slicc):
37 self.slicc = slicc
39 self.sym_vec = []
40 self.sym_map_vec = [ {} ]
41 self.machine_components = {}
47 void = Type(self, "void", location, pairs)
48 self.newSymbol(void)
50 def __repr__(self):
53 def codeFormatter(self, *args, **kwargs):
54 return self.slicc.codeFormatter(*args, **kwargs)
56 def newSymbol(self, sym):
57 self.registerSym(str(sym), sym)
58 self.sym_vec.append(sym)
60 def registerSym(self, id, sym):
62 if id in self.sym_map_vec[-1]:
65 for sym_map in self.sym_map_vec:
71 self.sym_map_vec[-1][id] = sym
73 def find(self, ident, types=None):
74 for sym_map in reversed(self.sym_map_vec):
89 def newMachComponentSym(self, symbol):
91 machine = self.find("current_machine", StateMachine)
93 self.machine_components[str(machine)][str(symbol)] = symbol
95 def newCurrentMachine(self, sym):
96 self.registerGlobalSym(str(sym), sym)
97 self.registerSym("current_machine", sym)
98 self.sym_vec.append(sym)
100 self.machine_components[str(sym)] = {}
103 def state_machine(self):
104 return self.find("current_machine", StateMachine)
106 def pushFrame(self):
107 self.sym_map_vec.append({})
109 def popFrame(self):
110 assert len(self.sym_map_vec) > 0
111 self.sym_map_vec.pop()
113 def registerGlobalSym(self, ident, symbol):
115 if ident in self.sym_map_vec[0]:
118 self.sym_map_vec[0][ident] = symbol
120 def getAllType(self, type):
121 for symbol in self.sym_vec:
125 def writeCodeFiles(self, path, includes):
128 code = self.codeFormatter()
134 for symbol in self.sym_vec:
140 for symbol in self.sym_vec:
143 def writeHTMLFiles(self, path):
146 machines = list(self.getAllType(StateMachine))
152 code = self.codeFormatter()
166 code = self.codeFormatter()
170 for symbol in self.sym_vec: