Make the lexer and parser use objects and not the last lexer and parser generated.
authorGabe Black <gblack@eecs.umich.edu>
Sat, 26 May 2007 02:26:26 +0000 (19:26 -0700)
committerGabe Black <gblack@eecs.umich.edu>
Sat, 26 May 2007 02:26:26 +0000 (19:26 -0700)
--HG--
extra : convert_revision : e751969973599cde711f9d4de0dc4772dda651ed

src/arch/isa_parser.py

index 4c8d0706d9f35308a331d47e9ce5644b76b266b6..57d58cc9d4e2a8112664fd819968a0ec9474bce5 100755 (executable)
@@ -194,7 +194,7 @@ def t_error(t):
     t.skip(1)
 
 # Build the lexer
-lex.lex()
+lexer = lex.lex()
 
 #####################################################################
 #
@@ -729,7 +729,7 @@ def p_error(t):
 # END OF GRAMMAR RULES
 #
 # Now build the parser.
-yacc.yacc()
+parser = yacc.yacc()
 
 
 #####################################################################
@@ -1881,7 +1881,8 @@ def parse_isa_desc(isa_desc_file, output_dir):
     fileNameStack.push((isa_desc_file, 0))
 
     # Parse it.
-    (isa_name, namespace, global_code, namespace_code) = yacc.parse(isa_desc)
+    (isa_name, namespace, global_code, namespace_code) = \
+        parser.parse(isa_desc, lexer=lexer)
 
     # grab the last three path components of isa_desc_file to put in
     # the output