|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectfr.umlv.tatoo.runtime.tools.builder.Builder
public class Builder
This class allows to easily create lexer, parser and analyzer (lexer+parser) using a fluent API.
Builder.lexer(lexerTable).reader(reader).listener(lexerListener).create();
LexerBuffer buffer= Builder.lexer(lexerTable).buffer(buffer).listener(lexerListener).create();
RuleActivator<...> activator= Builder.lexer(lexerTable).reader(reader).listener(lexerListener).activator(activator).create();
LexerErrorRecoveryPolicy<...> lexerErrorPolicy= Builder.lexer(lexerTable).reader(reader).listener(lexerListener).expert().errorPolicy(LexerErrorRecoveryPolicy).create();
Parser<...> parser=... ToolsTable<...> toolsTable=... Builder.lexer(lexerTable).reader(reader).listener(lexerListener).expert().parser(parser, toolsTable).create();
Builder.parser(parserTable).listener(parserListener).create();
Builder.parser(parserTable).listener(parserListener).start(startNonTerminal).version(version).create();
ParserErrorRecoveryPolicy<...> errorPolicy=... Builder.parser(parserTable).listener(parserListener).expert().errorPolicy(errorPolicy).create();
Builder.analyzer(lexerTable,parserTable,toolsTable).reader(reader).listener(analyzerListener).create();
ToolsListener<...> toolsListener=... Builder.analyzer(lexerTable,parserTable,toolsTable).reader(reader).listener(toolsListener).create();
| Nested Class Summary | |
|---|---|
static class |
Builder.AnalyzerBufferBuilder<R,B extends LexerBuffer,T,N,P,V>
|
static class |
Builder.AnalyzerBuilder<R,B extends LexerBuffer,T,N,P,V>
|
static class |
Builder.AnalyzerFromParserBuilder<R,B extends LexerBuffer,T,N,P,V>
|
static class |
Builder.AnalyzerTableBuilder<R,T,N,P,V>
|
static class |
Builder.BranchAnalyzerBuilder<R,B extends LexerBuffer,T,N,P,V>
|
static class |
Builder.ExpertAnalyzerBuilder<R,B extends LexerBuffer,T,N,P,V>
|
static class |
Builder.ExpertLexerBuilder<R,B extends LexerBuffer>
A lexer builder that configures the error policy and lifecycle handler of the lexer. |
static class |
Builder.ExpertParserBuilder<T,N,P,V>
|
static class |
Builder.LexerBufferBuilder<R,B extends LexerBuffer>
A lexer builder that configure the listener of the lexer. |
static class |
Builder.LexerBuilder<R,B extends LexerBuffer>
A lexer builder that is able to set an activator, create a lexer or create a new builder in expert mode. |
static class |
Builder.LexerTableBuilder<R>
A lexer builder that configures the buffer of the lexer. |
static class |
Builder.ParserBuilder<T,N,P,V>
A parser builder able to configure the version of the grammar and the start non terminal that will be used by the parser. |
static class |
Builder.ParserTableBuilder<T,N,P,V>
Parser builder that is able to configure a parser listener. |
| Method Summary | ||
|---|---|---|
static
|
analyzer(LexerTable<R> lexerTable,
ParserTable<T,N,P,V> parserTable,
ToolsTable<R,T> toolsTable)
|
|
static
|
lexer(LexerTable<R> lexerTable)
Creates a lexer builder from a lexer table. |
|
static
|
parser(ParserTable<T,N,P,V> parserTable)
Creates a parser builder from a parser table. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public static <R> Builder.LexerTableBuilder<R> lexer(LexerTable<R> lexerTable)
R - type of the rules.lexerTable - a lexer table
IllegalArgumentException - if the lexerTable is null.public static <T,N,P,V> Builder.ParserTableBuilder<T,N,P,V> parser(ParserTable<T,N,P,V> parserTable)
T - type of terminals.N - type of non-terminals.P - type of productions.V - type of versions.parserTable - a parser table.
IllegalArgumentException - if the lexerTable is null.public static <R,T,N,P,V> Builder.AnalyzerTableBuilder<R,T,N,P,V> analyzer(LexerTable<R> lexerTable, ParserTable<T,N,P,V> parserTable, ToolsTable<R,T> toolsTable)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||