A B C D E F G H I J L M N O P R S T U V W X

A

AbstractParserTables - class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables.
Base class for all parser tables.
AbstractParserTables() - Constructor for class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
Serializable constructor.
ACCEPT - Static variable in interface fri.patterns.interpreter.parsergenerator.ParserTables
Special symbol occuring in a parser table, 0, means: syntax was correct when coming to that cell.
add(int) - Method in class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxSeparation.IntArray
 
addIgnoringConsumer(String, Consumer) - Method in class fri.patterns.interpreter.parsergenerator.lexer.Strategy
Adds a Consumer to list of possible consumers.
addRightSymbol(String) - Method in class fri.patterns.interpreter.parsergenerator.syntax.Rule
 
addRule(Rule) - Method in class fri.patterns.interpreter.parsergenerator.syntax.Syntax
Appends a new rule to this Syntax.
addTokenConsumer(String, Consumer) - Method in class fri.patterns.interpreter.parsergenerator.lexer.Strategy
Adds a Consumer to list of possible consumers producing valid tokens.
addTokenListener(Lexer.TokenListener) - Method in interface fri.patterns.interpreter.parsergenerator.Lexer
Installs a TokenListener that wants to know about every read Token, even it is ignored.
addTokenListener(Lexer.TokenListener) - Method in class fri.patterns.interpreter.parsergenerator.lexer.LexerImpl
Implements Lexer.
appendRules(List) - Method in class fri.patterns.interpreter.parsergenerator.syntax.Syntax
Append rules to this syntax.
appendToRule(String[], List) - Static method in class fri.patterns.interpreter.parsergenerator.syntax.SyntaxUtil
Appends the rule array to receiving List.
appendToSyntax(String[][], List) - Static method in class fri.patterns.interpreter.parsergenerator.syntax.SyntaxUtil
Appends the syntax array to receiving List.
ARTIFICIAL_NONTERMINAL_START_CHARACTER - Static variable in class fri.patterns.interpreter.parsergenerator.Token
The character used to mark artificial nonterminal (e.g. made from "prolog?").

B

buildAndStoreLexer(Object, String, List, List) - Method in class fri.patterns.interpreter.parsergenerator.builder.SerializedLexer
Builds a lexer from passed syntax and stores it to a File (when PRODUCTION is true, this is default).
buildAndStoreParserTables(Class, Syntax, Object, String) - Method in class fri.patterns.interpreter.parsergenerator.builder.SerializedTables
 
BUTNOT - Static variable in class fri.patterns.interpreter.parsergenerator.Token
Symbol used to define lexer character set intersections, e.g.

C

Calculator - class fri.patterns.interpreter.parsergenerator.examples.Calculator.
Calculator for arithmetic expressions, showing the elegance of ReflectSemantic.
Calculator() - Constructor for class fri.patterns.interpreter.parsergenerator.examples.Calculator
 
catenizeRules(String[][][]) - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Catenizes some rule sets to one rule set.
catenizeRules(String[][][]) - Static method in class fri.patterns.interpreter.parsergenerator.syntax.SyntaxUtil
Build together some syntaxes to one List of Lists.
catenizeRulesUnique(String[][][]) - Static method in class fri.patterns.interpreter.parsergenerator.syntax.SyntaxUtil
Build together some syntaxes to one List of Lists.
CELLWIDTH - Static variable in class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
Helper for the cell width of printed tables.
CHAR_QUOTE - Static variable in class fri.patterns.interpreter.parsergenerator.Token
Delimiter for literal terminal.
charConsumers - Variable in class fri.patterns.interpreter.parsergenerator.lexer.LexerBuilder
 
chardefRules - Static variable in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules describing C/Java-like character definitions: 'c', '\r', '\007'.
CLASSFILE_SUFFIX - Static variable in class fri.patterns.interpreter.parsergenerator.builder.CompiledTables
Deprecated. The suffix for compiled ParserTables files.
clear() - Method in interface fri.patterns.interpreter.parsergenerator.Lexer
Reset the Lexer for another pass.
clear() - Method in class fri.patterns.interpreter.parsergenerator.lexer.LexerImpl
Implements Lexer: Does nothing as no states are stored.
column - Variable in class fri.patterns.interpreter.parsergenerator.Token.Address
The column number (0-n).
COMMAND_QUOTE - Static variable in class fri.patterns.interpreter.parsergenerator.Token
Delimiter for lexer rules (terminal).
compareTo(Object) - Method in class fri.patterns.interpreter.parsergenerator.Token.Range
 
compareTo(Object) - Method in class fri.patterns.interpreter.parsergenerator.Token.Address
 
compareTo(Object) - Method in class fri.patterns.interpreter.parsergenerator.lexer.Strategy.Item
Implements Comparable: delegates to character consumer.
compile(String) - Method in class fri.patterns.interpreter.parsergenerator.builder.CompiledTables
Deprecated. Aufruf des Sun-Compilers.
CompiledTables - class fri.patterns.interpreter.parsergenerator.builder.CompiledTables.
Deprecated. in favor of serialization
CompiledTables() - Constructor for class fri.patterns.interpreter.parsergenerator.builder.CompiledTables
Deprecated. Creates a parser tables factory that uses compiled tables as buffer.
CompiledTables(boolean) - Constructor for class fri.patterns.interpreter.parsergenerator.builder.CompiledTables
Deprecated. Creates a parser tables factory that uses compiled tables as buffer.
construct(Class, Syntax) - Static method in class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
Factory to build precompiled parser tables, or construct them from scratch.
consume(InputText) - Method in class fri.patterns.interpreter.parsergenerator.lexer.Strategy.Item
Consumes from input by delegating to contained consumer, stores the result.
consume(InputText, int, Map) - Method in class fri.patterns.interpreter.parsergenerator.lexer.Strategy
Liefert null wenn kein consumer den input lesen kann, sonst den laengstmoeglichen gescannten Text.
Consumer.Reference - class fri.patterns.interpreter.parsergenerator.lexer.Consumer.Reference.
Marker class for references that must be resolved after building consumers.
contains(int) - Method in class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxSeparation.IntArray
 
convert(char) - Static method in class fri.patterns.interpreter.parsergenerator.util.SymbolToName
Returns a symbolic name for passed symbol, e.g.
createStartNode(Nullable, FirstSets) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.LRParserTables
Factory method: constructing a root node for LR syntax nodes.
createStartNode(Nullable, FirstSets) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.LALRParserTables
Factory method: constructing a root node for LALR syntax nodes.
createToken(String, ResultTree, LexerSemantic) - Method in class fri.patterns.interpreter.parsergenerator.lexer.LexerImpl
Token factory method.
createToken(String, String, Token.Range) - Method in class fri.patterns.interpreter.parsergenerator.lexer.LexerImpl
Token factory method.
CStyleCommentStrip - class fri.patterns.interpreter.parsergenerator.lexer.examples.CStyleCommentStrip.
Sample for a Lexer built from blocks of StandardLexerRules.
CStyleCommentStrip(Reader, Writer) - Constructor for class fri.patterns.interpreter.parsergenerator.lexer.examples.CStyleCommentStrip
Stripping C-style comments from an input reader and writing to output writer.

D

DEBUG - Static variable in class fri.patterns.interpreter.parsergenerator.lexer.LexerBuilder
 
DEBUG - Static variable in class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxSeparation
 
