ptolemy.data.expr
Interface ParserScope

All Known Implementing Classes:
AbstractPtalonEvaluator.PtalonExpressionScope, CodeGeneratorHelper.VariableScope, ExplicitScope, Expression.VariableScope, Expression.VariableScope, Expression.VariableScope, ExpressionToToken.ExpressionScope, FSMActor.PortScope, FSMActor.PortScope, FSMActor.PortScope, FSMActor.PortScope, FSMActor.PortScope, GTParameter.Scope, ModelScope, NamedConstantsScope, NestedScope, PSDFScheduler.ScheduleScope, Variable.VariableScope, VariableScope

public interface ParserScope

An interface used by the expression parser for identifier lookup.

An object implementing this interface represents the set of identifiers that can be used in an expression being evaluated.

Version:
$Id: ParserScope.java 47513 2007-12-07 06:32:21Z cxh $
Author:
Xiaojun Liu, Steve Neuendorffer
See Also:
PtParser

Method Summary
 Token get(java.lang.String name)
          Look up and return the value with the specified name in the scope.
 Type getType(java.lang.String name)
          Look up and return the type of the value with the specified name in the scope.
 InequalityTerm getTypeTerm(java.lang.String name)
          Look up and return the type term for the specified name in the scope.
 java.util.Set identifierSet()
          Return a list of names corresponding to the identifiers defined by this scope.
 

Method Detail

get

Token get(java.lang.String name)
          throws IllegalActionException
Look up and return the value with the specified name in the scope. Return null if the name is not defined in this scope.

Parameters:
name - The name of the variable to be looked up.
Returns:
The token associated with the given name in the scope.
Throws:
IllegalActionException - If a value in the scope exists with the given name, but cannot be evaluated.

getType

Type getType(java.lang.String name)
             throws IllegalActionException
Look up and return the type of the value with the specified name in the scope. Return null if the name is not defined in this scope.

Parameters:
name - The name of the variable to be looked up.
Returns:
The token associated with the given name in the scope.
Throws:
IllegalActionException - If a value in the scope exists with the given name, but cannot be evaluated.

getTypeTerm

InequalityTerm getTypeTerm(java.lang.String name)
                           throws IllegalActionException
Look up and return the type term for the specified name in the scope. Return null if the name is not defined in this scope, or is a constant type.

Parameters:
name - The name of the variable to be looked up.
Returns:
The InequalityTerm associated with the given name in the scope.
Throws:
IllegalActionException - If a value in the scope exists with the given name, but cannot be evaluated.

identifierSet

java.util.Set identifierSet()
                            throws IllegalActionException
Return a list of names corresponding to the identifiers defined by this scope. If an identifier is returned in this list, then get() and getType() will return a value for the identifier. Note that generally speaking, this list is extremely expensive to compute, and users should avoid calling it. It is primarily used for debugging purposes.

Returns:
A list of names corresponding to the identifiers defined by this scope.
Throws:
IllegalActionException - If constructing the list causes it.