from ply import lex, yacc
import astor
+from soc.decoder.power_fieldsn import create_sigdecode
+
+
# I use the Python AST
#from compiler import ast
import ast
self.parser = yacc.yacc(module=self, start="file_input_end",
debug=False, write_tables=False)
+ self.sd = create_sigdecode()
+
def parse(self, code):
self.lexer.input(code)
result = self.parser.parse(lexer = self.lexer, debug=False)
for f in sd.df.FormX:
print (f)
-_compile = GardenSnakeCompiler().compile
+gsc = GardenSnakeCompiler()
+_compile = gsc.compile
tree = _compile(code, mode="single", filename="string")
import ast
#sys.exit(0)
-from soc.decoder.power_fieldsn import create_sigdecode
-
# Set up the GardenSnake run-time environment
def print_(*args):
print ("args", args)
d["concat"] = listconcat
form = 'X'
-sd = create_sigdecode()
-getform = getattr(sd.df, "Form%s" % form)
+getform = getattr(gsc.parser.sd.df, "Form%s" % form)
print (getform)
for k, f in sd.df.instrs[form].items():
d[k] = getattr(getform, k)