Package | Description |
---|---|
org.stekikun.dolmen.automaton | |
org.stekikun.dolmen.codegen | |
org.stekikun.dolmen.common | |
org.stekikun.dolmen.syntax | |
org.stekikun.dolmen.tagged |
Modifier and Type | Field and Description |
---|---|
TreeMap<CSet,DFA.TransActions> |
DFA.Shift.transTable
The transition table between character sets and transition actions
|
Constructor and Description |
---|
Shift(DFA.Remember remember,
TreeMap<CSet,DFA.TransActions> transTable) |
Modifier and Type | Field and Description |
---|---|
TreeMap<CSet,DFA.TransActions> |
DecisionTree.Switch.table
The transition table implemented in this switch
|
Modifier and Type | Method and Description |
---|---|
abstract CSet |
DecisionTree.getDomain() |
CSet |
DecisionTree.Impossible.getDomain() |
CSet |
DecisionTree.Return.getDomain() |
CSet |
DecisionTree.Split.getDomain() |
CSet |
DecisionTree.Switch.getDomain() |
CSet |
DecisionTree.Table.getDomain() |
Modifier and Type | Method and Description |
---|---|
static DecisionTree |
DecisionTree.compile(TreeMap<CSet,DFA.TransActions> partition) |
static DecisionTree |
DecisionTree.switchTable(TreeMap<CSet,DFA.TransActions> table) |
Modifier and Type | Field and Description |
---|---|
static CSet |
CSet.ALL
The set of all possible characters, including
the special end-of-file marker.
|
static CSet |
CSet.ALL_BUT_EOF
Like
ALL but does not contain the special
end-of-input marker |
static CSet |
CSet.EMPTY
The empty character set
|
static CSet |
CSet.EOF
Special character set used to denote end-of-file
|
Modifier and Type | Method and Description |
---|---|
static CSet |
CSet.chars(char... chars) |
static CSet |
CSet.complement(CSet cs) |
static CSet |
CSet.diff(CSet cs1,
CSet cs2) |
CSet |
CSet.Gen.generate() |
static CSet |
CSet.inter(CSet cs1,
CSet cs2)
Returns the intersection of the two given character sets
|
static CSet |
CSet.interval(char first,
char last) |
static CSet |
CSet.singleton(char c) |
static CSet |
CSet.union(CSet... charSets) |
static CSet |
CSet.union(CSet cs1,
CSet cs2)
Returns the union of the two given character sets
|
Modifier and Type | Method and Description |
---|---|
int |
CSet.compareTo(@Nullable CSet cs) |
static CSet |
CSet.complement(CSet cs) |
static CSet |
CSet.diff(CSet cs1,
CSet cs2) |
static boolean |
CSet.equivalent(CSet cs1,
CSet cs2) |
static boolean |
CSet.included(CSet cs1,
CSet cs2) |
static CSet |
CSet.inter(CSet cs1,
CSet cs2)
Returns the intersection of the two given character sets
|
static CSet |
CSet.union(CSet... charSets) |
static CSet |
CSet.union(CSet cs1,
CSet cs2)
Returns the union of the two given character sets
|
static Iterable<Character> |
CSet.witnesses(CSet cset) |
Modifier and Type | Field and Description |
---|---|
CSet |
Regular.Characters.chars
The character set matched by this expression
|
Modifier and Type | Method and Description |
---|---|
static @Nullable CSet |
Regulars.asCSet(Regular reg)
A regular expression corresponds to a character set if it is either
a character set, or an alternation of expression which correspond to
a character set.
|
static CSet |
Regulars.first(Regular regular) |
Modifier and Type | Method and Description |
---|---|
static Map<CSet,Regular> |
Regulars.project(Regular regular,
CSet first)
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 . |
Modifier and Type | Method and Description |
---|---|
static Regular |
Regular.chars(CSet chars) |
static Map<CSet,Regular> |
Regulars.project(Regular regular,
CSet first)
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 . |
Modifier and Type | Field and Description |
---|---|
List<CSet> |
TLexer.charsets
The character set dictionary
|
Modifier and Type | Method and Description |
---|---|
List<CSet> |
Encoder.getCharacterSets() |
Modifier and Type | Method and Description |
---|---|
static Iterable<TRegulars.MatchResult> |
TRegulars.allMatches(List<CSet> charSets,
TRegular regular,
String input) |
static @Nullable Map<TRegular.TagInfo,Integer> |
TRegulars.matches(List<CSet> charSets,
TRegular regular,
String input) |
static Iterable<String> |
TRegulars.witnesses(List<CSet> charSets,
TRegular regular) |
Constructor and Description |
---|
TLexer(List<Located<String>> imports,
Extent header,
List<TLexerEntry> entries,
List<CSet> charsets,
Extent footer)
Builds a tagged lexer definition from the
given arguments
|