1 package antlr;
2
3 * <b>SOFTWARE RIGHTS</b>
5 * <p>
6 * ANTLR 2.5.0 MageLang Institute, 1998
7 * <p>
8 * We reserve no legal rights to the ANTLR--it is fully in the
9 * public domain. An individual or company may do whatever
10 * they wish with source code distributed with ANTLR or the
11 * code generated by ANTLR, including the incorporation of
12 * ANTLR, or its output, into commerical software.
13 * <p>
14 * We encourage users to develop software with ANTLR. However,
15 * we do ask that credit is given to us for developing
16 * ANTLR. By "credit", we mean that if you use ANTLR or
17 * incorporate any source code into one of your programs
18 * (commercial product, research project, or otherwise) that
19 * you acknowledge this fact somewhere in the documentation,
20 * research report, etc... If you like ANTLR and have
21 * developed a nice tool with the output, please mention that
22 * you developed it using ANTLR. In addition, we ask that the
23 * headers remain intact in our source code. As long as these
24 * guidelines are kept, we expect to continue enhancing this
25 * system and expect to make other tools available as they are
26 * completed.
27 * <p>
28 * The ANTLR gang:
29 * @version ANTLR 2.5.0 MageLang Institute, 1998
30 * @author Terence Parr, <a href=http://www.MageLang.com>MageLang Institute</a>
31 * @author <br>John Lilley, <a href=http://www.Empathy.com>Empathy Software</a>
32 */
33
34 public interface LLkGrammarAnalyzer extends GrammarAnalyzer {
35
36
37 public boolean deterministic(AlternativeBlock blk);
38 public boolean deterministic(OneOrMoreBlock blk);
39 public boolean deterministic(ZeroOrMoreBlock blk);
40 public Lookahead FOLLOW(int k, RuleEndElement end);
41 public Lookahead look(int k, ActionElement action);
42 public Lookahead look(int k, AlternativeBlock blk);
43 public Lookahead look(int k, BlockEndElement end);
44 public Lookahead look(int k, CharLiteralElement atom);
45 public Lookahead look(int k, CharRangeElement end);
46 public Lookahead look(int k, GrammarAtom atom);
47 public Lookahead look(int k, OneOrMoreBlock blk);
48 public Lookahead look(int k, RuleBlock blk);
49 public Lookahead look(int k, RuleEndElement end);
50 public Lookahead look(int k, RuleRefElement rr);
51 public Lookahead look(int k, StringLiteralElement atom);
52 public Lookahead look(int k, SynPredBlock blk);
53 public Lookahead look(int k, TokenRangeElement end);
54 public Lookahead look(int k, TreeElement end);
55 public Lookahead look(int k, WildcardElement wc);
56 public Lookahead look(int k, ZeroOrMoreBlock blk);
57 public Lookahead look(int k, String rule);
58 public void setGrammar(Grammar g);
59 public boolean subruleCanBeInverted(AlternativeBlock blk, boolean forLexer);
60 }
61