aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Move compiler tests from driver package to grammar packageRyo Nihei2022-04-143-553/+658
|
* Update CHANGELOGRyo Nihei2022-04-031-0/+24
|
* Allow arbitrary user-defined types for nodes in a syntax treeRyo Nihei2022-04-035-203/+229
|
* Fix help documentsRyo Nihei2022-04-022-5/+4
|
* Remove --grammar option from vartan-compile commandRyo Nihei2022-04-022-8/+10
|
* Update READMERyo Nihei2022-04-021-0/+439
|
* Print a parse tree even if syntax error occurRyo Nihei2022-04-012-4/+18
| | | | | A parser can construct a parse tree even if syntax error occur. When there is a parse tree, print it.
* Fix error messagesRyo Nihei2022-03-301-2/+2
|
* Upgrade maleeni to v0.6.0Ryo Nihei2022-03-304-5/+25
|
* Allow an alternative to have multiple directivesRyo Nihei2022-03-305-23/+199
|
* Move directives given to lexical productionsRyo Nihei2022-03-299-207/+300
| | | | | 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 directivesRyo Nihei2022-03-294-76/+57
| | | | | | | 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 Nihei2022-03-2910-178/+187
| | | | positions
* Add label notationRyo Nihei2022-03-2910-26/+252
|
* Simplify the syntax of #ast directiveRyo Nihei2022-03-2811-233/+131
| | | | This change allows using the simple syntax of the directive like `#ast $1 $3...` instead of `#ast #(foo $1 $3...)`.
* Follow golangci-lintRyo Nihei2022-03-2811-103/+36
|
* Use golangci-lintRyo Nihei2022-03-271-0/+11
|
* Add vartan-go commandRyo Nihei2022-03-2712-108/+1016
|
* Use a lexer via interfaceRyo Nihei2022-03-2710-97/+194
|
* Use grammar via an interfaceRyo Nihei2022-03-238-49/+173
|
* Add name directive to specify a grammar nameRyo Nihei2021-10-2814-2/+205
|
* Use maleeni v0.5.1Ryo Nihei2021-10-278-23/+28
|
* Generate the lexer source codeRyo Nihei2021-10-275-53/+1408
|
* Pass a token that caused a syntax error to the semantic action APIsRyo Nihei2021-09-073-15/+16
|
* Call the 'MissError' when input doesn't meet an error productionRyo Nihei2021-09-072-1/+7
|
* Add the semantic action API 'TrapAndShiftError' instead of 'TrapError' and ↵Ryo Nihei2021-09-073-52/+35
| | | | 'ShiftError'
* Change semantic action APIsRyo Nihei2021-09-073-18/+42
| | | | The driver reports whether it recovered from an error to the semantic action APIs via the argument `recovered`.
* Update CHANGELOGRyo Nihei2021-09-031-0/+16
|
* Use the LALR by default when using grammar.Compile instead of the CLIRyo Nihei2021-09-031-1/+3
|
* Add tests for LACRyo Nihei2021-09-031-0/+113
|
* Make semantic actions user-configurableRyo Nihei2021-09-037-252/+539
|
* Rename describe command to show commandRyo Nihei2021-09-022-6/+51
|
* Support LAC (lookahead correction)Ryo Nihei2021-09-027-33/+139
|
* Remove the expected terminals field from the parsing tableRyo Nihei2021-08-314-36/+20
| | | | The driver searches the expected terminals corresponding to each state if necessary.
* RefactorRyo Nihei2021-08-301-165/+215
|
* Add #prec directive to set precedence and associativity of productionsRyo Nihei2021-08-302-10/+140
|
* Add precedences and associativities to the description fileRyo Nihei2021-08-294-14/+85
|
* Add describe command to print a description fileRyo Nihei2021-08-296-172/+522
|
* Use a pattern string defined by a string literal as its aliasRyo Nihei2021-08-282-18/+49
|
* Support the escape sequecens \' and \\ in a string literalRyo Nihei2021-08-285-23/+98
|
* Add an #alias directive to define a user-friendly name of a terminalRyo Nihei2021-08-286-44/+92
|
* 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 rulesRyo Nihei2021-08-215-100/+215
| | | | 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.
* Fix indents of a treeRyo Nihei2021-08-192-13/+13
|
* Make the functions that test the automaton commonRyo Nihei2021-08-183-361/+152
|