aboutsummaryrefslogtreecommitdiff
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-12-21Combine "CompiledGrammar" and "Report" payloadsEuAndreh4-66/+26
Instead of one JSON file for each output, a single file with both outputs combined, each under its own key. The beauty of maps. Also instead of using a flag to determine where to put the data, just print to stdout and be done with it.
2024-12-12chmod +x mkdeps.shEuAndreh1-0/+0
2024-12-12Makefile: Uncomment dependency on build filesEuAndreh1-3/+3
2024-12-12tests/unit/: Actually run existing testsEuAndreh12-12/+231
2024-12-12Build and run existing test executables with no actual testsEuAndreh27-45/+247
2024-12-11Move existing test files to "urubu" subdirectoryEuAndreh13-0/+7
2024-12-11Do the same single file consolidation on testsEuAndreh28-4292/+4182
2024-12-11Consolidate packages spread across multiple files into single oneEuAndreh61-10246/+10003
2024-12-11rm LICENSEEuAndreh1-21/+0
2024-12-11rm .github/workflows/test.ymlEuAndreh1-32/+0
2024-12-11rm go.mod go.sumEuAndreh2-20/+0
2024-12-10Namespace packages with "urubu/"EuAndreh93-189/+189
2024-12-10Start building test filesEuAndreh22-47/+109
2024-12-10cmd/: Simplify flag usageEuAndreh8-189/+34
2024-12-02Build and test existing code as isEuAndreh32-68/+155
2024-11-19Setup Makefile project structure with empty src/urubu.go sourceEuAndreh20-0/+458
2022-11-13Add byte position to nodes of a syntax treeRyo Nihei4-5/+22
2022-11-13Fix typoRyo Nihei3-12/+12
2022-11-13Add byte position to tokensRyo Nihei2-241/+270
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