Back to main page. |
Language description file is divided into several sections. Some sections are optional, some must be specified. Section order must be preserved.
Name | Description |
---|---|
StartingSymbol | name of the starting nonterminal; the nonterminal should also be in the list in the [Nonterminals] section. |
lookahead | length of the lookahead (selects grammar class) |
terminals | limit for number of terminals |
nonterminals | limit for number of nonterminals |
edges | limit for number of nonterminal edges |
nodes | limit for number of nonterminal node elements |
views | limit for number of nonterminal lookaheda elements |
keywords | limit for number of keyword shapes |
symbols | limit for number of symbol shape nodes |
actions | limit for number of semantic actions |
outterms | limit for number of output terminals |
IdName | terminal name for identifiers (if not specified, no identifiers are recognized) |
NumName | terminal name for numbers (if not specified, no numbers are recognized) |
CharName | terminal name for characters (if not specified, no characters are recognized; the character delimiter must be also set) |
StrName | terminal name for strings (if not specified, no strings are recognized; the string delimiter must be also set) |
EofName | terminal name for end-of-file (if needed) |
StackSize | specifies semantic stack size (has influence of complexity of recognized language); |
SemInsts | limit for number of semantic instructions; |
StrDelim | (input) string delimiter (v0.12+) |
CharDelim | (input) character delimiter (v0.12+) |
OutStrDelim | output string delimiter (v0.12+) |
OutCharDelim | output character delimiter (v0.12+) |
Extended | Is the grammar "extended kind" (i.e. is 'dangling else' allowed)? Default: No. (v0.12+) |
IgnoreValues | Do not use values of special terminals (identifiers, numbers, characters, and strings). Added for compatibility with KindTran. (v0.12+) |
CaseSensitive | Distinguish between small and capital letters? (i.e. are 'x' and 'X' mentioned as different?) |
If there is no semantic program for some semantic action, the semantic action is treated as empty (doing nothing).
This section may be omitted.