JFlex

Class 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(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

Action
copyChoice(int length)
boolean
equals(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.
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
String
toString()
Returns the String representation of this object.

Field Details

BACKWARD_ACTION

public static final int BACKWARD_ACTION
Action of the backward pass for lookahead
Field Value:
6

FINITE_CHOICE

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

FIXED_BASE

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

FIXED_LOOK

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

FORWARD_ACTION

public static final int FORWARD_ACTION
Action of the 2nd forward pass for lookahead
Field Value:
5

GENERAL_LOOK

public static final int GENERAL_LOOK
Action of a general lookahead expression
Field Value:
4

NORMAL

public static final int NORMAL
A normal action
Field Value:
0

Constructor Details

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

Method Details

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.

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:

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