The concrete string for the Language Domain according to the words definition given at creation.
The concrete string for the Language Locale option according to the words definition given at creation.
The concrete string for the Language Variant name according to the words definition given at creation.
The concrete string for the Language Version name according to the words definition given at creation.
The fixity of the given fixity level in the language words definition.
The concrete string for the ALLOWRECURSION language pragma according to the words definition given at creation.
The concrete string for the DESTRUCTURINGFOREACH language pragma according to the words definition given at creation.
The concrete string for the ATTRIBUTE pragma according to the words definition given at creation.
The concrete string for the BEGINREGION pragma according to the words definition given at creation.
The concrete string for the ENDREGION pragma according to the words definition given at creation.
The concrete string for the EXTRASYMBOLS pragma according to the words definition given at creation.
The concrete string for the LANGUAGEDOMAIN pragma according to the words definition given at creation.
The concrete string for the LANGUAGELOCALE pragma according to the words definition given at creation.
The concrete string for the LANGUAGEMOD pragma according to the words definition given at creation.
The concrete string for the LANGUAGEVARIANT pragma according to the words definition given at creation.
The concrete string for the LANGUAGEVERSION pragma according to the words definition given at creation.
The pragma closer sigil according to the words definition given at creation.
The pragma opener sigil according to the words definition given at creation.
The pragma separator sigil according to the words definition given at creation.
The line comment opener sigils according to the words definition given at creation.
The paragraph comment closer sigils according to the words definition given at creation.
The paragraph comment opener sigils according to the words definition given at creation.
Determines the pair opener-closer that is initiated in the given source, provided that one of the openers ocurrs at its beginning.
PRECONDITION:
source
starts with one of the strings at openers
.GErrors.PreconditionErrorIn when the source does not start with some of the given openers
Private
_everyPrivate
_setPrivate
_langThe definition of words for the Gobstones language to use for recognition of characters, symbols, and identifiers.
Private
_symbolA summary of the symbol chars given in the words definition. It's purpose is efficiency and readability, because it contains redundant information.
INVARIANTS:
Private
_wordsThe tables with the associations between abstract words and concrete ones, as given by the words definition. It's purpose is efficiency and readability, because it contains redundant information.
INVARIANT: the tables associates the abstract words with the concrete words as given in the words definition.
The class Words implements an efficient way to consult a Gobstones words definition given by an instance of WordsDef with efficiency and readability. It is an auxiliary class for Gobstones lexer. It solves the problem of abstracting away the concrete words recognized by the Gobstones lexer to build tokens while simplifying the access to the definition of those words, given by a WordsDef.
To create one Words the Lexer provides it with an instance of WordsDef with a particular domain, and later use the operations of the class to ask for specific symbols and words defining tokens. The specific operations include: