ATokenStream.h
上传用户:itx_2006
上传日期:2007-01-06
资源大小:493k
文件大小:2k
源码类别:

编译器/解释器

开发平台:

Others

  1. /* ANTLRTokenStream.h
  2.  *
  3.  * SOFTWARE RIGHTS
  4.  *
  5.  * We reserve no LEGAL rights to the Purdue Compiler Construction Tool
  6.  * Set (PCCTS) -- PCCTS is in the public domain.  An individual or
  7.  * company may do whatever they wish with source code distributed with
  8.  * PCCTS or the code generated by PCCTS, including the incorporation of
  9.  * PCCTS, or its output, into commerical software.
  10.  *
  11.  * We encourage users to develop software with PCCTS.  However, we do ask
  12.  * that credit is given to us for developing PCCTS.  By "credit",
  13.  * we mean that if you incorporate our source code into one of your
  14.  * programs (commercial product, research project, or otherwise) that you
  15.  * acknowledge this fact somewhere in the documentation, research report,
  16.  * etc...  If you like PCCTS and have developed a nice tool with the
  17.  * output, please mention that you developed it using PCCTS.  In
  18.  * addition, we ask that this header remain intact in our source code.
  19.  * As long as these guidelines are kept, we expect to continue enhancing
  20.  * this system and expect to make other tools available as they are
  21.  * completed.
  22.  *
  23.  * ANTLR 1.33
  24.  * Terence Parr
  25.  * Parr Research Corporation
  26.  * with Purdue University and AHPCRC, University of Minnesota
  27.  * 1989-1998
  28.  */
  29. #ifndef ATOKENSTREAM_H_GATE
  30. #define ATOKENSTREAM_H_GATE
  31. #include "pcctscfg.h"
  32. /* This is really a behavior or protocol; it merely indicates the behavior
  33.  * required of the input and output of an ANTLRTokenBuffer.  You could
  34.  * subclass it, but you can also just pass any old pointer to ANTLRTokenBuffer
  35.  * with a type cast (in which case, your getANTLRToken() would have to
  36.  * explicitly cast the input pointer to your REAL type (typically your lexer)).
  37.  */
  38. class ANTLRParser; // MR1
  39. class DllExportPCCTS ANTLRTokenStream {
  40. public:
  41.     virtual _ANTLRTokenPtr getToken() = 0;
  42. virtual ANTLRParser * setParser(ANTLRParser *p) {return 0; };   // MR12
  43. virtual ANTLRParser * getParser() { return 0; };         // MR12
  44. };
  45. #endif