add working preprocessor (creates docstrings)
[sv2nmigen.git] / svparse.py
index 39d8c5acf41c1a4c2a3f29f9d756ab1cfab27af4..3a495edc8c5ac4e58e9c6432f6ad6c3144592ff5 100644 (file)
@@ -3,13 +3,20 @@ import sys
 import lexor
 import parse_sv
 import absyn
+import pypreproc
 
 from ply import *
+import os 
 
 if __name__ == '__main__':
     fname = sys.argv[1]
+    outputfn = os.path.splitext(fname)[0]+'.py'
+    print(outputfn)
     with open(fname) as f:
         data = f.read()
-        parse_sv.absyn = absyn.Absyn()
+        preproc = pypreproc.Preprocessor()
+        data = preproc.removeComments(data)
+        parse_sv.absyn = absyn.Absyn(outputfn)
         yacc.parse(data, debug=parse_sv.yacc2_debug)
         print("No Error")
+        parse_sv.absyn.appendComments(preproc.insertDocstrings(data))