Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Import source code of lexer generator | Ryo Nihei | 2022-11-10 | 1 | -838/+0 |
| | | | | From: https://github.com/nihei9/maleeni | ||||
* | Remove anonymous symbol system | Ryo Nihei | 2022-11-05 | 1 | -20/+48 |
| | | | | Remove unimportant features to tidy up the specification. | ||||
* | Remove alias system | Ryo Nihei | 2022-11-05 | 1 | -15/+19 |
| | | | | 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 | 1 | -8/+12 |
| | |||||
* | Rename spec package to spec/grammar package | Ryo Nihei | 2022-05-27 | 1 | -1/+1 |
| | |||||
* | Allows a directory to be specified as the --output option for the ↵ | Ryo Nihei | 2022-05-22 | 1 | -1/+1 |
| | | | | vartan-compile command | ||||
* | Stop supporting SLR(1) and always use LALR(1) | Ryo Nihei | 2022-05-22 | 1 | -62/+55 |
| | |||||
* | Prohibit using escape sequences in string literals | Ryo Nihei | 2022-05-15 | 1 | -0/+24 |
| | |||||
* | Add ordered symbol notation | Ryo Nihei | 2022-05-10 | 1 | -7/+7 |
| | |||||
* | Change syntax for top-level directives | Ryo Nihei | 2022-05-10 | 1 | -29/+37 |
| | | | | | | | | | | | | | %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 | 1 | -5/+7 |
| | |||||
* | 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 | 1 | -14/+14 |
| | |||||
* | 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 | 1 | -44/+82 |
| | | | | | 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 | 1 | -3/+4 |
| | |||||
* | Use a lexer via interface | Ryo Nihei | 2022-03-27 | 1 | -1/+6 |
| | |||||
* | Use grammar via an interface | Ryo Nihei | 2022-03-23 | 1 | -1/+1 |
| | |||||
* | Add name directive to specify a grammar name | Ryo Nihei | 2021-10-28 | 1 | -0/+105 |
| | |||||
* | Use maleeni v0.5.1 | Ryo Nihei | 2021-10-27 | 1 | -12/+12 |
| | |||||
* | Make semantic actions user-configurable | Ryo Nihei | 2021-09-03 | 1 | -5/+6 |
| | |||||
* | Add #prec directive to set precedence and associativity of productions | Ryo Nihei | 2021-08-30 | 1 | -0/+92 |
| | |||||
* | Add error symbol and #recover directive to recover from an error state | Ryo Nihei | 2021-08-26 | 1 | -0/+92 |
| | |||||
* | Support %left and %right to specify precedences and associativities | Ryo Nihei | 2021-08-22 | 1 | -0/+52 |
| | |||||
* | Resolve conflicts by default rules | Ryo Nihei | 2021-08-21 | 1 | -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) class | Ryo Nihei | 2021-08-15 | 1 | -40/+47 |
| | |||||
* | Generate an AST and a CST only when they are necessary | Ryo Nihei | 2021-08-04 | 1 | -1/+1 |
| | |||||
* | Detect duplicate names between terminals and non-terminals | Ryo Nihei | 2021-07-31 | 1 | -0/+26 |
| | |||||
* | Prevent terminals used in productions from being skipped | Ryo Nihei | 2021-07-31 | 1 | -0/+11 |
| | | | | A terminal symbol used in productions cannot have the skip directive. | ||||
* | Detect unused-symbol error | Ryo Nihei | 2021-07-30 | 1 | -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 errors | Ryo Nihei | 2021-07-28 | 1 | -0/+42 |
| | |||||
* | Add literal pattern syntax and change tree structure syntax | Ryo Nihei | 2021-07-22 | 1 | -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 file | Ryo Nihei | 2021-07-22 | 1 | -2/+4 |
| | | | | The description file describes a LR(0) item set and conflicts (if any). | ||||
* | Detect multiple semantic errors in a single parse | Ryo Nihei | 2021-07-18 | 1 | -1/+2 |
| | |||||
* | Add testing for the driver | Ryo Nihei | 2021-07-15 | 1 | -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 parameters | Ryo Nihei | 2021-07-02 | 1 | -1/+3 |
| | |||||
* | Prettify trees | Ryo Nihei | 2021-07-02 | 1 | -2/+3 |
| | |||||
* | Simplify syntax of modifiers and semantic actions | Ryo Nihei | 2021-06-30 | 1 | -15/+15 |
| | | | | Modifiers and semantic actions are represented by directives following the '#' symbol. | ||||
* | Add testing for the driver | Ryo Nihei | 2021-06-29 | 1 | -1/+114 |
| | |||||
* | Add ast action | Ryo Nihei | 2021-06-28 | 1 | -22/+87 |
| | |||||
* | Add syntax of fragment | Ryo Nihei | 2021-06-20 | 1 | -0/+11 |
| | |||||
* | Add skip action | Ryo Nihei | 2021-06-20 | 1 | -0/+12 |
| | |||||
* | Add syntax of modifiers and actions | Ryo Nihei | 2021-06-20 | 1 | -23/+65 |
| | | | | | Currently, a mode modifier and push/pop actions are available. The modifier and the actions make sense in only lexical specifications. |