detectError(Token, Integer, Integer) - Method in class fri.patterns.interpreter.parsergenerator.Parser
Called after parse loop to determine if everything was OK.
digitRules - Static variable in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Numerical rules for binary and octal digits.
doSemantic(Rule, List, List) - Method in interface fri.patterns.interpreter.parsergenerator.Semantic
Called by every REDUCE step.
doSemantic(Rule, List, List) - Method in class fri.patterns.interpreter.parsergenerator.semantics.TreeBuilderSemantic
Implements Semantic to store every node of the syntax tree with rule and values.
doSemantic(Rule, List, List) - Method in class fri.patterns.interpreter.parsergenerator.semantics.ReflectSemantic
Tries to find a method with same name as left side of rule and number of arguments as much as elements in inputTokens list.
doSemantic(Rule, List, List) - Method in class fri.patterns.interpreter.parsergenerator.semantics.PrintSemantic
 
doSemantic(Rule, List, List) - Method in class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxBuilderSemantic
 
DtdLexer - class fri.patterns.interpreter.parsergenerator.examples.DtdLexer.
Example DTD parser.
DtdLexer() - Constructor for class fri.patterns.interpreter.parsergenerator.examples.DtdLexer
 
dump(PrintStream) - Method in interface fri.patterns.interpreter.parsergenerator.Lexer
Dump the current text and the scan position.
dump(PrintStream) - Method in interface fri.patterns.interpreter.parsergenerator.ParserTables
Dumps rules, GOTO-table, PARSE-ACTION-table, FIRST and FOLLOW sets, ...
dump(PrintStream) - Method in class fri.patterns.interpreter.parsergenerator.lexer.LexerImpl
Outputs current and previous line, with line numbers.
dump(PrintStream) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables
Implements ParserTables: output of rules, FIRST/FOLLOW sets, syntax nodes, GOTO-table, PARSE-ACTON-table.
dump(PrintStream) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
Implements ParserTables: prints rules, FIRST/FOLLOW sets, syntax nodes (states), GOTO-table, PARSE-ACTION-table.
dumpFirstSet(PrintStream) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables
 
dumpFollowSet(PrintStream) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables
 
dumpGoto(PrintStream) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
 
dumpParseAction(PrintStream) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
 
dumpRule(Rule, int) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
 
dumpSet(String, Map, PrintStream) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables
 
dumpSyntax(PrintStream) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
 
dumpSyntaxNode(int, SLRSyntaxNode, PrintStream) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables
 
dumpSyntaxNodes(PrintStream) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables
 
dumpTable(String, List, List, PrintStream) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
 
dumpTables(PrintStream) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
 

E

end - Variable in class fri.patterns.interpreter.parsergenerator.Token.Range
The end Address of this Token, one after the last character/byte.
EPSILON - Static variable in class fri.patterns.interpreter.parsergenerator.Token
This special token symbol means "end of input" to the Parser, which stops calling getNextToken() then.
equals(Object) - Method in class fri.patterns.interpreter.parsergenerator.Token.Range
 
equals(Object) - Method in class fri.patterns.interpreter.parsergenerator.Token.Address
 
equals(Object) - Method in class fri.patterns.interpreter.parsergenerator.lexer.Strategy.Item
Compares the contained consumer with other via "==".
equals(Object) - Method in class fri.patterns.interpreter.parsergenerator.syntax.Rule
Returns true if symbol lists are equal.
ERROR - Static variable in interface fri.patterns.interpreter.parsergenerator.ParserTables
Special symbol occuring in a parser table, -1, means: error when coming to that cell.
Example - class fri.patterns.interpreter.parsergenerator.syntax.builder.examples.Example.
This example reads the SyntaxBuilder EBNF specification, builds a lexer and parser from it, and parses its own specification with these rules.
Example() - Constructor for class fri.patterns.interpreter.parsergenerator.syntax.builder.examples.Example
 
ExampleLexer - class fri.patterns.interpreter.parsergenerator.lexer.examples.ExampleLexer.
Sample showing how to build a Lexer from StandardLexerRules building blocks.
ExampleLexer() - Constructor for class fri.patterns.interpreter.parsergenerator.lexer.examples.ExampleLexer
 
EXPRESSION(Object) - Method in class fri.patterns.interpreter.parsergenerator.examples.Calculator
 
EXPRESSION(Object, Object, Object) - Method in class fri.patterns.interpreter.parsergenerator.examples.Calculator
 

F

FACTOR(Object) - Method in class fri.patterns.interpreter.parsergenerator.examples.Calculator
 
FACTOR(Object, Object) - Method in class fri.patterns.interpreter.parsergenerator.examples.Calculator
 
FACTOR(Object, Object, Object) - Method in class fri.patterns.interpreter.parsergenerator.examples.Calculator
 
fallback(Rule, List, List) - Method in class fri.patterns.interpreter.parsergenerator.semantics.ReflectSemantic
Fallback semantic handler that is called when no method was found by reflection.
findStartRules() - Method in class fri.patterns.interpreter.parsergenerator.syntax.Syntax
Returns a List of top level Rules (that do not appear on right side of any contained rule).
firstSets - Variable in class fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables
 
followSets - Variable in class fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables
 
freeSyntaxNodes() - Method in class fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables
Enable garbage collection of builder variables.
fri.patterns.interpreter.parsergenerator - package fri.patterns.interpreter.parsergenerator
 
fri.patterns.interpreter.parsergenerator.builder - package fri.patterns.interpreter.parsergenerator.builder
 
fri.patterns.interpreter.parsergenerator.examples - package fri.patterns.interpreter.parsergenerator.examples
 
fri.patterns.interpreter.parsergenerator.lexer - package fri.patterns.interpreter.parsergenerator.lexer
 
fri.patterns.interpreter.parsergenerator.lexer.examples - package fri.patterns.interpreter.parsergenerator.lexer.examples
 
fri.patterns.interpreter.parsergenerator.lexer.semantics - package fri.patterns.interpreter.parsergenerator.lexer.semantics
 
fri.patterns.interpreter.parsergenerator.parsertables - package fri.patterns.interpreter.parsergenerator.parsertables
 
fri.patterns.interpreter.parsergenerator.semantics - package fri.patterns.interpreter.parsergenerator.semantics
 
fri.patterns.interpreter.parsergenerator.semantics.examples - package fri.patterns.interpreter.parsergenerator.semantics.examples
 
fri.patterns.interpreter.parsergenerator.syntax - package fri.patterns.interpreter.parsergenerator.syntax
 
fri.patterns.interpreter.parsergenerator.syntax.builder - package fri.patterns.interpreter.parsergenerator.syntax.builder
 
fri.patterns.interpreter.parsergenerator.syntax.builder.examples - package fri.patterns.interpreter.parsergenerator.syntax.builder.examples
 
fri.patterns.interpreter.parsergenerator.util - package fri.patterns.interpreter.parsergenerator.util
 

G

