Uses of Class
edu.iu.cnets.klatsch.expression.Expression

Packages that use Expression
edu.iu.cnets.klatsch.expression   
edu.iu.cnets.klatsch.lang   
edu.iu.cnets.klatsch.parser   
 

Uses of Expression in edu.iu.cnets.klatsch.expression
 

Subclasses of Expression in edu.iu.cnets.klatsch.expression
 class EAdd
          Addition expression.
 class EAnd
          Logical AND expression.
 class EAssign
          This class is used to represent variable assignments.
 class EBlock
          This class is used to represent block (BEGIN ...
 class ECall
          This class is used to represent function calls.
 class ECallMethod
          This class is used to represent function calls.
 class EDictionary
          This expression is a dictionary literal { k0:v0, ...
 class EDivide
          Division expression.
 class EDo
          This class is used to represent DO/WHILE loops.
 class EFor
          This class is used to represent FOR/IN loops.
 class EIf
          This class is used to represent conditional (IF) expressions.
 class EList
          This expression is a list literal [e0, ...].
 class ELValue
          This class is used to represent assignable locations.
 class EModulus
          Modulus expression.
 class EMultiply
          Multiplication expression.
 class ENegate
          This is a negation expression.
 class ENot
          This is a logical NOT expression.
 class ENumber
          This expression is a numeric literal.
 class EOr
          Logical OR expression.
 class EParen
          This is a parenthetical expression.
 class EPower
          Exponentiation expression.
 class EProcedure
          This class is used to represent procedure definitions, which evaluate to closures.
 class ERelational
          Relational expression.
 class EString
          This expression is a string literal.
 class ESubtract
          Subtraction expression.
 class EWhile
          This class is used to represent WHILE loops.
 

Fields in edu.iu.cnets.klatsch.expression declared as Expression
(package private)  Expression EParen.exp
           
(package private)  Expression ENot.exp
           
(package private)  Expression ENegate.exp
           
(package private)  Expression EModulus.expA
           
(package private)  Expression EAnd.expA
           
(package private)  Expression ERelational.expA
           
(package private)  Expression EAdd.expA
           
(package private)  Expression EDivide.expA
           
(package private)  Expression EOr.expA
           
(package private)  Expression ESubtract.expA
           
(package private)  Expression EMultiply.expA
           
(package private)  Expression[] ECallMethod.expArgs
           
(package private)  Expression[] ECall.expArgs
           
(package private)  Expression EModulus.expB
           
(package private)  Expression EAnd.expB
           
(package private)  Expression ERelational.expB
           
(package private)  Expression EAdd.expB
           
(package private)  Expression EDivide.expB
           
(package private)  Expression EOr.expB
           
(package private)  Expression ESubtract.expB
           
(package private)  Expression EMultiply.expB
           
(package private)  Expression EPower.expBase
           
(package private)  Expression EDo.expBody
           
(package private)  Expression EWhile.expBody
           
(package private)  Expression EProcedure.expBody
           
(package private)  Expression EFor.expBody
           
(package private)  Expression EIf.expElse
           
(package private)  Expression EPower.expExp
           
(package private)  Expression ECall.expFunc
           
 Expression Pair.expKey
           
(package private)  Expression[] EList.expList
           
(package private)  Expression[] EBlock.expList
           
(package private)  Expression ECallMethod.expObj
           
(package private)  Expression EFor.expStream
           
(package private)  Expression EDo.expTest
           
(package private)  Expression EWhile.expTest
           
(package private)  Expression EIf.expTest
           
(package private)  Expression EIf.expThen
           
(package private)  Expression EAssign.expVal
           
 Expression Pair.expVal
           
 

Constructors in edu.iu.cnets.klatsch.expression with parameters of type Expression
EAdd(Expression expA, Expression expB)
           
EAnd(Expression expA, Expression expB)
           
EAssign(Expression expVar, Expression expVal)
           
EBlock(Expression[] expList)
           
ECall(Expression expFunc, Expression[] expArgs)
           
ECall(Expression expFunc, Expression[] expArgs)
           
ECallMethod(Expression expObj, java.lang.String method, Expression[] expArgs)
           
ECallMethod(Expression expObj, java.lang.String method, Expression[] expArgs)
           
EDivide(Expression expA, Expression expB)
           
EDo(Expression expTest, Expression expBody)
           
EFor(java.lang.String id, Expression expStream, Expression expBody)
           
EIf(Expression expTest, Expression expThen)
           
EIf(Expression expTest, Expression expThen, Expression expElse)
           
EList(Expression[] expList)
           
EModulus(Expression expA, Expression expB)
           
EMultiply(Expression expA, Expression expB)
           
ENegate(Expression exp)
           
ENot(Expression exp)
           
EOr(Expression expA, Expression expB)
           
EParen(Expression exp)
           
EPower(Expression expBase, Expression expExp)
           
EProcedure(java.lang.String[] idList, Expression expBody)
           
ERelational(ERelational.Type type, Expression expA, Expression expB)
           
ESubtract(Expression expA, Expression expB)
           
EWhile(Expression expTest, Expression expBody)
           
Pair(Expression expKey, Expression expVal)
           
 

Uses of Expression in edu.iu.cnets.klatsch.lang
 

Fields in edu.iu.cnets.klatsch.lang declared as Expression
(package private)  Expression VClosure.bodyExp
           
 

Constructors in edu.iu.cnets.klatsch.lang with parameters of type Expression
VClosure(java.lang.String[] idList, Expression bodyExp, Runtime env)
          Initializes a new closure.
 

Uses of Expression in edu.iu.cnets.klatsch.parser
 

Methods in edu.iu.cnets.klatsch.parser that return Expression
 Expression[] Parser.read()
          Attempts to read a program from the token stream.
private  Expression Parser.readExp0()
          [exp0] ::= [exp1] | [exp1] = [expression]
private  Expression Parser.readExp1()
          [exp1] ::= [exp2] | [exp2] && [exp1]
private  Expression Parser.readExp10()
          [exp10] ::= [exp11] | [exp11] ( [exp-list] ) | [exp11] .
private  Expression Parser.readExp11()
          [exp11] ::= [literal] | [lvalue] | ( [expression] )
private  Expression Parser.readExp2()
          [exp2] ::= [exp3] | [exp3] && [exp2]
private  Expression Parser.readExp3()
          [exp3] ::= [exp4] | ! [exp3]
private  Expression Parser.readExp4()
          [exp4] ::= [exp5] | [exp5] == [exp4] | [exp5] != [exp4]
private  Expression Parser.readExp5()
          [exp5] ::= [exp6] | [exp6] < [exp5] | [exp6] <= [exp5] | [exp6] > [exp5] | [exp6] >= [exp5]
private  Expression Parser.readExp6()
          [exp6] ::= [exp7] | [exp7] + [exp6] | [exp7] - [exp6]
private  Expression Parser.readExp7()
          [exp7] ::= [exp8] | [exp8] * [exp7] | [exp8] / [exp7] | [exp8] % [exp7]
private  Expression Parser.readExp8()
          [exp8] ::= [exp9] | + [exp8] | - [exp8]
private  Expression Parser.readExp9()
          [exp9] ::= [exp10] | [exp10] ** [exp9]
private  Expression Parser.readExpression()
          [expression] ::= [exp0] | [if] | [begin] | [proc] | [while] | [do] | [for]
private  Expression[] Parser.readExpressionList()
          [exp-list] ::= @ | [expression] , [exp-list]
private  Expression Parser.readLiteral()
          [literal] ::= [STRING] | [NUMBER] | [set] | [list]
private  Expression Parser.readLValue()
          [lvalue] ::= [ID]
private  Expression[] Parser.readProgram()
          [program] ::= @ | [expression] ; [program]