- params - Variable in class org.stekikun.dolmen.syntax.PGrammarRule
-
The generic parameters of the rule
- params - Variable in class org.stekikun.dolmen.syntax.PProduction.ActualExpr
-
- parse(String[]) - Static method in class org.stekikun.dolmen.cli.Args
-
Parses the given array of command-line arguments args
according
to the various available options described in Args.Item
.
- parser - Variable in enum org.stekikun.dolmen.codegen.Config.Keys
-
Parser function for the option value
- parsingError(String) - Method in class org.stekikun.dolmen.codegen.BaseParser
-
- ParsingException(LexBuffer.Position, String) - Constructor for exception org.stekikun.dolmen.codegen.BaseParser.ParsingException
-
A parsing error exception with the given error message,
optionally specifying the position in the input stream
where the error occurred
- ParsingException(LexBuffer.Position, int, String) - Constructor for exception org.stekikun.dolmen.codegen.BaseParser.ParsingException
-
A parsing error exception with the given error message,
specifying the position and length of the part in the input
stream where the error occurred
- peek() - Method in class org.stekikun.dolmen.codegen.BaseParser
-
- peekNextChar() - Method in class org.stekikun.dolmen.codegen.LexBuffer
-
This function is useful in cases when a lexer's semantic
action must act depending on what kind of input follows the
current token in the stream (although arguably at that point it's
not lexing anymore but parsing!).
- peekNextChars(char[]) - Method in class org.stekikun.dolmen.codegen.LexBuffer
-
This function fetches the next characters in the stream
and returns them into the given character buffer chars
.
- PER_LEVEL - Static variable in class org.stekikun.dolmen.codegen.CodeBuilder
-
Amount of indentation per level
- Perform(int, List<DFA.TagAction>) - Constructor for class org.stekikun.dolmen.automaton.DFA.Perform
-
- PExtent - Class in org.stekikun.dolmen.syntax
-
Instances of this class describe ranges of characters
in files, and are used to link parsed entities with
their concrete representation in the original sources.
- PExtent(PExtent) - Constructor for class org.stekikun.dolmen.syntax.PExtent
-
A copy constructor for parameterized extents
- PExtent.Builder - Class in org.stekikun.dolmen.syntax
-
- PExtent.Hole - Class in org.stekikun.dolmen.syntax
-
- PGrammar - Class in org.stekikun.dolmen.syntax
-
A parametric parser description is a set of possibly parametric
grammar rules along with arbitrary
header and footer sections.
- PGrammar.Builder - Class in org.stekikun.dolmen.syntax
-
A builder class for
PGrammar
, where rules can be
added incrementally, and which takes care of collecting
problem reports along the way
- PGrammar.IllFormedException - Exception in org.stekikun.dolmen.syntax
-
Exception raised by the grammar
builder class
when trying to construct an ill-formed grammar description.
- PGrammarRule - Class in org.stekikun.dolmen.syntax
-
Describes a (potentially parametric) grammar rule for a
non-terminal in a parametric grammar description.
- PGrammarRule(boolean, PExtent, Located<String>, List<Located<String>>, PExtent, List<PProduction>) - Constructor for class org.stekikun.dolmen.syntax.PGrammarRule
-
Builds a grammar rule from the given parameters
- PGrammarRule.Builder - Class in org.stekikun.dolmen.syntax
-
A builder class for
grammar rules,
where productions can be added incrementally
- PGrammars - Class in org.stekikun.dolmen.syntax
-
- PGrammars.Args - Enum in org.stekikun.dolmen.syntax
-
Enumeration representing the different constraints which can exist
on the arguments of a symbol in a grammar: arguments can either
be mandatory, forbidden, or there may be no constraint at all.
- PGrammars.Dependencies - Class in org.stekikun.dolmen.syntax
-
Represents the dependencies between the various non-terminals
in some grammar.
- PGrammars.Sort - Enum in org.stekikun.dolmen.syntax
-
This enumeration describes the various sorts which can characterize
the kind of terminals or non-terminals (or more generally actual
expressions) that can stand for some formal parameter in a parametric
grammar.
- pivot - Variable in class org.stekikun.dolmen.codegen.DecisionTree.Split
-
The pivot character
- PList<A> - Class in org.stekikun.dolmen.common
-
This class implements polymorphic persistent lists.
- plus(Regular) - Static method in class org.stekikun.dolmen.syntax.Regular
-
- popInput() - Method in class org.stekikun.dolmen.codegen.LexBuffer
-
This fetches the input stream which is at the stop of the input
stack.
- pos - Variable in exception org.stekikun.dolmen.codegen.BaseParser.ParsingException
-
The position in input at which the error occurred
- pos - Variable in exception org.stekikun.dolmen.codegen.LexBuffer.LexicalError
-
The position in input at which the error occurred
- Position(String) - Constructor for class org.stekikun.dolmen.codegen.LexBuffer.Position
-
Returns the initial position in the given file
- Position(String, int, int, int) - Constructor for class org.stekikun.dolmen.codegen.LexBuffer.Position
-
Builds a position from the given parameters
- positions(boolean) - Method in class org.stekikun.dolmen.codegen.Config.Builder
-
- positions - Variable in class org.stekikun.dolmen.codegen.Config
-
Whether the parser should keep positions for
non-terminal symbols as well as terminal symbols
- PProduction - Class in org.stekikun.dolmen.syntax
-
A
parameterized grammar production consists of
a sequence of
production items
some of them being
actual grammar items
(terminals or non-terminals, the latter potentially
applied recursively to other actuals) and others being
simply
semantic actions.
- PProduction(List<PProduction.Item>) - Constructor for class org.stekikun.dolmen.syntax.PProduction
-
Builds a grammar production based on the given parameters
- PProduction.ActionItem - Class in org.stekikun.dolmen.syntax
-
Represents a semantic action item, i.e. a semantic
action which is performed by the generated parser
when the enclosing production rule is executed.
- PProduction.Actual - Class in org.stekikun.dolmen.syntax
-
Represents an actual production item, i.e.
- PProduction.ActualExpr - Class in org.stekikun.dolmen.syntax
-
An expression representing the application of some grammar rule,
potentially via applications of parameterized rules of the grammar
to other symbols or expressions.
- PProduction.Builder - Class in org.stekikun.dolmen.syntax
-
- PProduction.Continue - Class in org.stekikun.dolmen.syntax
-
Represents a continuation of the current rule,
and unlike the equivalent
actual,
this allows the generator to produce an optimized
tail-recursive call.
- PProduction.Item - Class in org.stekikun.dolmen.syntax
-
The base class for production items.
- PProduction.ItemKind - Enum in org.stekikun.dolmen.syntax
-
Enumeration which describes the different kinds of
implementations of
PProduction.Item
.
- predictionTable(Grammar, Grammars.NTermsInfo) - Static method in class org.stekikun.dolmen.unparam.Grammars
-
Constructs a prediction table for the given grammar.
- present(Consumer<T>) - Method in interface org.stekikun.dolmen.common.Generator
-
Presents the values generated by this generator
on standard output, running the provided consumer
on each generated value
- present() - Method in interface org.stekikun.dolmen.common.Generator
-
Presents the values generated by this generator
on standard output
- print(Appendable) - Method in class org.stekikun.dolmen.codegen.CodeBuilder
-
Prints all code emitted thus far in this
code builder into the provided appendable
- print(char) - Method in class org.stekikun.dolmen.common.Prompt.TermStream
-
Prints the given character to the stream.
- print(String) - Method in class org.stekikun.dolmen.common.Prompt.TermStream
-
Prints the given string to the stream.
- println(String) - Method in class org.stekikun.dolmen.common.Prompt.TermStream
-
Prints the given string followed by a system line separator.
- priority - Variable in class org.stekikun.dolmen.automaton.DFA.MemMap
-
Priority
- problems(int) - Method in class org.stekikun.dolmen.common.Bookkeeper
-
Convenient wrapper around
Bookkeeper.warn(String)
to report
on a certain number of problems found during the last completed subtask.
- prod - Variable in class org.stekikun.dolmen.debug.Derivation.NonTerminal
-
The index of the production used to produce this non-terminal
- production(Appendable, short, short) - Method in interface org.stekikun.dolmen.debug.Derivation.Displayer
-
Displays a production for the given rule and production ordinals
- production(short, short, List<Derivation>) - Static method in class org.stekikun.dolmen.debug.Derivation
-
- Production - Class in org.stekikun.dolmen.unparam
-
A grammar
production consists of
a sequence of
production items
some of them being
actual grammar items
(terminals or non-terminals) and others being
simply
semantic actions.
- Production(List<Production.Item>) - Constructor for class org.stekikun.dolmen.unparam.Production
-
Builds a grammar production based on the given parameters
- Production.ActionItem - Class in org.stekikun.dolmen.unparam
-
Represents a semantic action item, i.e. a semantic
action which is performed by the generated parser
when the enclosing production rule is executed.
- Production.Actual - Class in org.stekikun.dolmen.unparam
-
Represents an actual production item, i.e.
- Production.Builder - Class in org.stekikun.dolmen.unparam
-
- Production.Continue - Class in org.stekikun.dolmen.unparam
-
Represents a continuation of the current rule,
and unlike the equivalent
actual,
this allows the generator to produce an optimized
tail-recursive call.
- Production.Item - Class in org.stekikun.dolmen.unparam
-
The base class for production items.
- Production.ItemKind - Enum in org.stekikun.dolmen.unparam
-
Enumeration which describes the different kinds of
implementations of
Production.Item
.
- productions - Variable in class org.stekikun.dolmen.syntax.PGrammarRule
-
The productions for this rule
- productions - Variable in class org.stekikun.dolmen.unparam.GrammarRule
-
The productions for this rule
- project(Regular, CSet) - Static method in class org.stekikun.dolmen.syntax.Regulars
-
The projection of a regular expression on a character set provides
regular expressions for all character in the set, with the following
meaning: a string s
with first character c
matches the
regular expression r
if and only if s.substring(1)
matches
the projection of r
on the character c
.
- Prompt - Class in org.stekikun.dolmen.common
-
Static utility functions to interact
with standard input and terminals
- prompt(Tokenizer.LexerInterface<L, T>, boolean) - Static method in class org.stekikun.dolmen.debug.Tokenizer
-
This method can be used to conveniently test a lexical analyzer
against various one-line sentences entered manually or fed from a
test file.
- Prompt.Colors - Enum in org.stekikun.dolmen.common
-
Enumerates basic 16 terminal colors along with their
ANSI color code.
- Prompt.TermStream - Class in org.stekikun.dolmen.common
-
A wrapper around a
PrintStream
which may or may
not support colored output via ANSI terminal control sequences.
- pushInput(String, Reader) - Method in class org.stekikun.dolmen.codegen.LexBuffer
-
This pushes the current input stream to the internal input stack
and resets the lexer to read from the given reader
.