streamit.frontend.nodes
Class Expression

java.lang.Object
  extended by streamit.frontend.nodes.FENode
      extended by streamit.frontend.nodes.Expression
Direct Known Subclasses:
ExprArray, ExprArrayInit, ExprBinary, ExprComplex, ExprComposite, ExprConstant, ExprConstBoolean, ExprConstChar, ExprConstFloat, ExprConstInt, ExprConstStr, ExprDynamicToken, ExprField, ExprFunCall, ExprHelperCall, ExprJavaConstructor, ExprPeek, ExprPop, ExprRange, ExprTernary, ExprTypeCast, ExprUnary, ExprVar

public abstract class Expression
extends FENode

A generic expression tree, as created in the front-end. Expression nodes often will contain other Expressions as recursive children.

Version:
$Id: Expression.java,v 1.5 2003/10/09 19:50:59 dmaze Exp $
Author:
David Maze <dmaze@cag.lcs.mit.edu&

Constructor Summary
Expression(FEContext context)
           
 
Method Summary
 boolean isLValue()
          Determine if this expression can be assigned to.
 
Methods inherited from class streamit.frontend.nodes.FENode
accept, getContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Expression

public Expression(FEContext context)
Method Detail

isLValue

public boolean isLValue()
Determine if this expression can be assigned to. The C Programming Language refers to expressions that can be assigned to as lvalues, since they can appear on the left-hand side of an assignment statement.

Returns:
true if the expression can appear on the left-hand side of an assignment statement