generateGoto(List) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables
Creates GOTO table of follow states.
generateParseAction(List) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables
Erzeugen der Parse-Action-Tabelle fuer shift/reduce Aktionen.
generateParserTable(AbstractParserTables, String, String) - Static method in class fri.patterns.interpreter.parsergenerator.util.SourceGenerator
Generates Java code from parser tables. makes the output filename and calls parserTables.toSourceFile() then.
generateSemanticSkeleton(Syntax, String, String) - Static method in class fri.patterns.interpreter.parsergenerator.util.SourceGenerator
Generates a semantic skeleton implementation for a given syntax.
generateSyntaxImpl(Syntax, String, String, List) - Static method in class fri.patterns.interpreter.parsergenerator.util.SourceGenerator
Generates a Java implementation from the passed Syntax object.
get(Class, Object) - Method in class fri.patterns.interpreter.parsergenerator.builder.SerializedParser
Builds the Parser from scratch if not found its parts in filesystem, else loads all serialized parts.
get(Class, Object, String) - Method in class fri.patterns.interpreter.parsergenerator.builder.SerializedTables
Creates parser tables for passed syntax input from scratch or loads serialized tables from filesystem.
get(Class, Object, String) - Method in class fri.patterns.interpreter.parsergenerator.builder.CompiledTables
Deprecated. Builds the ParserTables from scratch if not found as class in CLASSPATH, else loads that class.
get(Class, Object, String) - Method in class fri.patterns.interpreter.parsergenerator.builder.SerializedParser
Builds the parsing environment from scratch if not found its parts in filesystem, else loads all serialized parts.
get(Object) - Method in class fri.patterns.interpreter.parsergenerator.builder.SerializedTables
Creates parser tables for passed syntax input from scratch or loads serialized tables from filesystem.
get(Object) - Method in class fri.patterns.interpreter.parsergenerator.builder.CompiledTables
Deprecated. Builds the ParserTables from scratch if not found as class in CLASSPATH, else loads that class.
get(Object) - Method in class fri.patterns.interpreter.parsergenerator.builder.SerializedParser
Builds the Parser from scratch if not found its parts in filesystem, else loads all serialized parts.
get(Object) - Method in class fri.patterns.interpreter.parsergenerator.builder.SerializedLexer
Builds the Lexer from scratch if not found in filesystem, else loads the serialized Lexer.
get(Object, String) - Method in class fri.patterns.interpreter.parsergenerator.builder.SerializedTables
Creates parser tables for passed syntax input from scratch or loads serialized tables from filesystem.
get(Object, String) - Method in class fri.patterns.interpreter.parsergenerator.builder.CompiledTables
Deprecated. Builds the ParserTables from scratch if not found as class in CLASSPATH, else loads that class.
get(Object, String) - Method in class fri.patterns.interpreter.parsergenerator.builder.SerializedParser
Builds the Parser from scratch if not found its parts in filesystem, else loads all serialized parts.
get(Object, String) - Method in class fri.patterns.interpreter.parsergenerator.builder.SerializedLexer
Builds the Lexer from scratch if not found in filesystem, else loads the serialized Lexer.
get(Object, String, List, List) - Method in class fri.patterns.interpreter.parsergenerator.builder.SerializedLexer
Builds the Lexer from scratch if not found in filesystem, else loads the serialized Lexer.
getAllSymbols() - Method in class fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables
Returns all symbols (terminals and nonterminals).
getBinDigitsRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules for binary number chars.
getChild(int) - Method in class fri.patterns.interpreter.parsergenerator.lexer.ResultTree
Returns the child at index i of this element, which could be StringBuffer or ResultTree.
getChildCount() - Method in class fri.patterns.interpreter.parsergenerator.lexer.ResultTree
Returns the count of children of this element.
getColumn() - Method in class fri.patterns.interpreter.parsergenerator.lexer.LexerImpl
Returns the position within the current line, 0-n.
getCommentRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules to scan C-style slash-star and slash-slash AND shell-style # comments.
getCStyleCommentRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules to scan C-style slash-star and slash-slash comments.
getCustomMultiLineCommentRules(String, String, String) - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Returns rules for a custom comment (like C-style "/*", but with passed start and end sequence).
getCustomOneLineCommentRules(String, String) - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Returns rules for a custom comment (like C-style "//", but with passed start sequence).
getDiagnosis() - Method in class fri.patterns.interpreter.parsergenerator.util.SyntaxChecker
Returns false when the checked syntax is not able to be used as lexer or parser configuration.
getExpected(Integer) - Method in interface fri.patterns.interpreter.parsergenerator.ParserTables
The keySet of returned Map contains all expected terminals for the current state.
getExpected(Integer) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
Implements ParserTables: Returns a Map of the expected tokens for current state, contained in keySet iterator.
getFloatRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules for float number chars.
getGotoState(Integer, String) - Method in interface fri.patterns.interpreter.parsergenerator.ParserTables
Returns the next state from the GOTO-table, for a given state and a received terminal or nonterminal.
getGotoState(Integer, String) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
Implements ParserTables: returns the next state from GOTO-table.
getHexDigitRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules to scan one hexdigit.
getHexDigitsRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules to scan hexdigits that form a number, starting "0x" not included.
getIgnoredNonterminals() - Method in interface fri.patterns.interpreter.parsergenerator.lexer.LexerSemantic
Can return the String Set of nonterminals (must occur in syntax on left side) this LexerSemantic does not want to dispatch.
getIgnoredNonterminals() - Method in class fri.patterns.interpreter.parsergenerator.lexer.semantics.LexerReflectSemantic
Returns null as getWantedNonterminals() is provided.
getIgnoredSymbols() - Method in class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxSeparation
Returns the top level ignored token symbols for the lexer.
getInitialNonterminals() - Method in class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxBuilder
Returns the list of initial nonterminals (before parenthesis and quantifiers get resolved).
getInputTokens() - Method in class fri.patterns.interpreter.parsergenerator.semantics.TreeBuilderSemantic.Node
Returns the instance token list.
getIntegerRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules for integer number chars.
getLexer() - Method in class fri.patterns.interpreter.parsergenerator.Parser
Returns the lexer that was set to this parser, to call setInput() to the lexer.
getLexer() - Method in class fri.patterns.interpreter.parsergenerator.lexer.LexerBuilder
Returns the built Lexer.
getLexer() - Method in class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxBuilder
Returns a Lexer for the built syntax.
getLexer(Object) - Method in class fri.patterns.interpreter.parsergenerator.lexer.LexerBuilder
Returns the built Lexer, loaded with passed input (file, stream, string, ...).
getLexerSyntax() - Method in class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxSeparation
Returns the lexer syntax that remains after removing all parser rules and token/ignored directives.
getLine() - Method in class fri.patterns.interpreter.parsergenerator.lexer.LexerImpl
Returns the number of the current line, 1-n.
getLineText() - Method in class fri.patterns.interpreter.parsergenerator.lexer.LexerImpl
Returns the current line, as far as read.
getNewlineRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules to scan one platform independent newline.
getNewlinesRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules to scan one platform independent newline.
getNextToken() - Method in class fri.patterns.interpreter.parsergenerator.Parser
Delivers the next token from lexer to parser.
getNextToken(LexerSemantic) - Method in class fri.patterns.interpreter.parsergenerator.lexer.LexerImpl
This is an optional functionality of Lexer.
getNextToken(Map) - Method in interface fri.patterns.interpreter.parsergenerator.Lexer
Returns the next token from input.
getNextToken(Map) - Method in class fri.patterns.interpreter.parsergenerator.lexer.LexerImpl
Implements Lexer: returns the next token from input, or EPSILON when no more input.
getNonterminal() - Method in class fri.patterns.interpreter.parsergenerator.syntax.Rule
 
getNumberRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules for general number chars (integer, float).
getOctDigitsRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules for octal number chars.
getOffset() - Method in class fri.patterns.interpreter.parsergenerator.lexer.LexerImpl
Returns the offset read so far from input.
getParseAction(Integer, String) - Method in interface fri.patterns.interpreter.parsergenerator.ParserTables
Returns the action from the PARSE-ACTION-table, for a given state and received terminal.
getParseAction(Integer, String) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
Implements ParserTables: returns the next action from PARSE-ACTION-table.
getParserSyntax() - Method in class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxBuilder
Returns only the ready-made parser syntax (to feed the parser tables).
getParserSyntax() - Method in class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxSeparation
Returns the parser syntax that remains after removing all lexer rules.
getParserTables() - Method in class fri.patterns.interpreter.parsergenerator.Parser
Returns current ParserTables.
getQuantifierRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules to read quantifiers "*+?"
getRange() - Method in class fri.patterns.interpreter.parsergenerator.lexer.ResultTree
Returns the character- or byte-range within input where the token was found.
getRanges() - Method in class fri.patterns.interpreter.parsergenerator.semantics.TreeBuilderSemantic.Node
Returns the instance token line range list.
getRanges() - Method in class fri.patterns.interpreter.parsergenerator.semantics.ReflectSemantic
Returns the current Token.Range list of all input tokens.
getResult() - Method in class fri.patterns.interpreter.parsergenerator.Parser
Returns the parsing result built from Semantic call return values.
getResultTree() - Method in class fri.patterns.interpreter.parsergenerator.lexer.Strategy.Item
 
getRightSymbol(int) - Method in class fri.patterns.interpreter.parsergenerator.syntax.Rule
 
getRule() - Method in class fri.patterns.interpreter.parsergenerator.lexer.ResultTree
Returns the rule this ResultTree was built from.
getRule() - Method in class fri.patterns.interpreter.parsergenerator.semantics.TreeBuilderSemantic.Node
Returns the rule of this syntax tree node.
getRule(int) - Method in class fri.patterns.interpreter.parsergenerator.syntax.Syntax
Returns the rule at the given position.
getRulerefRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules to read a `lexerrule` within EBNF syntax specifications.
getSemantic() - Method in class fri.patterns.interpreter.parsergenerator.Parser
Returns the semantic that was set to this parser.
getShellStyleCommentRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules to scan # shell-style comments.
getSpaceRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules to scan one space.
getSpacesRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules to scan spaces.
getSymbol() - Method in class fri.patterns.interpreter.parsergenerator.lexer.Strategy.Item
Returns the lexer item symbol, enclosed in `backquotes` when not a literal.
getSyntax() - Method in interface fri.patterns.interpreter.parsergenerator.ParserTables
Returns the input syntax.
getSyntax() - Method in class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
Implements ParserTables: returns Syntax.
getSyntax() - Method in class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxBuilder
Returns the whole syntax (both parser and lexer syntax).
getSyntaxSeparation() - Method in class fri.patterns.interpreter.parsergenerator.builder.SerializedLexer
If the lexer was built from scratch, the SyntaxSeparation object returned will not be null and can be used to retrieve the parser syntax, else null is returned, as the separation is not available in serialized Lexer.
getTerminals() - Method in interface fri.patterns.interpreter.parsergenerator.ParserTables
Returns the List of treminals, without EPSILON.
getTerminals() - Method in class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
Implements ParserTables: returns String List of terminals, without EPSILON.
getTokenIdentifier() - Method in class fri.patterns.interpreter.parsergenerator.lexer.Strategy.Item
Returns the token symbol, always enclosed in some quotes.
getTokenSymbols() - Method in class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxSeparation
Returns the top level token symbols for the lexer.
getUnicodeBNFChardefRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules to scan BNF-like 'c'haracterdefinitions.
getUnicodeChardefRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules to scan C/Java-like 'c'haracterdefinitions: '\377', 'A', '\n'.
getUnicodeCharRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules to scan one UNICODE character: 0x0 .. 0xFFFF.
getUnicodeCombiningCharRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules for XML combining chars.
getUnicodeDigitRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules to scan one digit.
getUnicodeDigitsRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules to scan digits.
getUnicodeExtenderCharRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules for XML extender chars.
getUnicodeIdentifierRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules to scan identifiers that start with letter and continue with letter or digit or '_'.
getUnicodeLetterRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules to scan one letter.
getUnicodeStringdefRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules to scan "stringdefinitions" that can contain backslash as masking character.
getUnicodeXmlCharRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules for XML combining chars.
getUnresolvedNonterminals() - Method in class fri.patterns.interpreter.parsergenerator.syntax.Syntax
Returns a set of nonterminals that have no rule within this syntax.
getWantedNonterminals() - Method in interface fri.patterns.interpreter.parsergenerator.lexer.LexerSemantic
Can return the String Set of nonterminals (must occur in syntax on left side) this LexerSemantic wants to dispatch.
getWantedNonterminals() - Method in class fri.patterns.interpreter.parsergenerator.lexer.semantics.LexerReflectSemantic
Provides the Set of wanted nonterminal Strings by searching for public void methods with (String, Token.Range) arguments.
getWhitespaceRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules to scan one space or newline.
getWhitespacesRules() - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules to scan spaces or newlines.
gotoTable - Variable in class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
The GOTO-table with all possible follow states.

H

hashCode() - Method in class fri.patterns.interpreter.parsergenerator.Token.Range
 
hashCode() - Method in class fri.patterns.interpreter.parsergenerator.Token.Address
 
hashCode() - Method in class fri.patterns.interpreter.parsergenerator.lexer.Strategy.Item
Returns the consumers hashcode.
hashCode() - Method in class fri.patterns.interpreter.parsergenerator.syntax.Rule
Returns symbol lists hashcode.
hasRule(String) - Method in class fri.patterns.interpreter.parsergenerator.syntax.Syntax
Returns true if the passed nonterminal is on the left side of at least one contained rule.
hasTerminal(String) - Method in class fri.patterns.interpreter.parsergenerator.lexer.Strategy
Returns true if the passed terminal is already in list.
hasText() - Method in class fri.patterns.interpreter.parsergenerator.lexer.ResultTree
Returns true if this ResultTree or any of its children has text.
HelloWorldParser - class fri.patterns.interpreter.parsergenerator.examples.HelloWorldParser.
"Hello World" example.
HelloWorldParser() - Constructor for class fri.patterns.interpreter.parsergenerator.examples.HelloWorldParser
 
HelloWorldParser2 - class fri.patterns.interpreter.parsergenerator.examples.HelloWorldParser2.
"Hello World" example 2.
HelloWorldParser2() - Constructor for class fri.patterns.interpreter.parsergenerator.examples.HelloWorldParser2
 
HowToOverrideLexerImpl - class fri.patterns.interpreter.parsergenerator.examples.HowToOverrideLexerImpl.
This sample shows how to set another Lexer implementation into the Parser-builder.
HowToOverrideLexerImpl() - Constructor for class fri.patterns.interpreter.parsergenerator.examples.HowToOverrideLexerImpl
 

I

IGNORED - Static variable in class fri.patterns.interpreter.parsergenerator.Token
Reserved identifier that marks tokens not to deliver to parser, e.g.
ignoredSymbols - Variable in class fri.patterns.interpreter.parsergenerator.lexer.LexerBuilder
 
indexOnRightSide(String) - Method in class fri.patterns.interpreter.parsergenerator.syntax.Rule
 
init() - Method in class fri.patterns.interpreter.parsergenerator.parsertables.LRParserTables
Modifiying the SLR-generation as FIRST-sets and Nullable are needed before building syntax nodes, FOLLOW-sets are not needed at all.
init() - Method in class fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables
Builds SLR bottom-up parser tables.
insertRule(int, Rule) - Method in class fri.patterns.interpreter.parsergenerator.syntax.Syntax
Inserts a new rule into this Syntax (needed to set artificial START rule at position 0).
insertTableLine(int, Map, List, Map) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables
Compression of tables: Look for an identical table line.
isEmpty() - Method in class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxSeparation.IntArray
 
