Namespace QUT.Gppg
Classes
AbstractScanner<TValue, TSpan>
Abstract scanner class that GPPG expects its scanners to extend.
LexLocation
This is the default class that carries location information from the scanner to the parser. If you don't declare "%YYLTYPE Foo" the parser will expect to deal with this type.
PushdownPrefixState<T>
Stack utility for the shift-reduce parser. GPPG parsers have three instances: (1) The parser state stack, T = QUT.Gppg.State, (2) The semantic value stack, T = TValue, (3) The location stack, T = TSpan.
Rule
Rule representation at runtime.
ShiftReduceParser<TValue, TSpan>
Abstract class for GPPG shift-reduce parsers. Parsers generated by GPPG derive from this base class, overriding the abstract Initialize() and DoAction() methods.
State
Encapsulated state for the parser. Opaque to users, visible to the tool-generated code.
Interfaces
IMerge<TSpan>
Classes implementing this interface must supply a method that merges two location objects to return a new object of the same type. GPPG-generated parsers have the default location action equivalent to "@$ = @1.Merge(@N);" where N is the right-hand-side length of the production.