Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Namespace packages with "urubu/" | EuAndreh | 2024-12-10 | 14 | -5568/+0 |
| | |||||
* | Start building test files | EuAndreh | 2024-12-10 | 6 | -13/+13 |
| | |||||
* | Build and test existing code as is | EuAndreh | 2024-12-02 | 5 | -10/+10 |
| | |||||
* | Add byte position to nodes of a syntax tree | Ryo Nihei | 2022-11-13 | 4 | -5/+22 |
| | |||||
* | Fix typo | Ryo Nihei | 2022-11-13 | 1 | -10/+10 |
| | |||||
* | Add byte position to tokens | Ryo Nihei | 2022-11-13 | 2 | -241/+270 |
| | |||||
* | Set token positions for the EOF symbol | Ryo Nihei | 2022-11-12 | 2 | -3/+3 |
| | | | | | | vartan intentionally had not set positional information for the EOF symbol in a token because the corresponding character does not exist in the source code. However, to be able to include the positional information in a syntax error message when a syntax error occurs due to the detection of the EOF symbol during parsing, this commit sets the position next to the last character in the source code as the position of the EOF symbol. | ||||
* | Fix counting of token positions | Ryo Nihei | 2022-11-12 | 1 | -37/+46 |
| | | | | The name `unread` gives the impression of operating just the opposite of `read`. However, this commit renames `unread` function to `revert` because it was a function to revert the state to the last acceptance. | ||||
* | Import source code of lexer generator | Ryo Nihei | 2022-11-10 | 14 | -94/+2125 |
| | | | | From: https://github.com/nihei9/maleeni | ||||
* | Move the skip table from lexer-related data to parser-related data | Ryo Nihei | 2022-11-06 | 4 | -40/+33 |
| | |||||
* | Remove anonymous symbol system | Ryo Nihei | 2022-11-05 | 3 | -53/+68 |
| | | | | Remove unimportant features to tidy up the specification. | ||||
* | Remove alias system | Ryo Nihei | 2022-11-05 | 5 | -44/+22 |
| | | | | Remove unimportant features to tidy up the specification. | ||||
* | Prohibit using a pattern in an alternative | Ryo Nihei | 2022-06-12 | 1 | -6/+8 |
| | | | | | | When a syntax error occurs, the parser must provide a user with the names of expected tokens. However, if a pattern appears directly in an alternative, Vartan cannot assign an appropriate name to the pattern. Therefore, this commit prohibits alternatives from containing patterns. | ||||
* | Remove the kind field from a node corresponding to an anonymous terminal symbol | Ryo Nihei | 2022-06-11 | 3 | -10/+202 |
| | |||||
* | Rename spec package to spec/grammar package | Ryo Nihei | 2022-05-27 | 8 | -8/+8 |
| | |||||
* | Allows a directory to be specified as the --output option for the ↵ | Ryo Nihei | 2022-05-22 | 5 | -5/+5 |
| | | | | vartan-compile command | ||||
* | Stop supporting SLR(1) and always use LALR(1) | Ryo Nihei | 2022-05-22 | 8 | -83/+60 |
| | |||||
* | Prohibit using escape sequences in string literals | Ryo Nihei | 2022-05-15 | 1 | -0/+24 |
| | |||||
* | Follow golangci-lint | Ryo Nihei | 2022-05-10 | 1 | -3/+1 |
| | |||||
* | Make the identifier format strict | Ryo Nihei | 2022-05-10 | 1 | -7/+7 |
| | |||||
* | Add ordered symbol notation | Ryo Nihei | 2022-05-10 | 1 | -7/+7 |
| | |||||
* | Add #assign directive | Ryo Nihei | 2022-05-10 | 1 | -13/+152 |
| | | | | An #assign directive changes only precedence. | ||||
* | Change syntax for top-level directives | Ryo Nihei | 2022-05-10 | 5 | -52/+70 |
| | | | | | | | | | | | | | %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 | 1 | -2/+47 |
| | |||||
* | Add --json option to vartan-parse command | Ryo Nihei | 2022-05-10 | 2 | -27/+79 |
| | |||||
* | vartan-show command prints only adopted actions when conflicts occur | Ryo Nihei | 2022-04-21 | 1 | -5/+0 |
| | |||||
* | Add tests for driver | Ryo Nihei | 2022-04-16 | 1 | -3/+155 |
| | |||||
* | Move compiler tests from driver package to grammar package | Ryo Nihei | 2022-04-14 | 1 | -545/+2 |
| | |||||
* | Allow arbitrary user-defined types for nodes in a syntax tree | Ryo Nihei | 2022-04-03 | 3 | -196/+219 |
| | |||||
* | Print a parse tree even if syntax error occur | Ryo Nihei | 2022-04-01 | 1 | -2/+8 |
| | | | | | A parser can construct a parse tree even if syntax error occur. When there is a parse tree, print it. | ||||
* | Allow an alternative to have multiple directives | Ryo Nihei | 2022-03-30 | 1 | -2/+116 |
| | |||||
* | Move directives given to lexical productions | Ryo Nihei | 2022-03-29 | 4 | -71/+136 |
| | | | | | 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. | ||||
* | Change syntax of production directives | Ryo Nihei | 2022-03-29 | 1 | -12/+16 |
| | | | | | | | The position of directives given to productions has moved from before a left-hand side value to after a left-hand side value. This change aims to simplify the syntax. However, there is no change in positions of directives given to alternatives. | ||||
* | Use IDs and labels as parameters of an #ast directive instead of symbol ↵ | Ryo Nihei | 2022-03-29 | 1 | -4/+102 |
| | | | | positions | ||||
* | Add label notation | Ryo Nihei | 2022-03-29 | 1 | -0/+60 |
| | |||||
* | Simplify the syntax of #ast directive | Ryo Nihei | 2022-03-28 | 1 | -19/+4 |
| | | | | This change allows using the simple syntax of the directive like `#ast $1 $3...` instead of `#ast #(foo $1 $3...)`. | ||||
* | Add vartan-go command | Ryo Nihei | 2022-03-27 | 8 | -47/+613 |
| | |||||
* | Use a lexer via interface | Ryo Nihei | 2022-03-27 | 9 | -91/+183 |
| | |||||
* | Use grammar via an interface | Ryo Nihei | 2022-03-23 | 7 | -48/+172 |
| | |||||
* | Add name directive to specify a grammar name | Ryo Nihei | 2021-10-28 | 5 | -0/+133 |
| | |||||
* | Use maleeni v0.5.1 | Ryo Nihei | 2021-10-27 | 4 | -17/+18 |
| | |||||
* | Pass a token that caused a syntax error to the semantic action APIs | Ryo Nihei | 2021-09-07 | 3 | -16/+17 |
| | |||||
* | Call the 'MissError' when input doesn't meet an error production | Ryo Nihei | 2021-09-07 | 2 | -1/+7 |
| | |||||
* | Add the semantic action API 'TrapAndShiftError' instead of 'TrapError' and ↵ | Ryo Nihei | 2021-09-07 | 3 | -52/+35 |
| | | | | 'ShiftError' | ||||
* | Change semantic action APIs | Ryo Nihei | 2021-09-07 | 3 | -18/+42 |
| | | | | The driver reports whether it recovered from an error to the semantic action APIs via the argument `recovered`. | ||||
* | Add tests for LAC | Ryo Nihei | 2021-09-03 | 1 | -0/+113 |
| | |||||
* | Make semantic actions user-configurable | Ryo Nihei | 2021-09-03 | 6 | -242/+521 |
| | |||||
* | Support LAC (lookahead correction) | Ryo Nihei | 2021-09-02 | 1 | -29/+115 |
| | |||||
* | Remove the expected terminals field from the parsing table | Ryo Nihei | 2021-08-31 | 1 | -10/+15 |
| | | | | The driver searches the expected terminals corresponding to each state if necessary. | ||||
* | Refactor | Ryo Nihei | 2021-08-30 | 1 | -166/+216 |
| |