Class InfixOPToken
- java.lang.Object
-
- com.tangosol.coherence.dsltools.precedence.OPToken
-
- com.tangosol.coherence.dsltools.precedence.InfixOPToken
-
- Direct Known Subclasses:
LikeOPToken
public class InfixOPToken extends OPToken
InfixOPToken is used to implement infix operators. If enabled it will also do the right thing for unary operators such as + and - which are typically overloaded.- Author:
- djl 2009.03.14
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanm_fPrefixAllowedFlag that control whether the operator can be used as a prefix.-
Fields inherited from class com.tangosol.coherence.dsltools.precedence.OPToken
BINARY_OPERATOR_NODE, BINDING_NODE, CALL_NODE, DEREF_NODE, FIELD_LIST, IDENTIFIER_NODE, LIST_NODE, LITERAL_NODE, m_nBindingPower, m_sLedASTName, m_sNudASTName, m_sValue, PRECEDENCE_ASSIGNMENT, PRECEDENCE_BITWISE, PRECEDENCE_EXPONENT, PRECEDENCE_IDENTIFIER, PRECEDENCE_KEYWORD, PRECEDENCE_LOGICAL, PRECEDENCE_LOGICAL_BITWISE, PRECEDENCE_PARENTHESES, PRECEDENCE_PRODUCT, PRECEDENCE_RELATIONAL, PRECEDENCE_SUM, PRECEDENCE_UNARY, PRECEDENCE_UNARY_POST, UNARY_OPERATOR_NODE
-
-
Constructor Summary
Constructors Constructor Description InfixOPToken(String sId, int nBp)Construct a new InfixOPToken with the given parameters.InfixOPToken(String sId, int nBp, String sASTName)Construct a new InfixOPToken with the given parameters.InfixOPToken(String sId, int nBP, String sLedASTName, String sNudASTName)Construct a new InfixOPToken with the given parameters.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanisPrefixAllowed()Get the flag that control whether the operator can be used as a prefix.Termled(OPParser p, Term leftNode)Process this token and possibly the given leftNodein the context of a parser with the left denotation.Termnud(OPParser p)Process this token in the context of parser p with the null denotation.voidsetPrefixAllowed(boolean fIsPrefix)Set the flag that control whether the operator may be used as a prefix.-
Methods inherited from class com.tangosol.coherence.dsltools.precedence.OPToken
equals, getBindingPower, getId, getLedASTName, getNudASTName, getValue, hashCode, leftBindingPower, newAST, newAST, newAST, newAST, newAST, setBindingPower, setId, setLedASTName, setNudASTName, setValue, toString
-
-
-
-
Constructor Detail
-
InfixOPToken
public InfixOPToken(String sId, int nBp)
Construct a new InfixOPToken with the given parameters.- Parameters:
sId- string identifier for this tokennBp- the binding power for this token
-
InfixOPToken
public InfixOPToken(String sId, int nBp, String sASTName)
Construct a new InfixOPToken with the given parameters.- Parameters:
sId- string representation of the tokennBp- the binding power for this tokensASTName- the name for this tokens AST
-
InfixOPToken
public InfixOPToken(String sId, int nBP, String sLedASTName, String sNudASTName)
Construct a new InfixOPToken with the given parameters.- Parameters:
sId- string representation of the tokennBP- the binding power for this tokensLedASTName- the name for this tokens ASTsNudASTName- the name for this tokens AST
-
-
Method Detail
-
led
public Term led(OPParser p, Term leftNode)
Process this token and possibly the given leftNodein the context of a parser with the left denotation. A led method typically will be interested t in the token to the left. The processing results in an Abstract Syntax Tree Node that captures the meaning
-
nud
public Term nud(OPParser p)
Process this token in the context of parser p with the null denotation. A nud method typically will have no interest in the token to the left. The processing results in an Abstract Syntax Tree Node that captures the meaning
-
isPrefixAllowed
public boolean isPrefixAllowed()
Get the flag that control whether the operator can be used as a prefix.- Returns:
- the string representation
-
setPrefixAllowed
public void setPrefixAllowed(boolean fIsPrefix)
Set the flag that control whether the operator may be used as a prefix.- Parameters:
fIsPrefix- the string representation for the token
-
-