|
Generic Interpreter 0.9 Private API |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--gi.Grammar.Semantics
This class implements
embedded in productions and evaluated when interpreting.Semantics
Constructor Summary | |
protected |
Grammar.Semantics()
Constructs Semantics . |
Method Summary | |
protected void |
evaluate(Grammar.ParseTree tree)
Evaluates attributes in a ParseTree when interpreting. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait |
Constructor Detail |
protected Grammar.Semantics()
Constructs Semantics
.
Method Detail |
protected void evaluate(Grammar.ParseTree tree) throws Lexicon.Exception
Evaluates attributes in a ParseTree
when interpreting. evaluate
is invoked when a production containing this Semantics
is applied to the ParseTree
. tree
provides the context in which attribute evaluation occurs. tree.symbol
and tree.phrase
are the left- and right-hand side of the production in which this Semantics
is embedded.
During top-down LL(1)
parsing, the ParseTree
is constructed from the top down by leftmost derivation. This is a depth-first left-to-right traversal, in which embedded Semantics
are evaluated when first visited. Evaluation should not depend on attributes produced by Semantics
below or to the right of this Semantics
. In other words, LL parsing supports evaluation of L-attributed semantic specifications.
During bottom-up LR(0)
, SLR(1)
or LR(1)
parsing, the ParseTree
is constructed from the bottom up by reverse rightmost derivation. Embedded Semantics
are evaluated after all subtrees rooted in the phrase to be reduced have been visited.
tree
- the ParseTree
in which attribute evaluation occurs.
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |