/* Web Polygraph http://www.web-polygraph.org/ * (C) 2003-2006 The Measurement Factory * Licensed under the Apache License, Version 2.0 */ #include "pgl/pgl.h" #include "xstd/gadgets.h" #include "base/polyVersion.h" #include "pgl/PglPp.h" #include "pgl/PglParser.h" #include "pgl/PglStaticSemx.h" int main(int argc, char **argv) { (void)PolyVersion(); if (argc < 2) { cerr << "usage: " << argv[0] << " <input_file> [include_dir] ..." << endl << xexit; } for (int i = 2; i < argc; ++i) PglPp::TheDirs.append(new String(argv[i])); PglPp pp(argv[1]); PglParser parser(&pp); if (const SynSym *s = parser.parse()) { PglStaticSemx semx; semx.interpret(*s); configureStream(cout, 2); s->print(cout, ""); return 0; } else { cerr << here << "internal error: failed to interpret parsed " << argv[1] << endl << xexit; return 2; } }