aboutsummaryrefslogtreecommitdiff
path: root/driver/parser_test.go (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add #prec directive to set precedence and associativity of productionsRyo Nihei2021-08-301-0/+92
|
* Add error symbol and #recover directive to recover from an error stateRyo Nihei2021-08-261-0/+92
|
* Support %left and %right to specify precedences and associativitiesRyo Nihei2021-08-221-0/+52
|
* Resolve conflicts by default rulesRyo Nihei2021-08-211-12/+12
| | | | 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.
* Support LALR(1) classRyo Nihei2021-08-151-40/+47
|
* Generate an AST and a CST only when they are necessaryRyo Nihei2021-08-041-1/+1
|
* 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-151-0/+44
| | | | 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-021-2/+3
|
* 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-281-22/+87
|
* Add syntax of fragmentRyo Nihei2021-06-201-0/+11
|
* Add skip actionRyo Nihei2021-06-201-0/+12
|
* 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-191-0/+50