aboutsummaryrefslogtreecommitdiff
path: root/driver/parser/semantic_action_test.go (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-11-12Set token positions for the EOF symbolRyo Nihei2-3/+3
vartan intentionally had not set positional information for the EOF symbol in a token because the corresponding character does not exist in the source code. However, to be able to include the positional information in a syntax error message when a syntax error occurs due to the detection of the EOF symbol during parsing, this commit sets the position next to the last character in the source code as the position of the EOF symbol.
2022-11-12Fix counting of token positionsRyo Nihei1-37/+46
The name `unread` gives the impression of operating just the opposite of `read`. However, this commit renames `unread` function to `revert` because it was a function to revert the state to the last acceptance.
2022-11-11Update CHANGELOGRyo Nihei1-0/+32
2022-11-10Import source code of lexer generatorRyo Nihei81-1168/+17101
From: https://github.com/nihei9/maleeni
2022-11-06Split SymbolTable's APIs into reader/writerRyo Nihei6-132/+171
2022-11-06Move the skip table from lexer-related data to parser-related dataRyo Nihei8-81/+69
2022-11-05Remove anonymous symbol systemRyo Nihei13-277/+233
Remove unimportant features to tidy up the specification.
2022-11-05Remove alias systemRyo Nihei16-240/+54
Remove unimportant features to tidy up the specification.
2022-08-08Update READMERyo Nihei1-0/+2
2022-08-07Upgrade Go compiler to v1.19Ryo Nihei6-32/+34
2022-08-06Add testsRyo Nihei1-0/+14
2022-08-06Remove underscore syntax matching any symbolRyo Nihei3-59/+8
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.
2022-08-05Prohibit error node having childrenRyo Nihei2-0/+85
2022-06-14Fix parse error messages for tree parserRyo Nihei1-36/+54
2022-06-13Support testing token's texts in vartan-test commandRyo Nihei10-193/+926
2022-06-12Prohibit using a pattern in an alternativeRyo Nihei6-19/+102
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.
2022-06-11Support the underscore symbol matching any symbols in vartan-test commandRyo Nihei4-3/+55
2022-06-11Remove the kind field from a node corresponding to an anonymous terminal symbolRyo Nihei8-43/+249
2022-05-29Support testable tree output in vartan-parse commandRyo Nihei4-7/+66
2022-05-29Add vartan-test commandRyo Nihei12-1/+2535
2022-05-27Rename spec package to spec/grammar packageRyo Nihei29-29/+29
2022-05-22Allows a directory to be specified as the --output option for the ↵Ryo Nihei7-76/+112
vartan-compile command
2022-05-22Stop supporting SLR(1) and always use LALR(1)Ryo Nihei20-1182/+67
2022-05-15Prohibit applying #left, #right, #assign, and #prec to an error symbolRyo Nihei2-14/+103
The shift of the error symbol is an operation forced by the driver. Therefore it is impossible to change this behavior by giving precedence to the error symbol. If we desire to change the precedence of a production rule with the error symbol, we can use #prec directive.
2022-05-15Prohibit applying the expansion operator to anything other than identifiersRyo Nihei3-2/+62
2022-05-15Prohibit using escape sequences in string literalsRyo Nihei5-86/+58
2022-05-15Stop handling panic to print a stack traceRyo Nihei6-135/+41
2022-05-10Update CHANGELOGRyo Nihei1-0/+15
2022-05-10Follow golangci-lintRyo Nihei1-3/+1
2022-05-10Add spelling inconsistencies checkRyo Nihei3-23/+238
2022-05-10Make the identifier format strictRyo Nihei11-88/+152
2022-05-10Change the default suffix of a grammar file from .vr to .vartanRyo Nihei2-5/+5
2022-05-10Change the suffix of a description file from -description.json to -report.jsonRyo Nihei6-40/+40
2022-05-10Add ordered symbol notationRyo Nihei12-216/+1120
2022-05-10Add #assign directiveRyo Nihei5-13/+507
An #assign directive changes only precedence.
2022-05-10Change syntax for top-level directivesRyo Nihei22-385/+892
%name changes to: #name example; %left and %right change to: #prec ( #left a b #right c d );
2022-05-10Make #prec directive change only precedence and not associativityRyo Nihei5-30/+275
2022-05-10Add --json option to vartan-parse commandRyo Nihei3-28/+91
2022-04-22Update CHANGELOGRyo Nihei1-0/+12
2022-04-22Suppress a report about conflicts resolved explicitlyRyo Nihei5-48/+151
2022-04-21vartan-show command prints only adopted actions when conflicts occurRyo Nihei4-63/+51
2022-04-20Update READMERyo Nihei1-75/+21
2022-04-20Update dependenciesRyo Nihei2-5/+8
2022-04-16Prohibit ambiguous symbol in an #ast directiveRyo Nihei3-1/+49
2022-04-16Add tests for driverRyo Nihei1-3/+155
2022-04-16Add tests for compilerRyo Nihei1-0/+224
2022-04-16Prohibit using the same element multiple times in the #ast directiveRyo Nihei3-4/+45
2022-04-16Prohibit specifying associativity and precedence multiple times for a symbolRyo Nihei3-1/+130
2022-04-15Add tests for compilerRyo Nihei6-119/+735
2022-04-14Move compiler tests from driver package to grammar packageRyo Nihei3-553/+658