Package jflex
Class Action
- java.lang.Object
-
- jflex.Action
-
public final class Action extends java.lang.ObjectEncapsulates an action in the specification.It stores the Java code as String together with a priority (line number in the specification).
- Version:
- JFlex 1.7.0
-
-
Field Summary
Fields Modifier and Type Field Description static intBACKWARD_ACTIONAction of the backward pass for lookahead(package private) java.lang.StringcontentThe Java code this Action representsprivate intentryStateThe entry state of the corresponding forward DFA (if general lookahead)static intFINITE_CHOICEAction of a lookahead expression r1/r2 with a finite choice of fixed lengths in r2static intFIXED_BASEAction of a lookahead expression r1/r2 with fixed length r1static intFIXED_LOOKAction of a lookahead expression r1/r2 with fixed length r2static intFORWARD_ACTIONAction of the 2nd forward pass for lookaheadstatic intGENERAL_LOOKAction of a general lookahead expressionprivate intkindWhich kind of action this is.private intlenThe length of the lookahead (if fixed)static intNORMALA normal action(package private) intpriorityThe priority (i.e.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ActioncopyChoice(int length)copyChoice.booleanequals(java.lang.Object o)intgetEntryState()Return the corresponding entry state for the forward DFA (if this is a general lookahead expression)ActiongetHigherPriority(Action other)Compares the priority value of this Action with the specified action.intgetLookLength()The length of the lookahead or base if this is a fixed length lookahead action.inthashCode()Calculate hash value.booleanisEmittable()Return true if code for this is action should be emitted, false if it is a BACK/FORWARD lookahead action.booleanisEquiv(Action a)Returnstrueiff the parameter is an Action with the same content as this one.booleanisGenLookAction()Return true iff this is action belongs to a general lookahead rule.intlookAhead()Return kind of lookahead.java.lang.StringlookString()String representation of the lookahead kind of this action.voidsetEntryState(int entryState)Set the corresponding entry state for the forward DFA of this action (if this is a general lookahead expression)voidsetLookAction(int kind, int data)Sets the lookahead kind and data for this actionjava.lang.StringtoString()Returns the String representation of this object.
-
-
-
Field Detail
-
NORMAL
public static final int NORMAL
A normal action- See Also:
- Constant Field Values
-
FIXED_BASE
public static final int FIXED_BASE
Action of a lookahead expression r1/r2 with fixed length r1- See Also:
- Constant Field Values
-
FIXED_LOOK
public static final int FIXED_LOOK
Action of a lookahead expression r1/r2 with fixed length r2- See Also:
- Constant Field Values
-
FINITE_CHOICE
public static final int FINITE_CHOICE
Action of a lookahead expression r1/r2 with a finite choice of fixed lengths in r2- See Also:
- Constant Field Values
-
GENERAL_LOOK
public static final int GENERAL_LOOK
Action of a general lookahead expression- See Also:
- Constant Field Values
-
FORWARD_ACTION
public static final int FORWARD_ACTION
Action of the 2nd forward pass for lookahead- See Also:
- Constant Field Values
-
BACKWARD_ACTION
public static final int BACKWARD_ACTION
Action of the backward pass for lookahead- See Also:
- Constant Field Values
-
content
java.lang.String content
The Java code this Action represents
-
priority
int priority
The priority (i.e. line number in the specification) of this Action.
-
kind
private int kind
Which kind of action this is. (normal,a/bwith fixed length a, fixed length b, etc)
-
len
private int len
The length of the lookahead (if fixed)
-
entryState
private int entryState
The entry state of the corresponding forward DFA (if general lookahead)
-
-
Constructor Detail
-
Action
public Action(java.lang.String content, int priority)Creates a new Action object with specified content and line number.- Parameters:
content- java codepriority- line number
-
Action
public Action(int kind)
Creates a new Action object of the specified kind. Only accepts FORWARD_ACTION or BACKWARD_ACTION.- Parameters:
kind- the kind of action- See Also:
FORWARD_ACTION,BACKWARD_ACTION,FORWARD_ACTION,BACKWARD_ACTION
-
-
Method Detail
-
getHigherPriority
public Action getHigherPriority(Action other)
Compares the priority value of this Action with the specified action.- Parameters:
other- the other Action to compare this Action with.- Returns:
- this Action if it has higher priority - the specified one, if not.
-
toString
public java.lang.String toString()
Returns the String representation of this object.- Overrides:
toStringin classjava.lang.Object- Returns:
- string representation of the action
-
isEquiv
public boolean isEquiv(Action a)
Returnstrueiff the parameter is an Action with the same content as this one.- Parameters:
a- the object to compare this Action with- Returns:
- true if the action strings are equal
-
hashCode
public int hashCode()
Calculate hash value.- Overrides:
hashCodein classjava.lang.Object- Returns:
- a hash value for this Action
-
equals
public boolean equals(java.lang.Object o)
Test for equality to another object.
This action equals another object if the other object is an equivalent action.
- Overrides:
equalsin classjava.lang.Object- See Also:
isEquiv(Action)
-
isGenLookAction
public boolean isGenLookAction()
Return true iff this is action belongs to a general lookahead rule.- Returns:
- true if this actions belongs to a general lookahead rule.
-
isEmittable
public boolean isEmittable()
Return true if code for this is action should be emitted, false if it is a BACK/FORWARD lookahead action.- Returns:
- true if code should be emitted for this action.
-
lookAhead
public int lookAhead()
Return kind of lookahead.- Returns:
- a int.
-
setLookAction
public void setLookAction(int kind, int data)Sets the lookahead kind and data for this action- Parameters:
kind- which kind of lookahead it isdata- the length for fixed length lookaheads.
-
getLookLength
public int getLookLength()
The length of the lookahead or base if this is a fixed length lookahead action.- Returns:
- a int.
-
getEntryState
public int getEntryState()
Return the corresponding entry state for the forward DFA (if this is a general lookahead expression)- Returns:
- the forward DFA entry state (+1 is the backward DFA)
-
setEntryState
public void setEntryState(int entryState)
Set the corresponding entry state for the forward DFA of this action (if this is a general lookahead expression)- Parameters:
entryState- a int.
-
copyChoice
public Action copyChoice(int length)
copyChoice.- Parameters:
length- a int.- Returns:
- a
Actionobject.
-
lookString
public java.lang.String lookString()
String representation of the lookahead kind of this action.- Returns:
- the string representation
-
-