isEpsilon(String) - Static method in class fri.patterns.interpreter.parsergenerator.Token
Epsilon means end of input, no more bytes available.
isEpsilon(Token) - Static method in class fri.patterns.interpreter.parsergenerator.Token
Epsilon means end of input, EOF, no more bytes available.
isTerminal(String) - Static method in class fri.patterns.interpreter.parsergenerator.Token
Distinction of 'terminals' and nonterminals: terminals are either starting with digit or are enclosed in quotes '"` or equal to EPSILON.

J

JavaParser - class fri.patterns.interpreter.parsergenerator.examples.JavaParser.
Example Java parser.
JavaParser() - Constructor for class fri.patterns.interpreter.parsergenerator.examples.JavaParser
 

L

LALRParserTables - class fri.patterns.interpreter.parsergenerator.parsertables.LALRParserTables.
Parser table generator for LALR interpretation.
LALRParserTables(Syntax) - Constructor for class fri.patterns.interpreter.parsergenerator.parsertables.LALRParserTables
Calls super.
lex(LexerSemantic) - Method in class fri.patterns.interpreter.parsergenerator.lexer.LexerImpl
This is an optional functionality of Lexer.
Lexer - interface fri.patterns.interpreter.parsergenerator.Lexer.
A Lexer reads input bytes (InputStream) or characters (Reader), until one of its terminals is fulfilled.
Lexer.TokenListener - interface fri.patterns.interpreter.parsergenerator.Lexer.TokenListener.
A way to receive every parsing syntax Token the Lexer reads, even it is ignored.
LexerBuilder - class fri.patterns.interpreter.parsergenerator.lexer.LexerBuilder.
Generates a Lexer from a Syntax.
LexerBuilder(Syntax, List) - Constructor for class fri.patterns.interpreter.parsergenerator.lexer.LexerBuilder
Creates a LexerBuilder (from lexer rules) that provides a Lexer.
LexerException - exception fri.patterns.interpreter.parsergenerator.lexer.LexerException.
 
LexerException(String) - Constructor for class fri.patterns.interpreter.parsergenerator.lexer.LexerException
 
LexerImpl - class fri.patterns.interpreter.parsergenerator.lexer.LexerImpl.
This Lexer must be created using LexerBuilder.
LexerImpl() - Constructor for class fri.patterns.interpreter.parsergenerator.lexer.LexerImpl
Do-nothing constructor for subclasses (currently unused).
LexerImpl(List, Map) - Constructor for class fri.patterns.interpreter.parsergenerator.lexer.LexerImpl
Creates a Lexer from token- and ignored symbols, and a map of character consumers (built by LexerBuilder).
LexerReflectSemantic - class fri.patterns.interpreter.parsergenerator.lexer.semantics.LexerReflectSemantic.
A LexerSemantic that provides the Set of wanted String nonterminals by method reflection.
LexerReflectSemantic() - Constructor for class fri.patterns.interpreter.parsergenerator.lexer.semantics.LexerReflectSemantic
 
LexerSemantic - interface fri.patterns.interpreter.parsergenerator.lexer.LexerSemantic.
LexerSemantic receives a Rule and its a ResultTree with range.
lexerSyntax - Static variable in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Premade lexer syntax used to scan textual EBNF-like syntax specifications.
line - Variable in class fri.patterns.interpreter.parsergenerator.Token.Address
The line number (1-n).
loopResultTree(ResultTree, LexerSemantic) - Method in class fri.patterns.interpreter.parsergenerator.lexer.LexerImpl
After top-down lexing this method is called to dispatch all results.
LRParserTables - class fri.patterns.interpreter.parsergenerator.parsertables.LRParserTables.
Parser table generator for LR interpretation.
LRParserTables(Syntax) - Constructor for class fri.patterns.interpreter.parsergenerator.parsertables.LRParserTables
Calls super.

M

main(String[]) - Static method in class fri.patterns.interpreter.parsergenerator.util.SourceGenerator
Source generator main.
main(String[]) - Static method in class fri.patterns.interpreter.parsergenerator.util.SyntaxChecker
 
main(String[]) - Static method in class fri.patterns.interpreter.parsergenerator.lexer.examples.CStyleCommentStrip
Example implementation: Stripping C-style comments from Java files, passed as arguments.
main(String[]) - Static method in class fri.patterns.interpreter.parsergenerator.lexer.examples.ExampleLexer
Test main.
main(String[]) - Static method in class fri.patterns.interpreter.parsergenerator.semantics.examples.TreeBuilderExample
Test output of SyntaxBuilder syntax tree.
main(String[]) - Static method in class fri.patterns.interpreter.parsergenerator.parsertables.LRParserTables
Test main dumping parser tables.
main(String[]) - Static method in class fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables
Test main dumping arithmetic expression tables.
main(String[]) - Static method in class fri.patterns.interpreter.parsergenerator.parsertables.LALRParserTables
Test main dumping parser tables.
main(String[]) - Static method in class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxBuilder
Creates SyntaxBuilderParserTables.java (in this directory) from the rules defined in SyntaxBuilderSemantic.
main(String[]) - Static method in class fri.patterns.interpreter.parsergenerator.syntax.builder.examples.Example
 
main(String[]) - Static method in class fri.patterns.interpreter.parsergenerator.examples.XmlLexer
 
main(String[]) - Static method in class fri.patterns.interpreter.parsergenerator.examples.HowToOverrideLexerImpl
 
main(String[]) - Static method in class fri.patterns.interpreter.parsergenerator.examples.Calculator
SYNTAX: java fri.patterns.interpreter.parsergenerator.examples.Calculator '(4+2.3) *(2 - -6) + 3*2' ... 56.4.
main(String[]) - Static method in class fri.patterns.interpreter.parsergenerator.examples.HelloWorldParser2
 
main(String[]) - Static method in class fri.patterns.interpreter.parsergenerator.examples.JavaParser
 
main(String[]) - Static method in class fri.patterns.interpreter.parsergenerator.examples.HelloWorldParser
 
main(String[]) - Static method in class fri.patterns.interpreter.parsergenerator.examples.DtdLexer
 
main(String[]) - Static method in class fri.patterns.interpreter.parsergenerator.builder.SerializedTables
Test main.
main(String[]) - Static method in class fri.patterns.interpreter.parsergenerator.builder.CompiledTables
Deprecated. Test main.
main(String[]) - Static method in class fri.patterns.interpreter.parsergenerator.builder.SerializedParser
Test main.
main(String[]) - Static method in class fri.patterns.interpreter.parsergenerator.builder.SerializedLexer
Test main.
makeIdentifier(String) - Static method in class fri.patterns.interpreter.parsergenerator.util.SymbolToName
Converts the passed character sequence (symbol) to a name that can be used as identifier (but not as Java identifier).
makeIdentifier(String, boolean) - Static method in class fri.patterns.interpreter.parsergenerator.util.SymbolToName
Converts the passed character sequence (symbol) to a name that can be used as identifier, optionally as Java identifier.
makeIdentifier(String, String) - Static method in class fri.patterns.interpreter.parsergenerator.util.SymbolToName
Converts the passed character sequence (symbol) to a name that can be used as identifier (but not as Java identifier).
makeIdentifier(String, String, boolean) - Static method in class fri.patterns.interpreter.parsergenerator.util.SymbolToName
Converts the passed character sequence (symbol) to a name that can be used as identifier, optionally as Java identifier.
maskQuoteAndBackslash(String) - Static method in class fri.patterns.interpreter.parsergenerator.syntax.SyntaxUtil
Mask backslash and double quote by backslash.

N

newLexerBuilder(Syntax, List) - Method in class fri.patterns.interpreter.parsergenerator.builder.SerializedLexer
To be overridden when a modified LexerBuilder is needed.
newlinesRules - Static variable in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules describing one or more newlines.
newSerializedLexer() - Method in class fri.patterns.interpreter.parsergenerator.builder.SerializedParser
To be overridden when a modified SerializedLexer is needed.
newStrategy() - Method in interface fri.patterns.interpreter.parsergenerator.lexer.StrategyFactoryMethod
Returns a new Strategy object for competing Consumers.
newStrategy() - Method in class fri.patterns.interpreter.parsergenerator.lexer.LexerImpl
Implements StrategyFactoryMethod.
newSyntaxSeparation(Syntax) - Method in class fri.patterns.interpreter.parsergenerator.builder.SerializedLexer
To be overridden when a modified SyntaxSeparation is needed.
nonterminals - Variable in class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
Non-terminals, with START-symbol.
numberRules - Static variable in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Numerical rules for numbers within sourcecode: number ::= integer | float.

O

offset - Variable in class fri.patterns.interpreter.parsergenerator.Token.Address
The character/byte offset (0-n).

P

parse() - Method in class fri.patterns.interpreter.parsergenerator.Parser
Start parsing after setting Lexer and optionally Semantic.
parse(Lexer) - Method in class fri.patterns.interpreter.parsergenerator.Parser
Parse the tokens returned from passed lexer.
parse(Lexer, Semantic) - Method in class fri.patterns.interpreter.parsergenerator.Parser
Parse the tokens returned from passed lexer.
parse(Object) - Method in class fri.patterns.interpreter.parsergenerator.Parser
Parse the tokens returned from passed input.
parse(Object, Semantic) - Method in class fri.patterns.interpreter.parsergenerator.Parser
Parse the tokens returned from passed lexer.
parse(Semantic) - Method in class fri.patterns.interpreter.parsergenerator.Parser
Parse the tokens returned from passed lexer.
Parser - class fri.patterns.interpreter.parsergenerator.Parser.
The universal bottom-up parser algorithm.
Parser(ParserTables) - Constructor for class fri.patterns.interpreter.parsergenerator.Parser
Create a generic bottom-up Parser with passed ParserTables (representing the current syntax to apply).
ParserBuildException - exception fri.patterns.interpreter.parsergenerator.parsertables.ParserBuildException.
 
ParserBuildException(String) - Constructor for class fri.patterns.interpreter.parsergenerator.parsertables.ParserBuildException
 
PARSERFILE_SUFFIX - Static variable in class fri.patterns.interpreter.parsergenerator.builder.SerializedParser
The suffix for serialized Parser files.
ParserTables - interface fri.patterns.interpreter.parsergenerator.ParserTables.
Responsibilities of (bottom-up) parser tables, that must provide: all terminals, without EPSILON (for the Lexer) the syntax the follow-state from the GOTO-table the follow action from the PARSE-ACTION-table a list of expected terminals
parseTable - Variable in class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
The PARSE-ACTION table with SHIFT and REDUCE entries.
printRules(String[][]) - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Print a grammar to System.out.
PrintSemantic - class fri.patterns.interpreter.parsergenerator.semantics.PrintSemantic.
Simple test semantic that outputs the rule nonterminal on left side and its parsed values.
PrintSemantic() - Constructor for class fri.patterns.interpreter.parsergenerator.semantics.PrintSemantic
 
PRODUCTION - Variable in class fri.patterns.interpreter.parsergenerator.builder.SerializedParser
 
PRODUCTION - Variable in class fri.patterns.interpreter.parsergenerator.builder.SerializedLexer
 

R

range - Variable in class fri.patterns.interpreter.parsergenerator.Token
The start and end Address of this Token.
rangeStack - Variable in class fri.patterns.interpreter.parsergenerator.Parser
 
readLexer(Object, String) - Method in class fri.patterns.interpreter.parsergenerator.builder.SerializedLexer
Tries to read the lexer from a serialized file.
readParserTables(Object, String) - Method in class fri.patterns.interpreter.parsergenerator.builder.SerializedTables
 
recover(Integer, Token) - Method in class fri.patterns.interpreter.parsergenerator.Parser
Recover from error.
reduce(Integer) - Method in class fri.patterns.interpreter.parsergenerator.Parser
Reduce a rule when input satisfied it.
ReflectSemantic - class fri.patterns.interpreter.parsergenerator.semantics.ReflectSemantic.
Semantic base class that tries to call methods with the same name as nonterminal on left side of rule.
ReflectSemantic() - Constructor for class fri.patterns.interpreter.parsergenerator.semantics.ReflectSemantic
 
removeIndexesFrom(Syntax) - Method in class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxSeparation.IntArray
 
removeRule(int) - Method in class fri.patterns.interpreter.parsergenerator.syntax.Syntax
Removes the rule at passed index from this Syntax.
removeTokenListener(Lexer.TokenListener) - Method in interface fri.patterns.interpreter.parsergenerator.Lexer
Removes a TokenListener from this Lexer.
removeTokenListener(Lexer.TokenListener) - Method in class fri.patterns.interpreter.parsergenerator.lexer.LexerImpl
Implements Lexer.
report(PrintStream) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables
Overridden to report better.
report(PrintStream) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
Reports count of rules, ternminals and nonterminals.
resolveFrom(Syntax) - Method in class fri.patterns.interpreter.parsergenerator.syntax.Syntax
Resolves undefined rules in this syntax from another syntax.
resolveSingulars() - Method in class fri.patterns.interpreter.parsergenerator.syntax.Syntax
Simplify the syntax.
resolveSingulars() - Method in class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxBuilder
Resolves all singular rules (only one symbol on right side, only one occurence).
ResultTree - class fri.patterns.interpreter.parsergenerator.lexer.ResultTree.
Lexer result tree element, holding texts, its line/column range, and result children.
rightSize() - Method in class fri.patterns.interpreter.parsergenerator.syntax.Rule
 
Rule - class fri.patterns.interpreter.parsergenerator.syntax.Rule.
A rule is a list of String symbols on the right side and a nonterminal on the left side: "a ::= b c d;" A nonterminal is represented as a String with no quotes, every terminal must appear quoted by " or ' or ` (backquote).
Rule() - Constructor for class fri.patterns.interpreter.parsergenerator.syntax.Rule
Serializable constructor, do not use.
Rule(List) - Constructor for class fri.patterns.interpreter.parsergenerator.syntax.Rule
Constructing a rule from a String List, first element is interpreted as nonterminal.
Rule(String[]) - Constructor for class fri.patterns.interpreter.parsergenerator.syntax.Rule
Constructing a rule from a String array, first element is interpreted as nonterminal.
Rule(String, int) - Constructor for class fri.patterns.interpreter.parsergenerator.syntax.Rule
Source generator constructor.
ruleArrayToList(String[][]) - Static method in class fri.patterns.interpreter.parsergenerator.syntax.SyntaxUtil
Converts syntax String array of arrays to List of Lists.
ruleEvaluated(Rule, ResultTree) - Method in interface fri.patterns.interpreter.parsergenerator.lexer.LexerSemantic
This is called by LexerImpl with a lexing Rule and its scanned result tree and range.
ruleEvaluated(Rule, ResultTree) - Method in class fri.patterns.interpreter.parsergenerator.lexer.semantics.LexerReflectSemantic
As expected, this method delegates to the method that is named like the nonterminal of the passed Rule, with resultTree as the only argument.
rulesForIdentifier(String) - Static method in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Returns e.g. the Letter-Rules getUnicodeLetterRules() for id "letter".
ruleToList(String[]) - Static method in class fri.patterns.interpreter.parsergenerator.syntax.SyntaxUtil
Converts rule String array to List.

