org.millscript.millscript.syntax
Class RelationalOperationSyntax

java.lang.Object
  extended by org.millscript.millscript.syntax.Syntax
      extended by org.millscript.millscript.syntax.PostfixSyntax
          extended by org.millscript.millscript.syntax.RelationalOperationSyntax
All Implemented Interfaces:
PostfixSyntaxInterface

public class RelationalOperationSyntax
extends PostfixSyntax

This class represents infix syntax, a variant of postfix syntax. This is used in situations where the syntax sits 'in'-between its arguments and maps to a function call. The syntax follows the form:

<expr> S <expr>

which is very similar to the SimplePostfixSyntax, but it maps to a function call(actually an ApplyExpr). e.g. it's almost the equivalent of writing:

S( <expr>, <expr> )

To implement a new piece of infix syntax simply requires that you create a new function and map it to the relevant symbol in the Parser.

See Also:
ApplyExpr

Constructor Summary
RelationalOperationSyntax()
           
 
Method Summary
 Expr postfix(java.lang.String sym, int prec, Expr lhs, Parser parser)
          Parse the syntax for the specified symbol, using the specified Parser.
 
Methods inherited from class org.millscript.millscript.syntax.PostfixSyntax
getPrecedence, setPrec
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RelationalOperationSyntax

public RelationalOperationSyntax()
Method Detail

postfix

public Expr postfix(java.lang.String sym,
                    int prec,
                    Expr lhs,
                    Parser parser)
Description copied from interface: PostfixSyntaxInterface
Parse the syntax for the specified symbol, using the specified Parser. The symbol is specified because different symbols may share the same syntax, but result in slightly different expressions. The Parser is supplied as the source to parse from. As this is postfix syntax, we are also supplied the expression on the left hand side of the symbol along with the current precedence we should parse to.

Specified by:
postfix in interface PostfixSyntaxInterface
Specified by:
postfix in class PostfixSyntax
Parameters:
sym - the symbol to parse this syntax for
prec - the current precedence we should parse to
lhs - the expression on the left hand side of the specified symbol
parser - Parser to parse from, i.e. the source to parse from
Returns:
an expression for this syntax
See Also:
PostfixSyntaxInterface.postfix(java.lang.String, int, org.millscript.millscript.expr.Expr, org.millscript.millscript.syntax.Parser)


Copyright © 2001-2007 Open World Ltd. All Rights Reserved.