aboutsummaryrefslogtreecommitdiff
path: root/spec/parser.go (follow)
Commit message (Expand)AuthorAgeFilesLines
* Add tests for compilerRyo Nihei2022-04-151-6/+10
* Allow an alternative to have multiple directivesRyo Nihei2022-03-301-7/+14
* Move directives given to lexical productions•••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. Ryo Nihei2022-03-291-9/+16
* Change syntax of production directives•••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. Ryo Nihei2022-03-291-7/+2
* Use IDs and labels as parameters of an #ast directive instead of symbol posit...Ryo Nihei2022-03-291-24/+11
* Add label notationRyo Nihei2022-03-291-4/+25
* Simplify the syntax of #ast directive•••This change allows using the simple syntax of the directive like `#ast $1 $3...` instead of `#ast #(foo $1 $3...)`. Ryo Nihei2022-03-281-43/+13
* Follow golangci-lintRyo Nihei2022-03-281-6/+0
* Use a pattern string defined by a string literal as its aliasRyo Nihei2021-08-281-5/+7
* Add an #alias directive to define a user-friendly name of a terminalRyo Nihei2021-08-281-5/+22
* Support %left and %right to specify precedences and associativitiesRyo Nihei2021-08-221-0/+57
* Add a token position and detailed info to a lexical error messageRyo Nihei2021-07-281-1/+9
* Detect multiple semantic errors in a single parseRyo Nihei2021-07-181-15/+15
* Add token positions to an ASTRyo Nihei2021-07-181-3/+31
* RefactorRyo Nihei2021-07-181-5/+19
* Detect multiple syntax errors in a single parseRyo Nihei2021-07-171-16/+93
* Add a line number to error messagesRyo Nihei2021-07-161-19/+28
* Allow directives to take multiple parametersRyo Nihei2021-07-021-9/+21
* Simplify syntax of modifiers and semantic actions•••Modifiers and semantic actions are represented by directives following the '#' symbol. Ryo Nihei2021-06-301-36/+46
* Add ast actionRyo Nihei2021-06-281-18/+73
* Add syntax of fragmentRyo Nihei2021-06-201-11/+56
* Add syntax of modifiers and actions•••Currently, a mode modifier and push/pop actions are available. The modifier and the actions make sense in only lexical specifications. Ryo Nihei2021-06-201-4/+60
* Add production syntaxRyo Nihei2021-06-151-10/+28
* Add spec parser•••Currently, the parser only supports definitions of lexical specification. Ryo Nihei2021-06-151-0/+148