S

Semantic - interface fri.patterns.interpreter.parsergenerator.Semantic.
A semantic processes parsed input from the Parser.
SemanticSkeletonGenerator - class fri.patterns.interpreter.parsergenerator.util.SemanticSkeletonGenerator.
This class can be called using SourceGenerator by commandline.
SemanticSkeletonGenerator(Syntax, String, String, Writer) - Constructor for class fri.patterns.interpreter.parsergenerator.util.SemanticSkeletonGenerator
Reads the passed Syntax and turns it into a semantic skeleton implementation.
SerializedLexer - class fri.patterns.interpreter.parsergenerator.builder.SerializedLexer.
Buffering Lexers.
SerializedLexer() - Constructor for class fri.patterns.interpreter.parsergenerator.builder.SerializedLexer
Create a Lexer factory that caches built Lexers.
SerializedLexer(boolean) - Constructor for class fri.patterns.interpreter.parsergenerator.builder.SerializedLexer
Create a Lexer factory that caches built Lexers.
SerializedParser - class fri.patterns.interpreter.parsergenerator.builder.SerializedParser.
This class is definitely the shortest way to construct a Parser (with Lexer) for a Syntax.
SerializedParser() - Constructor for class fri.patterns.interpreter.parsergenerator.builder.SerializedParser
Create a Parser factory that caches built Lexers.
SerializedParser(boolean) - Constructor for class fri.patterns.interpreter.parsergenerator.builder.SerializedParser
Create a Parser factory that caches built Lexers.
SerializedTables - class fri.patterns.interpreter.parsergenerator.builder.SerializedTables.
Buffering ParserTables.
SerializedTables() - Constructor for class fri.patterns.interpreter.parsergenerator.builder.SerializedTables
Create a ParserTables factory that buffers created parser tables.
SerializedTables(boolean) - Constructor for class fri.patterns.interpreter.parsergenerator.builder.SerializedTables
Create a ParserTables factory that buffers tables once created.
setCompeteForLongestInput(boolean) - Method in class fri.patterns.interpreter.parsergenerator.lexer.Strategy
 
setCompeteForLongestInput(boolean) - Method in class fri.patterns.interpreter.parsergenerator.lexer.LexerImpl
When false, the sort order (significance) of scan items without fixed start character decide what token is returned.
setDebug(boolean) - Method in interface fri.patterns.interpreter.parsergenerator.Lexer
Turn on and off debug mode.
setDebug(boolean) - Method in class fri.patterns.interpreter.parsergenerator.Parser
Set the debug mode.
setDebug(boolean) - Method in class fri.patterns.interpreter.parsergenerator.lexer.LexerImpl
Implements Lexer: Set debug on to output information about scanned tokens.
setInput(Object) - Method in interface fri.patterns.interpreter.parsergenerator.Lexer
Set the input to be processed by the Lexer.
setInput(Object) - Method in class fri.patterns.interpreter.parsergenerator.Parser
Sets the input to contained lexer, or throws IllegalStateException if no lexer was set.
setInput(Object) - Method in class fri.patterns.interpreter.parsergenerator.lexer.LexerImpl
Implements Lexer: set the input to be scanned.
setLexer(Lexer) - Method in class fri.patterns.interpreter.parsergenerator.Parser
Sets the lexer to be used for parsing.
setPassExpectedToLexer(boolean) - Method in class fri.patterns.interpreter.parsergenerator.Parser
Default is true.
setPrintStream(PrintStream) - Method in class fri.patterns.interpreter.parsergenerator.Parser
Debug output will go to passed stream.
setRightSymbol(String, int) - Method in class fri.patterns.interpreter.parsergenerator.syntax.Rule
 
setSemantic(Semantic) - Method in class fri.patterns.interpreter.parsergenerator.Parser
Sets the semantic to be applied to parsing results.
setTerminals(List) - Method in interface fri.patterns.interpreter.parsergenerator.Lexer
Tells the Lexer the terminals (tokens) to scan, called on init.
setTerminals(List) - Method in class fri.patterns.interpreter.parsergenerator.lexer.LexerImpl
Implements Lexer: Parser call to pass all tokens symbols (all enclosed in `backquote`) and literals ("xyz").
SHIFT - Static variable in interface fri.patterns.interpreter.parsergenerator.ParserTables
Special symbol occuring in a parser table, -2, means: read next token.
shift(Token) - Method in class fri.patterns.interpreter.parsergenerator.Parser
Push a new state upon state stack, determined by the GOTO table with current state and the received token symbol.
size() - Method in class fri.patterns.interpreter.parsergenerator.syntax.Syntax
Returns the number of rules of this Syntax.
SLRParserTables - class fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables.
A table generator, building SLR bottom-up parser tables from a syntax.
SLRParserTables(Syntax) - Constructor for class fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables
Appends START symbol and retrieves all symbols.
SourceGenerator - class fri.patterns.interpreter.parsergenerator.util.SourceGenerator.
Java source generator.
StandardLexerRules - class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules.
Standard lexer rules are building blocks for lexers dealing with text input.
start - Variable in class fri.patterns.interpreter.parsergenerator.Token.Range
The start Address of this Token, pointing to the first character/byte.
stateStack - Variable in class fri.patterns.interpreter.parsergenerator.Parser
 
strategy - Variable in class fri.patterns.interpreter.parsergenerator.lexer.LexerImpl
 
Strategy - class fri.patterns.interpreter.parsergenerator.lexer.Strategy.
Strategy is the way how alternative concurrent character consumers are applied to input.
Strategy.Item - class fri.patterns.interpreter.parsergenerator.lexer.Strategy.Item.
The List item wrapper for toplevel consumers.
Strategy.Item(String, Consumer) - Constructor for class fri.patterns.interpreter.parsergenerator.lexer.Strategy.Item
 
Strategy() - Constructor for class fri.patterns.interpreter.parsergenerator.lexer.Strategy
 
StrategyFactoryMethod - interface fri.patterns.interpreter.parsergenerator.lexer.StrategyFactoryMethod.
StrategyFactoryMethod creates a new Strategy object for both ConsumerAlternatives and LexerImpl.
STRING_QUOTE - Static variable in class fri.patterns.interpreter.parsergenerator.Token
Delimiter for literal terminals.
symbol - Variable in class fri.patterns.interpreter.parsergenerator.Token
The syntax symbol this Token represents.
symbols - Variable in class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
Non-terminals and terminals, without EPSILON, with START-symbol: column header of GOTO-table.
SymbolToName - class fri.patterns.interpreter.parsergenerator.util.SymbolToName.
The contained methods are needed to generate nonterminal names for spawned rules, e.g. for a repeatable nullable rule "(a | b | c)" from the rule "e ::= (a | b | c)* d;".
syntax - Variable in class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
The raw syntax to apply on parsing.
syntax - Static variable in class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxBuilderSemantic
 
Syntax - class fri.patterns.interpreter.parsergenerator.syntax.Syntax.
A Syntax is a Rule list that can be converted to a parser table.
Syntax() - Constructor for class fri.patterns.interpreter.parsergenerator.syntax.Syntax
 
Syntax(int) - Constructor for class fri.patterns.interpreter.parsergenerator.syntax.Syntax
 
Syntax(List) - Constructor for class fri.patterns.interpreter.parsergenerator.syntax.Syntax
 
Syntax(String[][]) - Constructor for class fri.patterns.interpreter.parsergenerator.syntax.Syntax
 
Syntax(String[][][]) - Constructor for class fri.patterns.interpreter.parsergenerator.syntax.Syntax
 
