aboutsummaryrefslogtreecommitdiff
path: root/driver (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Add #prec directive to set precedence and associativity of productionsRyo Nihei2021-08-301-0/+92
|
* Add an #alias directive to define a user-friendly name of a terminalRyo Nihei2021-08-281-25/+17
|
* Add error symbol and #recover directive to recover from an error stateRyo Nihei2021-08-263-27/+336
|
* Add a column number to a tokenRyo Nihei2021-08-221-2/+10
|
* Support %left and %right to specify precedences and associativitiesRyo Nihei2021-08-222-0/+297
|
* Resolve conflicts by default rulesRyo Nihei2021-08-212-12/+121
| | | | 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.
* Fix indents of a treeRyo Nihei2021-08-191-1/+1
|
* Fix panic on a syntax errorRyo Nihei2021-08-151-3/+5
|
* Support LALR(1) classRyo Nihei2021-08-151-40/+47
|
* Add --only-parse option to the parse commandRyo Nihei2021-08-051-6/+11
| | | | When this option is enabled, the parser performs only parse and doesn't semantic actions.
* Avoid the growth of slices when constructing treesRyo Nihei2021-08-051-5/+25
|
* Generate an AST and a CST only when they are necessaryRyo Nihei2021-08-042-60/+100
|
* Print expected terminals on a parse errorRyo Nihei2021-08-021-2/+44
|
* Use maleeni v0.3.0Ryo Nihei2021-08-011-2/+2
|
* Detect duplicate names between terminals and non-terminalsRyo Nihei2021-07-311-0/+26
|
* Prevent terminals used in productions from being skippedRyo Nihei2021-07-311-0/+11
| | | | A terminal symbol used in productions cannot have the skip directive.
* Detect unused-symbol errorRyo Nihei2021-07-301-0/+43
| | | | 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-281-0/+42
|
* Add literal pattern syntax and change tree structure syntaxRyo Nihei2021-07-221-5/+5
| | | | | | - Literal patterns don't interpret the special characters of regular expressions. In other words, 'abc|def' matches only `abc|def`, not `abc` or `def`. - Change tree structure syntax from '(...) to #(...).
* Write a description fileRyo Nihei2021-07-221-2/+4
| | | | The description file describes a LR(0) item set and conflicts (if any).
* Detect multiple semantic errors in a single parseRyo Nihei2021-07-181-1/+2
|
* Add testing for the driverRyo Nihei2021-07-152-0/+47
| | | | The driver can reduce productions that have the empty alternative and can generate a CST (and AST) node.
* Allow directives to take multiple parametersRyo Nihei2021-07-021-1/+3
|
* Prettify treesRyo Nihei2021-07-022-10/+32
|
* Simplify syntax of modifiers and semantic actionsRyo Nihei2021-06-301-15/+15
| | | | Modifiers and semantic actions are represented by directives following the '#' symbol.
* Add testing for the driverRyo Nihei2021-06-291-1/+114
|
* Add ast actionRyo Nihei2021-06-282-42/+158
|
* Add syntax of fragmentRyo Nihei2021-06-201-0/+11
|
* Add skip actionRyo Nihei2021-06-202-12/+33
|
* Add syntax of modifiers and actionsRyo Nihei2021-06-201-23/+65
| | | | | 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-192-0/+205