aboutsummaryrefslogtreecommitdiff
path: root/spec/parser.go (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-08-01Use maleeni v0.3.0Ryo Nihei6-41/+30
2021-07-31Write terminals to a description fileRyo Nihei5-43/+78
2021-07-31Detect duplicate names between terminals and non-terminalsRyo Nihei3-4/+38
2021-07-31Prevent terminals used in productions from being skippedRyo Nihei3-23/+68
A terminal symbol used in productions cannot have the skip directive.
2021-07-30Detect unused-symbol errorRyo Nihei3-1/+145
When there are productions and terminals that are cannot be reached from the start symbol, the compiler reports an error.
2021-07-28Add a token position and detailed info to a lexical error messageRyo Nihei3-7/+21
2021-07-28Count the number of each line in consecutive linesRyo Nihei3-2/+54
2021-07-28Detect duplicate production errorsRyo Nihei4-9/+87
2021-07-22Add literal pattern syntax and change tree structure syntaxRyo Nihei9-23/+55
- 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 #(...).
2021-07-22Write a description fileRyo Nihei8-26/+209
The description file describes a LR(0) item set and conflicts (if any).
2021-07-20Print pattern strings of anonymous pattern on conflict messagesRyo Nihei2-10/+28
2021-07-20Detect multiple conflictsRyo Nihei3-29/+124
2021-07-19Detect duplicate definitions of terminal symbols and fragments in advanceRyo Nihei2-0/+21
2021-07-19Sort error messages before printing themRyo Nihei1-2/+12
2021-07-18Detect multiple semantic errors in a single parseRyo Nihei12-47/+165
2021-07-18Add token positions to an ASTRyo Nihei3-29/+238
2021-07-18RefactorRyo Nihei3-188/+250
2021-07-17Detect multiple syntax errors in a single parseRyo Nihei6-39/+126
2021-07-17Improve syntax error messagesRyo Nihei4-25/+139
- Add a source file name to error messages. - Add a line that an error occurred at to error messages.
2021-07-17Add a line number to token error messagesRyo Nihei2-6/+31
2021-07-16Add a line number to error messagesRyo Nihei6-74/+137
2021-07-15Add testing for the driverRyo Nihei2-0/+47
The driver can reduce productions that have the empty alternative and can generate a CST (and AST) node.
2021-07-02Allow directives to take multiple parametersRyo Nihei4-34/+56
2021-07-02Prettify treesRyo Nihei3-11/+33
2021-07-02Prohibit defining identifiers beginning with an underscoreRyo Nihei3-1/+10
Identifiers beginning with an underscore are used as auto-generated identifiers.
2021-06-30Simplify syntax of modifiers and semantic actionsRyo Nihei9-274/+329
Modifiers and semantic actions are represented by directives following the '#' symbol.
2021-06-29Add testing for the driverRyo Nihei1-1/+114
2021-06-29Prioritize anonymous patterns over named patternsRyo Nihei1-1/+4
2021-06-28Add ast actionRyo Nihei12-84/+515
2021-06-20Add syntax of fragmentRyo Nihei9-19/+129
2021-06-20Add skip actionRyo Nihei4-16/+60
2021-06-20Add syntax of modifiers and actionsRyo Nihei9-30/+298
Currently, a mode modifier and push/pop actions are available. The modifier and the actions make sense in only lexical specifications.
2021-06-20Add syntax of commentsRyo Nihei4-1/+22
2021-06-19Add CLIRyo Nihei6-1/+206
2021-06-19Add driverRyo Nihei4-0/+337
2021-06-18Add SLR parsing table generatorRyo Nihei10-0/+2201