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