SyntaxBuilder - class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxBuilder.
Connects SyntaxSeparation and LexerBuilder.
SyntaxBuilder(Object) - Constructor for class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxBuilder
Parse a syntax specification text and process it to a Syntax object.
SyntaxBuilderParserTables - class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxBuilderParserTables.
DO NOT EDIT - ParserTables generated at Sat Jun 12 15:21:11 CEST 2004 by fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables.
SyntaxBuilderParserTables() - Constructor for class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxBuilderParserTables
 
SyntaxBuilderSemantic - class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxBuilderSemantic.
A syntax specification similar to EBNF.
SyntaxBuilderSemantic() - Constructor for class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxBuilderSemantic
Creates a syntax builder semantic that resolves parenthesis and quantifiers.
SyntaxBuilderSemantic(List) - Constructor for class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxBuilderSemantic
Creates a syntax builder semantic that resolves parenthesis and quantifiers.
SyntaxChecker - class fri.patterns.interpreter.parsergenerator.util.SyntaxChecker.
SyntaxChecker checks a EBNF syntax (file) for following things: unresolved nonterminals (nonterminals without rule) singular rules (nonterminal can be substituted by its singular right symbol) isolated rules (redundant, can be removed) None or more than one toplevel rule SYNTAX: java fri.patterns.interpreter.parsergenerator.util.SyntaxChecker file.syntax [file.syntax ...]
SyntaxChecker(Object) - Constructor for class fri.patterns.interpreter.parsergenerator.util.SyntaxChecker
 
SyntaxChecker(Syntax) - Constructor for class fri.patterns.interpreter.parsergenerator.util.SyntaxChecker
 
SyntaxException - exception fri.patterns.interpreter.parsergenerator.syntax.SyntaxException.
 
SyntaxException(String) - Constructor for class fri.patterns.interpreter.parsergenerator.syntax.SyntaxException
 
syntaxNodes - Variable in class fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables
 
SyntaxSeparation - class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxSeparation.
Separates lexer from parser rules.
SyntaxSeparation.IntArray - class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxSeparation.IntArray.
 
SyntaxSeparation.IntArray(int) - Constructor for class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxSeparation.IntArray
 
SyntaxSeparation(Syntax) - Constructor for class fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxSeparation
Splits a syntax into two syntaxes containing parser and lexer rules, tokens and ignored get collected.
SyntaxUtil - class fri.patterns.interpreter.parsergenerator.syntax.SyntaxUtil.
Utilities in conjunction with Syntax and its input structures.

T

TERM(Object) - Method in class fri.patterns.interpreter.parsergenerator.examples.Calculator
 
TERM(Object, Object, Object) - Method in class fri.patterns.interpreter.parsergenerator.examples.Calculator
 
terminals - Variable in class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
Terminals, with EPSILON: column header of PARSE-ACTION table.
terminalsWithoutEpsilon - Variable in class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
Terminals, without EPSILON: tokens for the Lexer.
text - Variable in class fri.patterns.interpreter.parsergenerator.Token
The text that was scanned for this Token.
Token - class fri.patterns.interpreter.parsergenerator.Token.
Lexer-Parser communication struct.
TOKEN - Static variable in class fri.patterns.interpreter.parsergenerator.Token
Reserved identifier that marks nonterminals the lexer should deliver to parser.
Token.Address - class fri.patterns.interpreter.parsergenerator.Token.Address.
Address stores input line number (1-n), column (0-n) and character/byte offset (0-n).
Token.Address() - Constructor for class fri.patterns.interpreter.parsergenerator.Token.Address
 
Token.Address(int, int, int) - Constructor for class fri.patterns.interpreter.parsergenerator.Token.Address
 
Token.Range - class fri.patterns.interpreter.parsergenerator.Token.Range.
Range stores start and end Address of a token.
Token.Range(Token.Address, Token.Address) - Constructor for class fri.patterns.interpreter.parsergenerator.Token.Range
 
Token(String, Object, Token.Range) - Constructor for class fri.patterns.interpreter.parsergenerator.Token
 
tokenReceived(Token, boolean) - Method in interface fri.patterns.interpreter.parsergenerator.Lexer.TokenListener
The implementer receives every token the lexer reads, even if it is ignored.
toSourceFile(String) - Method in class fri.patterns.interpreter.parsergenerator.parsertables.AbstractParserTables
Generates a compilable source file "parserClassName.java".
toString() - Method in class fri.patterns.interpreter.parsergenerator.Token.Range
 
toString() - Method in class fri.patterns.interpreter.parsergenerator.Token.Address
 
toString() - Method in class fri.patterns.interpreter.parsergenerator.lexer.Consumer.Reference
 
toString() - Method in class fri.patterns.interpreter.parsergenerator.lexer.ResultTree
Returns the String text of this ResultTree, including any text of its children.
toString() - Method in class fri.patterns.interpreter.parsergenerator.lexer.Strategy
Returns a human readable representation of the lists and maps within this strategy.
toString() - Method in class fri.patterns.interpreter.parsergenerator.lexer.Strategy.Item
 
toString() - Method in class fri.patterns.interpreter.parsergenerator.semantics.TreeBuilderSemantic.Node
Returns "nonterminal@hashcode" as String representation of this node.
toString() - Method in class fri.patterns.interpreter.parsergenerator.syntax.Rule
Returns the syntax as a multiline string.
toString() - Method in class fri.patterns.interpreter.parsergenerator.syntax.Syntax
Returns the syntax as a human readable multiline text.
toString(int) - Method in class fri.patterns.interpreter.parsergenerator.semantics.TreeBuilderSemantic.Node
Returns the human readable representation of this node and all sub-nodes.
TreeBuilderExample - class fri.patterns.interpreter.parsergenerator.semantics.examples.TreeBuilderExample.
TreeBuilderSemantic example that shows the instance tree of the EBNF file syntax/builder/examples/SyntaxBuilder.syntaxTreeBuilderExample() - Constructor for class fri.patterns.interpreter.parsergenerator.semantics.examples.TreeBuilderExample
 
TreeBuilderSemantic - class fri.patterns.interpreter.parsergenerator.semantics.TreeBuilderSemantic.
A semantic that builds a syntax tree model from a parser run.
TreeBuilderSemantic.Node - class fri.patterns.interpreter.parsergenerator.semantics.TreeBuilderSemantic.Node.
Node class that representy a syntax tree node.
TreeBuilderSemantic.Node(Rule, List, List) - Constructor for class fri.patterns.interpreter.parsergenerator.semantics.TreeBuilderSemantic.Node
 
TreeBuilderSemantic() - Constructor for class fri.patterns.interpreter.parsergenerator.semantics.TreeBuilderSemantic
 

U

UPTO - Static variable in class fri.patterns.interpreter.parsergenerator.Token
Symbol used to define lexer character sets, e.g.

V

valueStack - Variable in class fri.patterns.interpreter.parsergenerator.Parser
 

W

whitespaceRules - Static variable in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
Rules describing whitespace: newlines and spaces, minimum one.

X

xmlCharRules - Static variable in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
XML Char definitions of W3C.
xmlCombinigAndExtenderRules - Static variable in class fri.patterns.interpreter.parsergenerator.lexer.StandardLexerRules
XML CombiningChar and XML Extender definitions of W3C.
XmlLexer - class fri.patterns.interpreter.parsergenerator.examples.XmlLexer.
Example XML lexer.
XmlLexer() - Constructor for class fri.patterns.interpreter.parsergenerator.examples.XmlLexer
 

A B C D E F G H I J L M N O P R S T U V W X