Class Var<T>
- Type Parameters:
T
- the type wrapped by this Var
- Direct Known Subclasses:
StringBuilderVar
,StringVar
This class provides a "local variable"-like construct for action expressions in parser rule methods.
Var
Var
When rule method A() passes a Var defined in its scope to another rule method B() as a parameter and an action
in rule method B() writes to this Var all actions in rule method A() running after B() will "see" this newly written
value (since values in Var
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Provides a new frame for the variable.boolean
Exits a frame previously entered withenterFrame()
.int
getLevel()
Returns the current frame level of this variable, the very first level corresponding to zero.getName()
Gets the name of this Var.void
Sets the name of this Var.toString()
-
Constructor Details
-
Var
public Var()Initializes a new Var with a null initial value. -
Var
Initializes a new Var with the given initial value.- Parameters:
value
- the value
-
Var
Initializes a new Var. The given factory will be used to create the initial value for each "execution frame" of the enclosing rule.- Parameters:
initialValueFactory
- the factory used to create the initial value for a rule execution frame
-
-
Method Details
-
getName
Gets the name of this Var.- Returns:
- the name
-
setName
Sets the name of this Var.- Parameters:
name
- the name
-
getLevel
public int getLevel()Returns the current frame level of this variable, the very first level corresponding to zero.- Returns:
- the current level
-
enterFrame
public boolean enterFrame()Provides a new frame for the variable. Potentially existing previous frames are saved. Normally you do not have to call this method manually as parboiled provides for automatic Var frame management.- Returns:
- true
-
exitFrame
public boolean exitFrame()Exits a frame previously entered withenterFrame()
. Normally you do not have to call this method manually as parboiled provides for automatic Var frame management.- Returns:
- true
-
toString
-