aboutsummaryrefslogtreecommitdiff
path: root/spec/lexer.go (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Rename spec package to spec/grammar packageRyo Nihei2022-05-271-297/+0
|
* Prohibit using escape sequences in string literalsRyo Nihei2022-05-151-12/+0
|
* Make the identifier format strictRyo Nihei2022-05-101-2/+32
|
* Add ordered symbol notationRyo Nihei2022-05-101-15/+18
|
* Change syntax for top-level directivesRyo Nihei2022-05-101-3/+6
| | | | | | | | | | | | | %name changes to: #name example; %left and %right change to: #prec ( #left a b #right c d );
* Upgrade maleeni to v0.6.0Ryo Nihei2022-03-301-1/+1
|
* Use IDs and labels as parameters of an #ast directive instead of symbol ↵Ryo Nihei2022-03-291-25/+0
| | | | positions
* Add label notationRyo Nihei2022-03-291-0/+3
|
* Simplify the syntax of #ast directiveRyo Nihei2022-03-281-6/+0
| | | | 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-281-4/+4
|
* Generate the lexer source codeRyo Nihei2021-10-271-52/+40
|
* Support the escape sequecens \' and \\ in a string literalRyo Nihei2021-08-281-9/+42
|
* Add an #alias directive to define a user-friendly name of a terminalRyo Nihei2021-08-281-2/+11
|
* Add a column number to an error messageRyo Nihei2021-08-221-29/+33
|
* Support %left and %right to specify precedences and associativitiesRyo Nihei2021-08-221-0/+3
|
* Add a token position and detailed info to a lexical error messageRyo Nihei2021-07-281-5/+7
|
* Add literal pattern syntax and change tree structure syntaxRyo Nihei2021-07-221-1/+17
| | | | | | - 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 #(...).
* Detect multiple semantic errors in a single parseRyo Nihei2021-07-181-2/+2
|
* Add token positions to an ASTRyo Nihei2021-07-181-8/+8
|
* Add a line number to token error messagesRyo Nihei2021-07-171-4/+17
|
* Add a line number to error messagesRyo Nihei2021-07-161-22/+41
|
* Prohibit defining identifiers beginning with an underscoreRyo Nihei2021-07-021-0/+3
| | | | Identifiers beginning with an underscore are used as auto-generated identifiers.
* Simplify syntax of modifiers and semantic actionsRyo Nihei2021-06-301-56/+87
| | | | Modifiers and semantic actions are represented by directives following the '#' symbol.
* Add ast actionRyo Nihei2021-06-281-0/+29
|
* Add syntax of fragmentRyo Nihei2021-06-201-0/+3
|
* Add syntax of modifiers and actionsRyo Nihei2021-06-201-0/+6
| | | | | Currently, a mode modifier and push/pop actions are available. The modifier and the actions make sense in only lexical specifications.
* Add syntax of commentsRyo Nihei2021-06-201-0/+2
|
* Add production syntaxRyo Nihei2021-06-151-0/+3
|
* Add spec parserRyo Nihei2021-06-151-0/+137
Currently, the parser only supports definitions of lexical specification.