aboutsummaryrefslogtreecommitdiff
Commit message (Expand)AuthorAgeFilesLines
* Add error symbol and #recover directive to recover from an error stateRyo Nihei2021-08-2614-71/+520
* Update CHANGELOGRyo Nihei2021-08-231-0/+14
* Fix panic on no productionsRyo Nihei2021-08-221-0/+3
* Add a column number to a tokenRyo Nihei2021-08-221-2/+10
* Add a column number to an error messageRyo Nihei2021-08-227-77/+116
* Support %left and %right to specify precedences and associativitiesRyo Nihei2021-08-2211-5/+632
* Resolve conflicts by default rules•••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. Ryo Nihei2021-08-215-100/+215
* Fix indents of a treeRyo Nihei2021-08-192-13/+13
* Make the functions that test the automaton commonRyo Nihei2021-08-183-361/+152
* Update READMERyo Nihei2021-08-181-1/+1
* Set look-ahead symbols to items before generating a SLR(1) parsing tableRyo Nihei2021-08-189-288/+713
* Fix panic on a syntax errorRyo Nihei2021-08-151-3/+5
* Print a stack trace only when a panic occuredRyo Nihei2021-08-152-2/+14
* Support LALR(1) classRyo Nihei2021-08-1513-961/+2151
* Update CHANGELOGRyo Nihei2021-08-061-0/+11
* Remove the accept messageRyo Nihei2021-08-052-6/+3
* Print a stack trace on panicRyo Nihei2021-08-052-6/+9
* Add --only-parse option to the parse command•••When this option is enabled, the parser performs only parse and doesn't semantic actions. Ryo Nihei2021-08-052-17/+32
* Avoid the growth of slices when constructing treesRyo Nihei2021-08-051-5/+25
* Add --cst option to the parse command•••When this option is enabled, the parser generates a CST. Ryo Nihei2021-08-051-7/+23
* Generate an AST and a CST only when they are necessaryRyo Nihei2021-08-043-60/+100
* Fix the name of the EOF symbol in the description fileRyo Nihei2021-08-031-0/+7
* Add CHANGELOGRyo Nihei2021-08-031-0/+11
* Update READMERyo Nihei2021-08-021-2/+73
* Print expected terminals on a parse errorRyo Nihei2021-08-025-17/+81
* Use maleeni v0.3.0Ryo Nihei2021-08-016-41/+30
* Write terminals to a description fileRyo Nihei2021-07-315-43/+78
* Detect duplicate names between terminals and non-terminalsRyo Nihei2021-07-313-4/+38
* Prevent terminals used in productions from being skipped•••A terminal symbol used in productions cannot have the skip directive. Ryo Nihei2021-07-313-23/+68
* Detect unused-symbol error•••When there are productions and terminals that are cannot be reached from the start symbol, the compiler reports an error. Ryo Nihei2021-07-303-1/+145
* Add a token position and detailed info to a lexical error messageRyo Nihei2021-07-283-7/+21
* Count the number of each line in consecutive linesRyo Nihei2021-07-283-2/+54
* Detect duplicate production errorsRyo Nihei2021-07-284-9/+87
* Add literal pattern syntax and change tree structure syntax•••- 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 #(...). Ryo Nihei2021-07-229-23/+55
* Write a description file•••The description file describes a LR(0) item set and conflicts (if any). Ryo Nihei2021-07-228-26/+209
* 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
* Sort error messages before printing themRyo Nihei2021-07-191-2/+12
* Detect multiple semantic errors in a single parseRyo Nihei2021-07-1812-47/+165
* Add token positions to an ASTRyo Nihei2021-07-183-29/+238
* RefactorRyo Nihei2021-07-183-186/+248
* Detect multiple syntax errors in a single parseRyo Nihei2021-07-176-39/+126
* Improve syntax error messages•••- Add a source file name to error messages. - Add a line that an error occurred at to error messages. Ryo Nihei2021-07-174-25/+139
* Add a line number to token error messagesRyo Nihei2021-07-172-6/+31
* Add a line number to error messagesRyo Nihei2021-07-166-74/+137
* Add testing for the driver•••The driver can reduce productions that have the empty alternative and can generate a CST (and AST) node. Ryo Nihei2021-07-152-0/+47
* Allow directives to take multiple parametersRyo Nihei2021-07-024-34/+56
* Prettify treesRyo Nihei2021-07-023-11/+33
* Prohibit defining identifiers beginning with an underscore•••Identifiers beginning with an underscore are used as auto-generated identifiers. Ryo Nihei2021-07-023-1/+10