JFlex

Class Action

public final class Action extends 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 intBACKWARD_ACTION
Action of the backward pass for lookahead
static intFINITE_CHOICE
Action of a lookahead expression r1/r2 with a finite choice of fixed lengths in r2
static intFIXED_BASE
Action of a lookahead expression r1/r2 with fixed length r1
static intFIXED_LOOK
Action of a lookahead expression r1/r2 with fixed length r2
static intFORWARD_ACTION
Action of the 2nd forward pass for lookahead
static intGENERAL_LOOK
Action of a general lookahead expression
static intNORMAL
A normal action
Constructor Summary
Action(String content, int priority)
Creates a new Action object with specified content and line number.
Action(int kind)
Creates a new Action object of the specified kind.
Method Summary
ActioncopyChoice(int length)
booleanequals(Object o)
Test for equality to another object.
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)
Returns true iff 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.
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 action
StringtoString()
Returns the String representation of this object.

Field Detail

BACKWARD_ACTION

public static final int BACKWARD_ACTION
Action of the backward pass for lookahead

FINITE_CHOICE

public static final int FINITE_CHOICE
Action of a lookahead expression r1/r2 with a finite choice of fixed lengths in r2

FIXED_BASE

public static final int FIXED_BASE
Action of a lookahead expression r1/r2 with fixed length r1

FIXED_LOOK

public static final int FIXED_LOOK
Action of a lookahead expression r1/r2 with fixed length r2

FORWARD_ACTION

public static final int FORWARD_ACTION
Action of the 2nd forward pass for lookahead

GENERAL_LOOK

public static final int GENERAL_LOOK
Action of a general lookahead expression

NORMAL

public static final int NORMAL
A normal action

Constructor Detail

Action

public Action(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

copyChoice

public Action copyChoice(int length)

equals

public boolean equals(Object o)
Test for equality to another object. This action equals another object if the other object is an equivalent action.

Parameters: o the other object.

See Also: isEquiv

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)

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.

getLookLength

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

hashCode

public int hashCode()
Calculate hash value.

Returns: a hash value for this Action

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.

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

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.

lookAhead

public int lookAhead()
Return kind of lookahead.

lookString

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

Returns: the string representation

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

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.

toString

public String toString()
Returns the String representation of this object.

Returns: string representation of the action