SFE.Compiler
Class Lvalue

java.lang.Object
  extended by SFE.Compiler.Lvalue
Direct Known Subclasses:
ArrayEntryLvalue, BitLvalue, StructFieldLvalue, VarLvalue

public abstract class Lvalue
extends java.lang.Object

Abstract class that Defines an entity that can appear on the LHS of an assignment.


Constructor Summary
Lvalue()
           
 
Method Summary
 java.util.Vector getDerivedLvalues()
          Returns a vector of all the derived lvalue of this type.
abstract  java.lang.String getName()
          Returns the name of the lvalue of this object.
abstract  Type getType()
          Returns the Type of this Lvalue object.
 boolean hasDerives()
          Returns true iff this lvalue's type has derives lvalues/types.
 boolean isOutput()
          Returns true is the variable is a part out the circuit's output.
 void notOutput()
          sets this lvalue as a pin that is exported outsite this circuit.
abstract  int size()
          Returns the size of this Lvalue object in bits.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Lvalue

public Lvalue()
Method Detail

isOutput

public boolean isOutput()
Returns true is the variable is a part out the circuit's output.

Returns:
true is the variable is a part out the circuit's output.

notOutput

public void notOutput()
sets this lvalue as a pin that is exported outsite this circuit.


getType

public abstract Type getType()
Returns the Type of this Lvalue object.

Returns:
the Type of this lvalue object.

size

public abstract int size()
Returns the size of this Lvalue object in bits.

Returns:
an integer representing size of this lvalue object in bits.

getName

public abstract java.lang.String getName()
Returns the name of the lvalue of this object.

Returns:
a string representing this lvalue's name.

getDerivedLvalues

public java.util.Vector getDerivedLvalues()
Returns a vector of all the derived lvalue of this type. type that should return more then one lvalue (derived from the type itself) in the vector must overide this method.

Returns:
a vector of all the derived lvalue of this type.

hasDerives

public boolean hasDerives()
Returns true iff this lvalue's type has derives lvalues/types.

Returns:
true iff this lvalue's type has derives lvalues/types.