| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Stop supporting SLR(1) and always use LALR(1) | Ryo Nihei | 2022-05-22 | 7 | -1076/+4 |
| | | |||||
| * | Prohibit applying #left, #right, #assign, and #prec to an error symbol | Ryo Nihei | 2022-05-15 | 2 | -14/+103 |
| | | | | | | | | The shift of the error symbol is an operation forced by the driver. Therefore it is impossible to change this behavior by giving precedence to the error symbol. If we desire to change the precedence of a production rule with the error symbol, we can use #prec directive. | ||||
| * | Add spelling inconsistencies check | Ryo Nihei | 2022-05-10 | 3 | -23/+238 |
| | | |||||
| * | Make the identifier format strict | Ryo Nihei | 2022-05-10 | 4 | -65/+66 |
| | | |||||
| * | Change the suffix of a description file from -description.json to -report.json | Ryo Nihei | 2022-05-10 | 2 | -12/+12 |
| | | |||||
| * | Add ordered symbol notation | Ryo Nihei | 2022-05-10 | 3 | -123/+969 |
| | | |||||
| * | Add #assign directive | Ryo Nihei | 2022-05-10 | 2 | -0/+333 |
| | | | | | An #assign directive changes only precedence. | ||||
| * | Change syntax for top-level directives | Ryo Nihei | 2022-05-10 | 9 | -220/+570 |
| | | | | | | | | | | | | | | %name changes to: #name example; %left and %right change to: #prec ( #left a b #right c d ); | ||||
| * | Make #prec directive change only precedence and not associativity | Ryo Nihei | 2022-05-10 | 3 | -26/+224 |
| | | |||||
| * | Suppress a report about conflicts resolved explicitly | Ryo Nihei | 2022-04-22 | 2 | -37/+68 |
| | | |||||
| * | vartan-show command prints only adopted actions when conflicts occur | Ryo Nihei | 2022-04-21 | 3 | -58/+51 |
| | | |||||
| * | Prohibit ambiguous symbol in an #ast directive | Ryo Nihei | 2022-04-16 | 3 | -1/+49 |
| | | |||||
| * | Add tests for compiler | Ryo Nihei | 2022-04-16 | 1 | -0/+224 |
| | | |||||
| * | Prohibit using the same element multiple times in the #ast directive | Ryo Nihei | 2022-04-16 | 3 | -4/+45 |
| | | |||||
| * | Prohibit specifying associativity and precedence multiple times for a symbol | Ryo Nihei | 2022-04-16 | 3 | -1/+130 |
| | | |||||
| * | Add tests for compiler | Ryo Nihei | 2022-04-15 | 3 | -113/+719 |
| | | |||||
| * | Move compiler tests from driver package to grammar package | Ryo Nihei | 2022-04-14 | 2 | -8/+656 |
| | | |||||
| * | Fix error messages | Ryo Nihei | 2022-03-30 | 1 | -2/+2 |
| | | |||||
| * | Upgrade maleeni to v0.6.0 | Ryo Nihei | 2022-03-30 | 1 | -1/+21 |
| | | |||||
| * | Allow an alternative to have multiple directives | Ryo Nihei | 2022-03-30 | 2 | -5/+26 |
| | | |||||
| * | Move directives given to lexical productions | Ryo Nihei | 2022-03-29 | 2 | -30/+38 |
| | | | | | | Move all directives given to lexical productions from alternative directives to production directives. This change aims to ensure consistency with respect to the syntax of definitions of terminal symbols and non-terminal symbols. | ||||
| * | Use IDs and labels as parameters of an #ast directive instead of symbol ↵ | Ryo Nihei | 2022-03-29 | 1 | -21/+25 |
| | | | | | positions | ||||
| * | Add label notation | Ryo Nihei | 2022-03-29 | 2 | -0/+25 |
| | | |||||
| * | Simplify the syntax of #ast directive | Ryo Nihei | 2022-03-28 | 1 | -30/+29 |
| | | | | | This change allows using the simple syntax of the directive like `#ast $1 $3...` instead of `#ast #(foo $1 $3...)`. | ||||
| * | Follow golangci-lint | Ryo Nihei | 2022-03-28 | 7 | -88/+31 |
| | | |||||
| * | Add name directive to specify a grammar name | Ryo Nihei | 2021-10-28 | 8 | -2/+71 |
| | | |||||
| * | Use maleeni v0.5.1 | Ryo Nihei | 2021-10-27 | 1 | -1/+4 |
| | | |||||
| * | Use the LALR by default when using grammar.Compile instead of the CLI | Ryo Nihei | 2021-09-03 | 1 | -1/+3 |
| | | |||||
| * | Support LAC (lookahead correction) | Ryo Nihei | 2021-09-02 | 2 | -0/+9 |
| | | |||||
| * | Remove the expected terminals field from the parsing table | Ryo Nihei | 2021-08-31 | 2 | -25/+5 |
| | | | | | The driver searches the expected terminals corresponding to each state if necessary. | ||||
| * | Add #prec directive to set precedence and associativity of productions | Ryo Nihei | 2021-08-30 | 1 | -10/+48 |
| | | |||||
| * | Add precedences and associativities to the description file | Ryo Nihei | 2021-08-29 | 2 | -3/+42 |
| | | |||||
| * | Add describe command to print a description file | Ryo Nihei | 2021-08-29 | 3 | -171/+213 |
| | | |||||
| * | Use a pattern string defined by a string literal as its alias | Ryo Nihei | 2021-08-28 | 1 | -13/+42 |
| | | |||||
| * | Add an #alias directive to define a user-friendly name of a terminal | Ryo Nihei | 2021-08-28 | 1 | -11/+36 |
| | | |||||
| * | Add error symbol and #recover directive to recover from an error state | Ryo Nihei | 2021-08-26 | 9 | -43/+156 |
| | | |||||
| * | Fix panic on no productions | Ryo Nihei | 2021-08-22 | 1 | -0/+3 |
| | | |||||
| * | Add a column number to an error message | Ryo Nihei | 2021-08-22 | 1 | -0/+28 |
| | | |||||
| * | Support %left and %right to specify precedences and associativities | Ryo Nihei | 2021-08-22 | 3 | -3/+176 |
| | | |||||
| * | Resolve conflicts by default rules | Ryo Nihei | 2021-08-21 | 3 | -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 common | Ryo Nihei | 2021-08-18 | 3 | -361/+152 |
| | | |||||
| * | Set look-ahead symbols to items before generating a SLR(1) parsing table | Ryo Nihei | 2021-08-18 | 9 | -288/+713 |
| | | |||||
| * | Support LALR(1) class | Ryo Nihei | 2021-08-15 | 11 | -920/+2089 |
| | | |||||
| * | Fix the name of the EOF symbol in the description file | Ryo Nihei | 2021-08-03 | 1 | -0/+7 |
| | | |||||
| * | Print expected terminals on a parse error | Ryo Nihei | 2021-08-02 | 3 | -15/+35 |
| | | |||||
| * | Use maleeni v0.3.0 | Ryo Nihei | 2021-08-01 | 1 | -33/+22 |
| | | |||||
| * | Write terminals to a description file | Ryo Nihei | 2021-07-31 | 5 | -43/+78 |
| | | |||||
| * | Detect duplicate names between terminals and non-terminals | Ryo Nihei | 2021-07-31 | 2 | -4/+12 |
| | | |||||
| * | Prevent terminals used in productions from being skipped | Ryo Nihei | 2021-07-31 | 2 | -23/+57 |
| | | | | | A terminal symbol used in productions cannot have the skip directive. | ||||
| * | Detect unused-symbol error | Ryo Nihei | 2021-07-30 | 2 | -1/+102 |
| | | | | | When there are productions and terminals that are cannot be reached from the start symbol, the compiler reports an error. | ||||
