aboutsummaryrefslogtreecommitdiff
path: root/spec (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Namespace packages with "urubu/"EuAndreh2024-12-1019-7029/+0
|
* Start building test filesEuAndreh2024-12-102-2/+2
|
* Build and test existing code as isEuAndreh2024-12-022-3/+3
|
* Import source code of lexer generatorRyo Nihei2022-11-1012-25/+163
| | | | From: https://github.com/nihei9/maleeni
* Move the skip table from lexer-related data to parser-related dataRyo Nihei2022-11-063-17/+14
|
* Remove anonymous symbol systemRyo Nihei2022-11-056-54/+95
| | | | Remove unimportant features to tidy up the specification.
* Remove alias systemRyo Nihei2022-11-056-43/+4
| | | | Remove unimportant features to tidy up the specification.
* Add testsRyo Nihei2022-08-061-0/+14
|
* Remove underscore syntax matching any symbolRyo Nihei2022-08-062-52/+3
| | | | | | | | | Underscore syntax: For instance, a tree `(expr (id 'a') (add '+') (_))` matches both source codes `a + b * c` and `a - b / c`. This feature is helpful because it allows you to emphasize the main points of the test by ignoring nodes of no interest. However, we will remove the feature for the time being to reconsider the grammar.
* Prohibit error node having childrenRyo Nihei2022-08-052-0/+85
|
* Fix parse error messages for tree parserRyo Nihei2022-06-141-36/+54
|
* Support testing token's texts in vartan-test commandRyo Nihei2022-06-138-147/+873
|
* Prohibit using a pattern in an alternativeRyo Nihei2022-06-123-11/+92
| | | | | | 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.
* Support the underscore symbol matching any symbols in vartan-test commandRyo Nihei2022-06-112-2/+52
|
* Remove the kind field from a node corresponding to an anonymous terminal symbolRyo Nihei2022-06-112-4/+15
|
* Support testable tree output in vartan-parse commandRyo Nihei2022-05-292-0/+43
|
* Add vartan-test commandRyo Nihei2022-05-298-0/+2093
|
* Rename spec package to spec/grammar packageRyo Nihei2022-05-279-9/+9
|
* Stop supporting SLR(1) and always use LALR(1)Ryo Nihei2022-05-222-2/+0
|
* Prohibit applying the expansion operator to anything other than identifiersRyo Nihei2022-05-153-2/+62
|
* Prohibit using escape sequences in string literalsRyo Nihei2022-05-154-86/+34
|
* Make the identifier format strictRyo Nihei2022-05-105-13/+76
|
* Change the suffix of a description file from -description.json to -report.jsonRyo Nihei2022-05-101-1/+1
|
* Add ordered symbol notationRyo Nihei2022-05-107-79/+134
|
* Add #assign directiveRyo Nihei2022-05-101-0/+20
| | | | An #assign directive changes only precedence.
* Change syntax for top-level directivesRyo Nihei2022-05-107-95/+230
| | | | | | | | | | | | | %name changes to: #name example; %left and %right change to: #prec ( #left a b #right c d );
* Suppress a report about conflicts resolved explicitlyRyo Nihei2022-04-221-0/+2
|
* Add tests for compilerRyo Nihei2022-04-153-6/+16
|
* Upgrade maleeni to v0.6.0Ryo Nihei2022-03-301-1/+1
|
* Allow an alternative to have multiple directivesRyo Nihei2022-03-302-16/+57
|
* Move directives given to lexical productionsRyo Nihei2022-03-292-91/+104
| | | | | 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-293-64/+41
| | | | | | | 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-297-149/+56
| | | | positions
* Add label notationRyo Nihei2022-03-297-26/+167
|
* Simplify the syntax of #ast directiveRyo Nihei2022-03-287-179/+93
| | | | 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-283-11/+4
|
* Add name directive to specify a grammar nameRyo Nihei2021-10-281-0/+1
|
* Generate the lexer source codeRyo Nihei2021-10-274-53/+1407
|
* Support LAC (lookahead correction)Ryo Nihei2021-09-022-0/+2
|
* Remove the expected terminals field from the parsing tableRyo Nihei2021-08-311-1/+0
| | | | The driver searches the expected terminals corresponding to each state if necessary.
* Add precedences and associativities to the description fileRyo Nihei2021-08-291-8/+12
|
* Add describe command to print a description fileRyo Nihei2021-08-291-0/+67
|
* Use a pattern string defined by a string literal as its aliasRyo Nihei2021-08-281-5/+7
|
* 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-284-8/+39
|
* Add error symbol and #recover directive to recover from an error stateRyo Nihei2021-08-261-0/+3
|
* Add a column number to an error messageRyo Nihei2021-08-223-72/+82
|
* Support %left and %right to specify precedences and associativitiesRyo Nihei2021-08-226-2/+159
|
* Print expected terminals on a parse errorRyo Nihei2021-08-021-0/+2
|
* Use maleeni v0.3.0Ryo Nihei2021-08-012-3/+3
|