ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/antlr/LLkParser.hpp
Revision: 1442
Committed: Mon May 10 17:28:26 2010 UTC (14 years, 11 months ago) by gezelter
File size: 1523 byte(s)
Log Message:
Adding property set to svn entries

File Contents

# User Rev Content
1 tim 770 #ifndef INC_LLkParser_hpp__
2     #define INC_LLkParser_hpp__
3    
4     /* ANTLR Translator Generator
5     * Project led by Terence Parr at http://www.jGuru.com
6     * Software rights: http://www.antlr.org/license.html
7     *
8 gezelter 1442 * $Id$
9 tim 770 */
10    
11     #include <antlr/config.hpp>
12     #include <antlr/Parser.hpp>
13    
14     #ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
15     namespace antlr {
16     #endif
17    
18     /**An LL(k) parser.
19     *
20     * @see antlr.Token
21     * @see antlr.TokenBuffer
22     * @see antlr.LL1Parser
23     */
24     class ANTLR_API LLkParser : public Parser {
25     public:
26     LLkParser(const ParserSharedInputState& lexer, int k_);
27    
28     LLkParser(TokenBuffer& tokenBuf, int k_);
29    
30     LLkParser(TokenStream& lexer, int k_);
31    
32     /** Consume another token from the input stream. Can only write sequentially!
33     * If you need 3 tokens ahead, you must consume() 3 times.
34     * <p>
35     * Note that it is possible to overwrite tokens that have not been matched.
36     * For example, calling consume() 3 times when k=2, means that the first token
37     * consumed will be overwritten with the 3rd.
38     */
39     virtual inline void consume()
40     {
41     inputState->getInput().consume();
42     }
43    
44     virtual inline int LA(unsigned int i)
45     {
46     return inputState->getInput().LA(i);
47     }
48    
49     virtual inline RefToken LT(unsigned int i)
50     {
51     return inputState->getInput().LT(i);
52     }
53     protected:
54     /// the lookahead this LL(k) parser is using.
55     int k;
56     private:
57     void trace(const char* ee, const char* rname);
58     public:
59     virtual void traceIn(const char* rname);
60     virtual void traceOut(const char* rname);
61     };
62    
63     #ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
64     }
65     #endif
66    
67     #endif //INC_LLkParser_hpp__

Properties

Name Value
svn:keywords Author Id Revision Date