aboutsummaryrefslogtreecommitdiff
path: root/grammar (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Support %left and %right to specify precedences and associativitiesRyo Nihei2021-08-223-3/+176
|
* Resolve conflicts by default rulesRyo Nihei2021-08-213-88/+94
| | | | When a shift/reduce conflict occurred, we prioritize the shift action, and when a reduce/reduce conflict occurred, we prioritize the production defined earlier in the grammar file.
* Make the functions that test the automaton commonRyo Nihei2021-08-183-361/+152
|
* Set look-ahead symbols to items before generating a SLR(1) parsing tableRyo Nihei2021-08-189-288/+713
|
* Support LALR(1) classRyo Nihei2021-08-1511-920/+2089
|
* Fix the name of the EOF symbol in the description fileRyo Nihei2021-08-031-0/+7
|
* Print expected terminals on a parse errorRyo Nihei2021-08-023-15/+35
|
* Use maleeni v0.3.0Ryo Nihei2021-08-011-33/+22
|
* Write terminals to a description fileRyo Nihei2021-07-315-43/+78
|
* Detect duplicate names between terminals and non-terminalsRyo Nihei2021-07-312-4/+12
|
* Prevent terminals used in productions from being skippedRyo Nihei2021-07-312-23/+57
| | | | A terminal symbol used in productions cannot have the skip directive.
* Detect unused-symbol errorRyo Nihei2021-07-302-1/+102
| | | | When there are productions and terminals that are cannot be reached from the start symbol, the compiler reports an error.
* Detect duplicate production errorsRyo Nihei2021-07-283-9/+45
|
* Write a description fileRyo Nihei2021-07-226-21/+193
| | | | The description file describes a LR(0) item set and conflicts (if any).
* Print pattern strings of anonymous pattern on conflict messagesRyo Nihei2021-07-202-10/+28
|
* Detect multiple conflictsRyo Nihei2021-07-203-29/+124
|
* Detect duplicate definitions of terminal symbols and fragments in advanceRyo Nihei2021-07-192-0/+21
|
* Detect multiple semantic errors in a single parseRyo Nihei2021-07-186-27/+139
|
* RefactorRyo Nihei2021-07-181-180/+217
|
* Detect multiple syntax errors in a single parseRyo Nihei2021-07-171-0/+4
|
* Allow directives to take multiple parametersRyo Nihei2021-07-021-12/+12
|
* Simplify syntax of modifiers and semantic actionsRyo Nihei2021-06-301-23/+23
| | | | Modifiers and semantic actions are represented by directives following the '#' symbol.
* Prioritize anonymous patterns over named patternsRyo Nihei2021-06-291-1/+4
|
* Add ast actionRyo Nihei2021-06-281-5/+79
|
* Add syntax of fragmentRyo Nihei2021-06-201-0/+9
|
* Add skip actionRyo Nihei2021-06-201-4/+26
|
* Add syntax of modifiers and actionsRyo Nihei2021-06-201-1/+42
| | | | | Currently, a mode modifier and push/pop actions are available. The modifier and the actions make sense in only lexical specifications.
* Add driverRyo Nihei2021-06-191-0/+99
|
* Add SLR parsing table generatorRyo Nihei2021-06-1810-0/+2201
|
* Add production setRyo Nihei2021-06-181-0/+121
|
* Add symbol tableRyo Nihei2021-06-182-0/+394