antlr
Class ZeroOrMoreBlock

java.lang.Object
  |
  +--antlr.GrammarElement
        |
        +--antlr.AlternativeElement
              |
              +--antlr.AlternativeBlock
                    |
                    +--antlr.BlockWithImpliedExitPath
                          |
                          +--antlr.ZeroOrMoreBlock

class ZeroOrMoreBlock
extends BlockWithImpliedExitPath


Field Summary
protected  Vector alternatives
           
protected  int alti
           
protected  int altj
           
protected  int analysisAlt
           
static int AUTO_GEN_BANG
           
static int AUTO_GEN_CARET
           
static int AUTO_GEN_NONE
           
protected  int autoGenType
           
protected  boolean doAutoGen
           
protected  String enclosingRuleName
           
protected  Lookahead[] exitCache
          lookahead to bypass block; set by deterministic().
protected  int exitLookaheadDepth
           
protected  boolean generateAmbigWarnings
           
protected  Grammar grammar
           
(package private)  boolean greedy
           
(package private)  boolean greedySet
           
protected  boolean hasAnAction
           
protected  boolean hasASynPred
           
protected  int ID
           
protected  String initAction
           
protected  String label
           
protected  int line
           
protected static int nblks
           
(package private)  AlternativeElement next
           
(package private)  boolean not
           
protected  boolean warnWhenFollowAmbig
           
 
Constructor Summary
ZeroOrMoreBlock(Grammar g)
           
ZeroOrMoreBlock(Grammar g, int line)
           
 
Method Summary
 void addAlternative(Alternative alt)
           
 void generate()
           
 Alternative getAlternativeAt(int i)
           
 Vector getAlternatives()
           
 boolean getAutoGen()
           
 int getAutoGenType()
           
 String getInitAction()
           
 String getLabel()
           
 int getLine()
           
 Lookahead look(int k)
           
 void prepareForAnalysis()
           
 void removeTrackingOfRuleRefs(Grammar g)
          Walk the syntactic predicate and, for a rule ref R, remove the ref from the list of FOLLOW references for R (stored in the symbol table.
 void setAlternatives(Vector v)
           
 void setAutoGen(boolean doAutoGen_)
           
 void setInitAction(String initAction_)
           
 void setLabel(String label_)
           
 void setOption(Token key, Token value)
           
 String toString()
          Suppressed: Returns a string representation of the object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

exitLookaheadDepth

protected int exitLookaheadDepth

exitCache

protected Lookahead[] exitCache
lookahead to bypass block; set by deterministic(). 1..k of Lookahead


initAction

protected String initAction

alternatives

protected Vector alternatives

label

protected String label

alti

protected int alti

altj

protected int altj

analysisAlt

protected int analysisAlt

hasAnAction

protected boolean hasAnAction

hasASynPred

protected boolean hasASynPred

ID

protected int ID

nblks

protected static int nblks

not

boolean not

greedy

boolean greedy

greedySet

boolean greedySet

doAutoGen

protected boolean doAutoGen

warnWhenFollowAmbig

protected boolean warnWhenFollowAmbig

generateAmbigWarnings

protected boolean generateAmbigWarnings

next

AlternativeElement next

autoGenType

protected int autoGenType

enclosingRuleName

protected String enclosingRuleName

AUTO_GEN_NONE

public static final int AUTO_GEN_NONE

AUTO_GEN_CARET

public static final int AUTO_GEN_CARET

AUTO_GEN_BANG

public static final int AUTO_GEN_BANG

grammar

protected Grammar grammar

line

protected int line
Constructor Detail

ZeroOrMoreBlock

public ZeroOrMoreBlock(Grammar g)

ZeroOrMoreBlock

public ZeroOrMoreBlock(Grammar g,
                       int line)
Method Detail

generate

public void generate()
Overrides:
generate in class AlternativeBlock

look

public Lookahead look(int k)
Overrides:
look in class AlternativeBlock

toString

public String toString()
Description copied from class: Object
Suppressed: Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Overrides:
toString in class AlternativeBlock
Returns:
a string representation of the object.

addAlternative

public void addAlternative(Alternative alt)

getAlternativeAt

public Alternative getAlternativeAt(int i)

getAlternatives

public Vector getAlternatives()

getAutoGen

public boolean getAutoGen()

getInitAction

public String getInitAction()

getLabel

public String getLabel()
Overrides:
getLabel in class AlternativeElement

prepareForAnalysis

public void prepareForAnalysis()

removeTrackingOfRuleRefs

public void removeTrackingOfRuleRefs(Grammar g)
Walk the syntactic predicate and, for a rule ref R, remove the ref from the list of FOLLOW references for R (stored in the symbol table.


setAlternatives

public void setAlternatives(Vector v)

setAutoGen

public void setAutoGen(boolean doAutoGen_)

setInitAction

public void setInitAction(String initAction_)

setLabel

public void setLabel(String label_)
Overrides:
setLabel in class AlternativeElement

setOption

public void setOption(Token key,
                      Token value)

getAutoGenType

public int getAutoGenType()

getLine

public int getLine()


comments?