Absimpa v196

Package absimpa

Abstract Simple Parser.

See:
          Description

Interface Summary
Lexer<N,TokenCode extends Enum<TokenCode>> defines the interface to a lexical analyzer (lexer) needed by the Parser.
NodeFactory<N> creates a new N from a list of N objects provided by a parser.
Parser<N,C extends Enum<C>> parses input in the form of token codes as provided by a lexical analyzer and constructs result objects.
 

Class Summary
BNF<N,C extends Enum<C>> is an alternative to GrammarBuilder to create a grammar by providing a string syntax resembling Backus Naur Form (BNF) to build recursive grammars.
Choice<N,C extends Enum<C>>  
Grammar<N,C extends Enum<C>> The Grammar describes a language made of sequences of C objects provided by a Lexer.
GrammarBuilder<N,C extends Enum<C>> helps to build a Grammar for a language made from objects of type C.
Recurse<N,C extends Enum<C>>  
Repeat<N,C extends Enum<C>>  
Sequence<N,C extends Enum<C>> is a grammar to recognize a sequence of child grammars.
TokenGrammar<N,C extends Enum<C>> a grammar to recognize a single token.
Util the typical set of static utility methods.
 

Exception Summary
LeftRecursiveException thrown by Grammar.compile().
LookaheadConflictException thrown by Grammar.compile().
ParseException The parser may throw a ParseException, but it does not create it itself.
 

Package absimpa Description

Abstract Simple Parser. Your start to building a grammar is the class GrammarBuilder.


Absimpa v196