Releases: ruby/lrama
Releases · ruby/lrama
v0.6.0
What's Changed
- Development of 0.6 started by @yui-knk in #286
- Support user define parameterizing rules by @ydah in #285
- Sort Rules by id by @ydah in #288
- Fix failed integration test for user defined parameterizing rules by @ydah in #291
- Specify type of rules by @yui-knk in #292
- Display lines and columns by @yui-knk in #293
- Add "User defined parameterizing rules" to NEWS.md by @yui-knk in #294
- Rename
ParameterizingRuleBuilder#args
to#parameters
by @yui-knk in #295 - Rename Parameterizing to InstantiateRule by @yui-knk in #296
- Support for nested user-defined rules by @ydah in #297
- Allow CHARACTER with parameterizing_suffix by @yui-knk in #298
- Fix carrets position when tab exists by @yui-knk in #299
- Refactor syntax error by @yui-knk in #300
- Add test case for
@0
translation by @yui-knk in #301 - Fix reference last_column to include last character of reference by @yui-knk in #302
- Fix location of user code by @yui-knk in #303
- Better error message by @yui-knk in #304
- Remove not used variable by @yui-knk in #305
- Use parentheses for assignment in conditions by @ydah in #307
- Fix warnings by @ydah in #309
- Introduce GrammarFile class to manage grammar file and its path by @yui-knk in #308
- Simplify normalize rules by @yui-knk in #310
- Remove redundant assignments by @yui-knk in #311
- Make Code to be plain object by @yui-knk in #312
- Extract rule_builders selection logic into private method by @yui-knk in #313
- Define alias method for readability by @yui-knk in #314
- Readme by @yui-knk in #315
- Update rbs by @yui-knk in #316
- Add Ruby 3.3 to CI target by @yui-knk in #317
- Update rbs for GrammarFile by @ydah in #318
- carrets->carets by @ydah in #319
- v0.6.0 by @yui-knk in #320
Full Changelog: v0.5.12...v0.6.0
v0.5.12
What's Changed
- Add comment for RuleAction by @yui-knk in #278
- Organize rbs in grammar and lexer/token by @ydah in #279
- Update LEGAL.md to add new file under template/bison/ by @yui-knk in #280
- NEWS.md by @yui-knk in #281
- Install NEWS.md into ruby by @yui-knk in #282
- Remove TODO.md by @yui-knk in #283
- v0.5.12 by @yui-knk in #284
Full Changelog: v0.5.11...v0.5.12
v0.5.11
What's Changed
- Resolve S/R conflicts by @yui-knk in #249
- Improve integration spec by @yui-knk in #250
- Sort check list by @yui-knk in #251
- Remove TODO by @yui-knk in #252
- Examples of Parameterizing Rules expansion by @yui-knk in #253
- Rename
#replace_token_with_symbol
by @yui-knk in #255 - Report syntax error with exit status 1 by @yui-knk in #256
- Remove comma from expanded rule examples by @yui-knk in #257
- Add top-level documentation of classes for parameterizing_rules by @ydah in #258
- Fix separated_list expansion by @ydah in #259
- Allow parameterizing rules to be used even in the middle of rhs by @ydah in #261
- Merge parameterizing rule application rules into one by @yui-knk in #262
- Add valgrind memory leak check job by @yui-knk in #263
- Spec for
Symbol#comment
by @yui-knk in #264 - Fix instance variable name by @yui-knk in #265
- Freeze s_value of Token by @yui-knk in #266
- Always rule should refer to its own lhs for tag resolution by @yui-knk in #267
- Define helper methods in module by @yui-knk in #268
- Performance improvement by @yui-knk in #269
- Move
Type
underGrammar
by @yui-knk in #270 - Add RBS for Grammar::Symbol and Grammar::ErrorToken by @Little-Rubyist in #271
- Retry if choco install winflexbison fails by @ydah in #273
- Add support for type specification in parameterizing rules by @ydah in #272
- Add steepcheck for lib/lrama/grammar/parameterizing_rules/**/*.rb by @ydah in #260
- Use
#newline
by @yui-knk in #274 - Rename local variable by @yui-knk in #275
- Fix the codes line numbers in prologue and epilogue by @yui-knk in #276
- v0.5.11 by @yui-knk in #277
Full Changelog: v0.5.10...v0.5.11
v0.5.10
What's Changed
- Refactoring Location by @yui-knk in #189
- Refactor extract_references by @yui-knk in #190
- Refactor reference by @yui-knk in #192
- Refactor tag by @yui-knk in #191
- Integrate into parameterizing_suffix by @ydah in #193
- Divide codes to sub classes by @yui-knk in #194
- Lazy initialization codes by @yui-knk in #196
- Change the order for readability by @yui-knk in #198
- Support another syntactic sugar for parameterizing rules by @ydah in #197
- Remove duplicate instance variable by @ydah in #199
- Remove unnecessary assignments to variables by @ydah in #200
- Refactor path.rb to use one class per source file by @ydah in #201
- Validate rule lhs by @yui-knk in #202
- Introduce RuleBuilder by @yui-knk in #203
- Refactoring Rule Builder by @yui-knk in #205
- Global counter by @yui-knk in #206
- Improve error message for action by @ydah in #207
- Refactor preprocess references by @yui-knk in #208
- Test for mid action rule variables by @yui-knk in #209
- Add more validations by @yui-knk in #211
- Support separated_list for parameterizing rules by @ydah in #204
- Separate Reference value into index and name by @yui-knk in #210
- Fix warning for assigned but unused variable by @ydah in #213
- Extract
rhs
replacement logic into#process_rhs
by @yui-knk in #214 - Use location for
#to_s
by @yui-knk in #215 - Refactor RuleBuilder by @yui-knk in #216
- Extract line from UserCode if RuleBuilder's line is nil by @yui-knk in #217
- Support for whitespace before parentheses in parameterizing rules by @ydah in #212
- Add
spec
andsteep check
to Rake's default tasks by @ydah in #218 - Lazy reference resolution by @yui-knk in #219
- Remove separator by @yui-knk in #220
- Rename instance variable by @yui-knk in #221
- Merge
setup_references
intonumberize_references
by @yui-knk in #222 - Add test for parameterizing rules by @ydah in #223
- Add dependency from
spec
tobuild:parser
by @yui-knk in #224 - Resolve S/R conflicts by @yui-knk in #225
- Organize .gitignore by @ydah in #226
- Update comments of
Profile
to refer to README.md by @yui-knk in #228 - Do not override
Rule#rhs
when replace token with symbol by @yui-knk in #229 - Control grammar preprocess logic in
#prepare
by @yui-knk in #230 - Add description to test cases by @yui-knk in #232
- Prologue and epilogue are optional by @yui-knk in #233
- Remove nil from the candidates of reference check by @yui-knk in #234
- Sort gems alphabetically by @ydah in #236
- Silence compiler warnings by @ydah in #238
- Add rbs for token by @ydah in #239
- Add precedence.rbs and printer.rbs by @Little-Rubyist in #241
- Organize rbs for
Lrama::Grammar::RuleBuilder
by @ydah in #240 - Improved lexer speed by @ydah in #243
- Use flex for integration tests by @yui-knk in #244
- Lex a line comment without newline correctly by @makenowjust in #245
- Specify steep & rbs versions by @yui-knk in #246
- Do not overwrite lhs by @yui-knk in #247
- Change lexer regex to be simpler by @ydah in #242
- v0.5.10 by @yui-knk in #248
Full Changelog: v0.5.9...v0.5.10
v0.5.9
What's Changed
h
option test by @yui-knk in #160- add lexer/token.rbs by @Little-Rubyist in #161
- Token type of C_DECLARATION is always
Token::User_code
by @yui-knk in #162 - Fix unknown type error when using YYSTYPE or YYLTYPE by @ydah in #164
- Add debug mode to command by @junk0612 in #163
- Use parser.rb instead of new_parser.rb by @ydah in #165
- Fix rake task name to generate parser.rb by @yui-knk in #166
- Change to process
%empty
withrhs
of parser instead of lexer by @ydah in #167 - Refactoring prec instance variables in parser by @yui-knk in #168
- Extract curly brace begin process to a private method by @ydah in #169
- Extract C_DECLARATION end process to a private method by @ydah in #170
- Generate parser.rb with racc 1.7.2 by @yui-knk in #171
- Refactoring parser by @yui-knk in #172
- Specify expected S/R conflicts count by @yui-knk in #173
- Remove unused token types by @yui-knk in #174
- Remove duplicated rule by @yui-knk in #175
- Do not need to call
#build_references
in#build_code
by @yui-knk in #176 - Refactor grammar by @yui-knk in #177
- Merge
#scan_reference
and#build_references
by @yui-knk in #178 - Generate parser.rb with racc 1.7.3 by @yui-knk in #179
- Gem version by @yui-knk in #180
- Implement parameterizing rules by @ydah in #181
- Refactor tokens by @yui-knk in #182
- Support %code directive to prevent redefinition of typedef by @yui-knk in #183
- Extract Parameterizing method by @ydah in #184
- Add the starting position to the location information by @ydah in #185
- Add to the message what kind of unexpected input it is by @ydah in #186
- Error message for objects by @yui-knk in #187
- v0.5.9 by @yui-knk in #188
Full Changelog: v0.5.8...v0.5.9
v0.5.8
What's Changed
- Extract repeated code as Lrama::Grammar#scan_reference by @nobu in #151
- Remove unused method by @ydah in #153
- Add test case for
#translated_printer_code
by @ydah in #152 - Use named variable instead of
val
by @yui-knk in #154 - Improve an error message for ParseError by @ydah in #155
- Add a token definition by @ydah in #156
- Change
-h
option from a--header
short option to a--help
short option by @ydah in #157 - Use
sh
method defined by Rake to execute racc commmand by @yui-knk in #158 - v0.5.8 by @yui-knk in #159
Full Changelog: v0.5.7...v0.5.8
v0.5.7
Note
-h
option is deprecated and will be changed to a short option of--help
, please use-H
option.
What's Changed
- Add digraph.rbs by @Little-Rubyist in #99
- Make sure
z
to be not nil by @yui-knk in #100 - Fix comment in Lrama::Lexer#lex_comment [ci skip] by @nobu in #103
- Remove surrounding braces from user code by @yui-knk in #105
- Replace parser with one made by Racc by @junk0612 in #62
- Remove needless assignment by @yui-knk in #106
- Add "How to generate new_parser.rb" by @yui-knk in #107
- Ignore Racc output log file by @yui-knk in #108
- How to get profiling by @yui-knk in #109
- Make "spec/lrama/grammar/code_spec.rb" runnable independently by @yui-knk in #110
- Stop creating parser file on top directory by @yui-knk in #111
- Grammar depends on StringScanner by @yui-knk in #112
- Cosmetic changes by @yui-knk in #113
- add lexer/token/type.rbs by @Little-Rubyist in #114
- Add how to test by @yui-knk in #115
- fix lexer/token/type.rbs by @Little-Rubyist in #116
- Check parser.rb is is up to date in check-misc job by @yui-knk in #117
- Build Lrama::Lexer::Token in Lrama::NewLexer#next_token by @junk0612 in #118
- Format parser.y by @junk0612 in #119
- Replace NewPerser with Parser #1 by @junk0612 in #121
- Add spell checking GitHub Actions workflow by @ydah in #120
- Replace NewParser With Parser #2 by @junk0612 in #122
- Add description of STDIN mode to help command by @ydah in #124
- Improved testing for
Lrama::Command
by @ydah in #125 - Replace NewParser with Parser #3 by @junk0612 in #126
- Use NewParser in spec files if possible by @yui-knk in #127
- Replace NewParser with Parser #4 by @junk0612 in #128
- Update command by @yui-knk in #129
- Remove duplicated comment by @yui-knk in #130
- Add 2.5 for test-ruby CI job target by @yui-knk in #131
- Embed racc parser by @yui-knk in #132
- Sync yacc.c to yacc.h by @yui-knk in #133
- Change to automatically insert
#include
of header files when they are specified by @ydah in #104 - Replace NewParser with Parser #5 by @junk0612 in #134
- Fix the location of
end
by @yui-knk in #135 compute_first_set
call is needed by @yui-knk in #136- Replace NewParser with Parser #6 by @junk0612 in #137
- Allow
-H
option to also generate a header file with the specified name by @ydah in #139 - Replace NewParser with Parser (
%precedence
) by @ydah in #138 - Fix the constraints of BASERUBY by @yui-knk in #140
- Add a newline at the end of C_DECLARATION in epilogue by @ydah in #141
- Replace NewParser with Parser #Fin by @junk0612 in #142
- Resolve R/R conflicts by @yui-knk in #143
- Test case for %printer by @yui-knk in #144
- Report duration of parse time by @yui-knk in #145
- Partial template by @yui-knk in #146
- Add comment by @yui-knk in #147
- Include error location to parse error messages by @yui-knk in #148
- Replace NewLexer with Lexer by @junk0612 in #149
- v0.5.7 by @yui-knk in #150
Full Changelog: v0.5.6...v0.5.7
v0.5.6
What's Changed
- Bump actions/checkout from 3 to 4 by @dependabot in #92
- Support Named References for location by @yui-knk in #94
- Fix to not include '.' and '-' into identifier without brackets by @yui-knk in #95
- Improve error message for invalid named references by @yui-knk in #96
- Improve output when executing the help command by @ydah in #97
- v0.5.6 by @yui-knk in #98
New Contributors
- @dependabot made their first contribution in #92
Full Changelog: v0.5.5...v0.5.6
v0.5.5
What's Changed
- Add Windows CI by @yui-knk in #84
- Refactor #extract_param_name by @yui-knk in #87
- Fix lexing
@10
in user codes correctly by @makenowjust in #88 - Fix trivial formatting by @ydah in #86
- Fix to print version when version option is passed by @yui-knk in #89
- Moved Grammar unit tests by @lucasmenezesds in #67
- Implement %precedence Operator Precedence by @yui-knk in #90
- v0.5.5 by @yui-knk in #91
Full Changelog: v0.5.4...v0.5.5
v0.5.4
What's Changed
- Use comma separated list by @nobu in #69
- Update README by @yui-knk in #70
- Prefer transform_values in Lrama::States by @Maumagnaguagno in #66
- Add an integration test for error recovery by @yui-knk in #71
- Fix extract_param_name by @yui-knk in #72
- Refactor Lrama::Grammar::Symbol by @Maumagnaguagno in #64
- Use YYMALLOC, YYFREE, YYDPRINTF by @yui-knk in #73
- Make YYMAXREPAIR and YYERROR_RECOVERY_ENABLED runtime configure by @yui-knk in #74
- Update README by @yui-knk in #75
- Add prefix to enum and struct by @yui-knk in #76
- Extract Lrama::State::Conflict into another file by @yui-knk in #78
- Extract Struct into another file by @ydah in #79
- Early break and safe navigation to Lrama::Digraph#traverse by @Maumagnaguagno in #77
- Minimize current_token calls in Lrama::Parser::TokenScanner by @Maumagnaguagno in #80
- Implement Counterexamples by @yui-knk in #81
- Rename Aux to Auxiliary by @yui-knk in #82
- Remove trailing spaces by @yui-knk in #83
- v0.5.4 by @yui-knk in #85
Full Changelog: v0.5.3...v0.5.4