7 * We reserve no LEGAL rights to the Purdue Compiler Construction Tool
8 * Set (PCCTS) -- PCCTS is in the public domain. An individual or
9 * company may do whatever they wish with source code distributed with
10 * PCCTS or the code generated by PCCTS, including the incorporation of
11 * PCCTS, or its output, into commerical software.
13 * We encourage users to develop software with PCCTS. However, we do ask
14 * that credit is given to us for developing PCCTS. By "credit",
15 * we mean that if you incorporate our source code into one of your
16 * programs (commercial product, research project, or otherwise) that you
17 * acknowledge this fact somewhere in the documentation, research report,
18 * etc... If you like PCCTS and have developed a nice tool with the
19 * output, please mention that you developed it using PCCTS. In
20 * addition, we ask that this header remain intact in our source code.
21 * As long as these guidelines are kept, we expect to continue enhancing
22 * this system and expect to make other tools available as they are
27 * Parr Research Corporation
28 * with Purdue University and AHPCRC, University of Minnesota
34 template<class Lexer, class Parser, class Token>
35 class ParserBlackBox {
40 ANTLRTokenBuffer *pipe;
45 ParserBlackBox(FILE *f)
48 in = new DLGFileInput(f);
50 pipe = new ANTLRTokenBuffer(scan);
53 _parser = new Parser(pipe);
56 ParserBlackBox(char *fname)
58 FILE *f = fopen(fname, "r");
59 if ( f==NULL ) {cerr << "cannot open " << fname << "\n"; return;}
62 in = new DLGFileInput(f);
64 pipe = new ANTLRTokenBuffer(scan);
67 _parser = new Parser(pipe);
73 delete in; delete scan; delete pipe; delete _parser; delete tok;
77 Parser *parser() { return _parser; }