File indexing completed on 2024-04-21 04:36:08
0001 #include "Op2parser.cpp" 0002 #include "Op2debugvisitor.h" 0003 #include "Op2tokenstream.h" 0004 0005 #include <QFile> 0006 #include <kdebug.h> 0007 0008 using namespace Op2; 0009 0010 int main(int argc, char **argv) 0011 { 0012 if(argc != 2) 0013 { 0014 kDebug() << "Usage: " << argv[0] << " filename"; 0015 return -1; 0016 } 0017 QFile file(argv[1]); 0018 file.open(QIODevice::ReadOnly); 0019 QString content = file.readAll(); 0020 Op2::TokenStream token_stream(content); 0021 Parser::memoryPoolType memory_pool; 0022 Parser parser; 0023 parser.setTokenStream(&token_stream); 0024 parser.setMemoryPool(&memory_pool); 0025 parser.yylex(); 0026 DocumentAst *doc; 0027 kDebug() << parser.parseDocument(&doc); 0028 DebugVisitor v(&token_stream, content); 0029 v.visitDocument(doc); 0030 } 0031