From: <bl...@us...> - 2003-08-27 21:47:54
|
Update of /cvsroot/cpptool/rfta/src/pyrfta/test In directory sc8-pr-cvs1:/tmp/cvs-serv13262 Modified Files: cppastdump.py Log Message: * updated to use the C++ parser facade Index: cppastdump.py =================================================================== RCS file: /cvsroot/cpptool/rfta/src/pyrfta/test/cppastdump.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** cppastdump.py 26 Aug 2003 18:00:51 -0000 1.1 --- cppastdump.py 27 Aug 2003 21:47:48 -0000 1.2 *************** *** 1,6 **** # parser C++ file and dump AST to output ! from rfta.parser import grammar ! from rfta.parser import tokenizer import glob import sys --- 1,5 ---- # parser C++ file and dump AST to output ! from rfta.parser.facade import * import glob import sys *************** *** 8,23 **** def dumpAST( input_file_name ): ! file_in = file(input_file_name, 'rt') ! text = file_in.read() ! file_in.close() ! ! tokens = tokenizer.CppScanner().tokenize( text ) ! scanner = grammar.TokenProvider( tokens, grammar.StructuredTokenStream(), None ) ! match = grammar.translation_unit_pi.parse( scanner ) ! if not match: print 'Failed to parse file %s' % input_file_name ! sys.exit(1) ! ! root_node = scanner.getStructuredTokenStream().makeNodeTree() output_file_name = input_file_name + '.txt' --- 7,15 ---- def dumpAST( input_file_name ): ! facade = CPPParser() ! text, root_node = facade.parseTextFile( input_file_name ) ! if not root_node: print 'Failed to parse file %s' % input_file_name ! return False output_file_name = input_file_name + '.txt' *************** *** 31,34 **** --- 23,27 ---- file_out.close() + return True |