com.satline.expr.compiler
Class ExpressionCompiler

java.lang.Object
  extended by com.satline.expr.compiler.ExpressionCompiler

public class ExpressionCompiler
extends java.lang.Object

Author:
tomas

Field Summary
protected  java.util.Locale locale
           
protected  int nextToken
           
static int PRESERVE_NEWLINES_IN_STRINGS
           
protected  java.lang.String[] tokenStream
           
 
Constructor Summary
ExpressionCompiler(java.lang.String expr, java.util.Locale locale, int options)
           
 
Method Summary
protected  java.lang.Class<? extends BinaryTerm> additionOperator(java.lang.String string)
           
protected  java.lang.Class<? extends BinaryTerm> comparisonOperator(java.lang.String string)
           
protected  java.lang.String currentToken()
           
protected  java.lang.String followingToken()
           
protected  java.lang.Class<? extends FunctionCall> function(java.lang.String name)
           
protected  java.util.List<java.lang.String> getTokenStream(java.lang.String expr, int options)
           
protected  java.lang.Class<? extends BinaryTerm> multiplicationOperator(java.lang.String string)
           
protected  java.lang.Class<? extends FunctionCall> noArgFunction(java.lang.String name)
           
protected  Expression parse()
           
static Expression parse(java.lang.String expr, java.util.Locale locale, int options)
           
protected  Expression parseAddition()
           
protected  Expression parseAnd()
           
protected  Expression parseAtom()
           
protected  Expression parseComparison()
           
protected  Expression parseMultiplication()
           
protected  Expression parseOr()
           
protected  Expression parseUnaryTerm()
           
protected  Expression resolveName(java.lang.String name)
           
protected  java.lang.Class<? extends UnaryTerm> unaryFunction(java.lang.String name)
           
protected  java.lang.Class<? extends UnaryTerm> unaryPostfix(java.lang.String string)
           
protected  java.lang.Class<? extends UnaryTerm> unaryPrefix(java.lang.String string)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PRESERVE_NEWLINES_IN_STRINGS

public static final int PRESERVE_NEWLINES_IN_STRINGS
See Also:
Constant Field Values

locale

protected java.util.Locale locale

tokenStream

protected java.lang.String[] tokenStream

nextToken

protected int nextToken
Constructor Detail

ExpressionCompiler

public ExpressionCompiler(java.lang.String expr,
                          java.util.Locale locale,
                          int options)
                   throws ExpressionException
Throws:
ExpressionException
Method Detail

getTokenStream

protected java.util.List<java.lang.String> getTokenStream(java.lang.String expr,
                                                          int options)
                                                   throws ExpressionException
Throws:
ExpressionException

currentToken

protected java.lang.String currentToken()

followingToken

protected java.lang.String followingToken()

parse

protected Expression parse()
                    throws ExpressionException
Throws:
ExpressionException

parseOr

protected Expression parseOr()
                      throws ExpressionException
Returns:
Throws:
ExpressionException

parseAnd

protected Expression parseAnd()
                       throws ExpressionException
Returns:
Throws:
ExpressionException

parseComparison

protected Expression parseComparison()
                              throws ExpressionException
Returns:
Throws:
ExpressionException

comparisonOperator

protected java.lang.Class<? extends BinaryTerm> comparisonOperator(java.lang.String string)
Parameters:
string -
Returns:

parseAddition

protected Expression parseAddition()
                            throws ExpressionException
Returns:
Throws:
ExpressionException

additionOperator

protected java.lang.Class<? extends BinaryTerm> additionOperator(java.lang.String string)
Parameters:
string -
Returns:

parseMultiplication

protected Expression parseMultiplication()
                                  throws ExpressionException
Returns:
Throws:
ExpressionException

multiplicationOperator

protected java.lang.Class<? extends BinaryTerm> multiplicationOperator(java.lang.String string)
Parameters:
string -
Returns:

parseUnaryTerm

protected Expression parseUnaryTerm()
                             throws ExpressionException
Returns:
Throws:
ExpressionException

unaryPostfix

protected java.lang.Class<? extends UnaryTerm> unaryPostfix(java.lang.String string)
Parameters:
string -
Returns:

unaryPrefix

protected java.lang.Class<? extends UnaryTerm> unaryPrefix(java.lang.String string)
Parameters:
string -
Returns:

parseAtom

protected Expression parseAtom()
                        throws ExpressionException
Returns:
Throws:
ExpressionException

resolveName

protected Expression resolveName(java.lang.String name)
                          throws ExpressionException
Throws:
ExpressionException

noArgFunction

protected java.lang.Class<? extends FunctionCall> noArgFunction(java.lang.String name)
Parameters:
name -
Returns:

unaryFunction

protected java.lang.Class<? extends UnaryTerm> unaryFunction(java.lang.String name)
Parameters:
name -
Returns:

function

protected java.lang.Class<? extends FunctionCall> function(java.lang.String name)
Parameters:
name -
Returns:

parse

public static Expression parse(java.lang.String expr,
                               java.util.Locale locale,
                               int options)
                        throws ExpressionException
Throws:
ExpressionException


Copyright © 2007 null. All Rights Reserved.