JFlex
Class Action

java.lang.Object
  extended by JFlex.Action

public final class Action
extends java.lang.Object

Encapsulates an action in the specification. It stores the Java code as String together with a priority (line number in the specification).


Field Summary
static int BACKWARD_ACTION
          Action of the backward pass for lookahead
static int FINITE_CHOICE
          Action of a lookahead expression r1/r2 with a finite choice of fixed lengths in r2
static int FIXED_BASE
          Action of a lookahead expression r1/r2 with fixed length r1
static int FIXED_LOOK
          Action of a lookahead expression r1/r2 with fixed length r2
static int FORWARD_ACTION
          Action of the 2nd forward pass for lookahead
static int GENERAL_LOOK
          Action of a general lookahead expression
static int NORMAL
          A normal action
 
Constructor Summary
Action(int kind)
          Creates a new Action object of the specified kind.
Action(java.lang.String content, int priority)
          Creates a new Action object with specified content and line number.
 
Method Summary
 Action copyChoice(int length)
           
 boolean equals(java.lang.Object o)
          Test for equality to another object.
 int getEntryState()
          Return the corresponding entry state for the forward DFA (if this is a general lookahead expression)
 Action getHigherPriority(Action other)
          Compares the priority value of this Action with the specified action.
 int getLookLength()
          The length of the lookahead or base if this is a fixed length lookahead action.
 int hashCode()
          Calculate hash value.
 boolean isEmittable()
          Return true if code for this is action should be emitted, false if it is a BACK/FORWARD lookahead action.
 boolean isEquiv(Action a)
          Returns true iff the parameter is an Action with the same content as this one.
 boolean isGenLookAction()
          Return true iff this is action belongs to a general lookahead rule.
 int lookAhead()
          Return kind of lookahead.
 java.lang.String lookString()
          String representation of the lookahead kind of this action.
 void setEntryState(int entryState)
          Set the corresponding entry state for the forward DFA of this action (if this is a general lookahead expression)
 void setLookAction(int kind, int data)
          Sets the lookahead kind and data for this action
 java.lang.String toString()
          Returns the String representation of this object.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

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
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 code
priority - 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
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:
toString in class java.lang.Object
Returns:
string representation of the action

isEquiv

public boolean isEquiv(Action a)
Returns true iff 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:
hashCode in class java.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:
equals in class java.lang.Object
Parameters:
o - the other 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.


setLookAction

public void setLookAction(int kind,
                          int data)
Sets the lookahead kind and data for this action

Parameters:
kind - which kind of lookahead it is
data - the length for fixed length look aheads.

getLookLength

public int getLookLength()
The length of the lookahead or base if this is a fixed length lookahead action.


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:
the - entry state for the forward DFA of this action

copyChoice

public Action copyChoice(int length)

lookString

public java.lang.String lookString()
String representation of the lookahead kind of this action.

Returns:
the string representation