Evaluating Software Design Patterns
— the "Gang of Four" patterns implemented in Java 6

Uses of Package
dk.rode.thesis.interpreter

Packages that use dk.rode.thesis.interpreter
dk.rode.thesis.builder Implementations and examples of the Builder design pattern [Gamma95, p.97]. 
dk.rode.thesis.interpreter Implementations and examples of the Interpreter design pattern [Gamma95, p.243]. 
 

Classes in dk.rode.thesis.interpreter used by dk.rode.thesis.builder
AbstractExpression
          An abstract expression represents the basic traits of any expression.
Context
          A context represents an evaluation context where variables (and constants) are stored during interpretation.
Expression
          An expression represents grammar rules in form or non terminal expressions and actual functionality in form of terminal expressions that will be enforced when the expression is evaluated.
ExpressionException
          An expression exception is thrown in case of context, evaluation, or expression errors.
FlowExpression
          A flow expression represents one or more expressions to be evaluated in order, one at a time.
InitialisableExpression
          An initialisable expression represents an expression that require several steps to be constructed, and hence must be initialised before actual use.
NonTerminalExpression
          A non terminal expression represents a grammar rule, but this interface is a marker interface only as it offers no specific functionality.
TypedExpression
          A typed expression exposes the type of the value its evaluation produces via its TypedExpression.type() method.
VariableExpression
          A variable expression represents an expression that can be assigned a given value, which will be stored in a given context supplied at evaluation time.
 

Classes in dk.rode.thesis.interpreter used by dk.rode.thesis.interpreter
AbstractExpression
          An abstract expression represents the basic traits of any expression.
AndExpression
          A logical and expression for two expressions evaluating to a Boolean value.
AssignmentExpression
          An assignment expression assigns the result of the evaluation of an expression to a variable.
BinaryExpression
          A binary expression represents any expression that involves (at least) two sub-expressions as operands.
BreakExpression
          A break expression allows the interpretation of a given expression syntax-tree to break at the point of the break expression, and possibly continue the interpretation starting from a specified target expression.
CompareExpression
          A compare expression can compare two expressions evaluating to the same Comparable type as smaller than, smaller than or equal, equal, not equal, greater than, or equal or greater than.
CompareExpression.Comparison
          The comparison type to be performed by a compare expression.
ConditionalExpression
          A conditional expression represents an if-then-else expression.
ConstantExpression
          A constant expression represents an expression that can be assigned a constant value.
Context
          A context represents an evaluation context where variables (and constants) are stored during interpretation.
CurrentExpression
          A current expression will invoke current() on a given sequence when evaluated.
EqualExpression
          An equal expression can determine if the result of evaluating two expressions is equal or not, regardless of types.
Expression
          An expression represents grammar rules in form or non terminal expressions and actual functionality in form of terminal expressions that will be enforced when the expression is evaluated.
ExpressionException
          An expression exception is thrown in case of context, evaluation, or expression errors.
FlowExpression
          A flow expression represents one or more expressions to be evaluated in order, one at a time.
InitialisableExpression
          An initialisable expression represents an expression that require several steps to be constructed, and hence must be initialised before actual use.
NextExpression
          A next expression will invoke next() a number of times on a given sequence when evaluated.
NonTerminalExpression
          A non terminal expression represents a grammar rule, but this interface is a marker interface only as it offers no specific functionality.
NotExpression
          A not expression (!)
OrExpression
          A logical or expression for two expressions evaluating to a Boolean value.
ResetExpression
          A reset expression will invoke reset() on a given sequence when evaluated.
ReverseExpression
          A reverse expression will invoke reverse() on a given reversible sequence when evaluated, if so specified and only if possible.
SequenceExpression
          A sequence expression represents a terminal expression used to manipulate a given sequence.
SetExpression
          A set expression will fast-forward the value of a given bounded sequence to match a specific value, if possible.
TerminalExpression
          A terminal expression represents an operation to be performed on a given sequence, but this interface is a marker interface only as it offers no specific functionality.
TypedExpression
          A typed expression exposes the type of the value its evaluation produces via its TypedExpression.type() method.
TypedExpressionDecorator
          A type expression decorator allows any expression to be explicitly associated with the type of the values the evaluation of it will produce.
VariableExpression
          A variable expression represents an expression that can be assigned a given value, which will be stored in a given context supplied at evaluation time.
 


Gunni Rode / rode.dk

Feel free to use and/or modify the Java 6 source code developed for this thesis AT YOUR OWN RISK, but note that the source code comes WITHOUT ANY — and I do mean WITHOUT ANY — form of warranty WHAT SO EVER!

The original thesis and source code are available at rode.dk/thesis.