@appthreat/atom-parsetools 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +111 -14
- package/package.json +2 -1
- package/plugins/composer/installed.php +6 -6
- package/plugins/rubyastgen/Gemfile +6 -4
- package/plugins/rubyastgen/Gemfile.lock +5 -8
- package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/Gemfile +11 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/exe/ruby_ast_gen +55 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/lib/ruby_ast_gen/cli.rb +133 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/lib/ruby_ast_gen/node_handling.rb +449 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/lib/ruby_ast_gen/version.rb +1 -1
- package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/lib/ruby_ast_gen.rb +888 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-4ac84327b3af/ruby_ast_gen.gemspec +25 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/current.rb +1 -1
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/version.rb +1 -1
- package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/ast-2.4.3.gemspec +29 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/bundler-2.6.9.gemspec +25 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/ostruct-0.6.3.gemspec +22 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/specifications/parser-3.3.12.0.gemspec +37 -0
- package/rbastgen.js +102 -13
- package/scalasem.js +11 -2
- package/plugins/bin/bundler +0 -14
- package/plugins/bin/ruby_ast_gen +0 -14
- package/plugins/rubyastgen/bundle/bundler/setup.rb +0 -44
- package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-cc312ebf06b4/exe/ruby_ast_gen +0 -63
- package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-cc312ebf06b4/lib/ruby_ast_gen/node_handling.rb +0 -269
- package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/ruby_ast_gen-cc312ebf06b4/lib/ruby_ast_gen.rb +0 -218
- package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/gem.build_complete +0 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/gem_make.out +0 -44
- package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/mkmf.log +0 -74
- package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/prism-1.9.0/prism/prism.so +0 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/racc-1.8.1/gem.build_complete +0 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/racc-1.8.1/gem_make.out +0 -18
- package/plugins/rubyastgen/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/racc-1.8.1/racc/cparse.so +0 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/BSDmakefile +0 -58
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/Makefile +0 -116
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/Makefile +0 -273
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/api_node.c +0 -6945
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/api_pack.c +0 -276
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/extconf.rb +0 -127
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/extension.c +0 -1427
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/ext/prism/extension.h +0 -19
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/ast.h +0 -8254
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/defines.h +0 -260
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/diagnostic.h +0 -458
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/encoding.h +0 -283
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/node.h +0 -129
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/options.h +0 -488
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/pack.h +0 -163
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/parser.h +0 -936
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/prettyprint.h +0 -34
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/regexp.h +0 -43
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/static_literals.h +0 -121
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_buffer.h +0 -236
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_char.h +0 -204
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_constant_pool.h +0 -218
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_integer.h +0 -130
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_list.h +0 -103
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_memchr.h +0 -29
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_newline_list.h +0 -113
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_string.h +0 -200
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_strncasecmp.h +0 -32
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/util/pm_strpbrk.h +0 -46
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism/version.h +0 -29
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/include/prism.h +0 -408
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/compiler.rb +0 -801
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/desugar_compiler.rb +0 -392
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/dispatcher.rb +0 -2210
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/dot_visitor.rb +0 -4767
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/dsl.rb +0 -1003
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/ffi.rb +0 -578
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/inspect_visitor.rb +0 -2393
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/lex_compat.rb +0 -911
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/mutation_compiler.rb +0 -772
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/node.rb +0 -19966
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/node_ext.rb +0 -511
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/pack.rb +0 -230
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result/comments.rb +0 -188
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result/errors.rb +0 -66
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result/newlines.rb +0 -155
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/parse_result.rb +0 -907
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/pattern.rb +0 -269
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/append_as_bytes.rb +0 -15
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/byteindex.rb +0 -13
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/scan_byte.rb +0 -14
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/unpack1.rb +0 -14
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/polyfill/warn.rb +0 -36
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/prism.so +0 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/reflection.rb +0 -416
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/relocation.rb +0 -505
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/serialize.rb +0 -2400
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/string_query.rb +0 -31
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser/builder.rb +0 -62
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser/compiler.rb +0 -2234
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser/lexer.rb +0 -820
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser.rb +0 -376
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser_current.rb +0 -26
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/parser_versions.rb +0 -36
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/filter.rb +0 -53
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/lexer.rb +0 -135
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/sexp.rb +0 -126
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper/shim.rb +0 -5
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ripper.rb +0 -3520
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation/ruby_parser.rb +0 -1964
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/translation.rb +0 -18
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism/visitor.rb +0 -813
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/lib/prism.rb +0 -98
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/compiler.rbi +0 -12
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/dsl.rbi +0 -524
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/inspect_visitor.rbi +0 -12
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/node.rbi +0 -8750
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/node_ext.rbi +0 -107
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/parse_result.rbi +0 -404
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/reflection.rbi +0 -58
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/string_query.rbi +0 -12
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/translation/parser.rbi +0 -11
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/translation/parser_versions.rbi +0 -23
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/translation/ripper.rbi +0 -15
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism/visitor.rbi +0 -473
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/rbi/prism.rbi +0 -63
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/compiler.rbs +0 -9
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/dispatcher.rbs +0 -19
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/dot_visitor.rbs +0 -6
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/dsl.rbs +0 -351
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/inspect_visitor.rbs +0 -22
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/lex_compat.rbs +0 -10
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/mutation_compiler.rbs +0 -159
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/node.rbs +0 -4042
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/node_ext.rbs +0 -149
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/pack.rbs +0 -43
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/parse_result/comments.rbs +0 -38
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/parse_result.rbs +0 -197
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/pattern.rbs +0 -13
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/reflection.rbs +0 -50
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/relocation.rbs +0 -185
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/serialize.rbs +0 -8
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/string_query.rbs +0 -11
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism/visitor.rbs +0 -169
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/sig/prism.rbs +0 -272
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/diagnostic.c +0 -854
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/encoding.c +0 -5340
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/node.c +0 -8685
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/options.c +0 -338
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/pack.c +0 -509
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/prettyprint.c +0 -8957
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/prism.c +0 -22679
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/regexp.c +0 -790
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/serialize.c +0 -2274
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/static_literals.c +0 -617
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/token_type.c +0 -703
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_buffer.c +0 -357
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_char.c +0 -318
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_constant_pool.c +0 -342
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_integer.c +0 -670
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_list.c +0 -49
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_memchr.c +0 -35
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_newline_list.c +0 -125
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_string.c +0 -381
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_strncasecmp.c +0 -36
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/prism-1.9.0/src/util/pm_strpbrk.c +0 -206
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/BSDL +0 -22
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/COPYING +0 -56
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ChangeLog +0 -846
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/README.ja.rdoc +0 -58
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/README.rdoc +0 -60
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/TODO +0 -5
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/bin/racc +0 -320
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ext/racc/cparse/Makefile +0 -273
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ext/racc/cparse/cparse.c +0 -840
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/ext/racc/cparse/extconf.rb +0 -8
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/compat.rb +0 -33
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/cparse.so +0 -0
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/debugflags.rb +0 -60
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/exception.rb +0 -16
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/grammar.rb +0 -1191
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/grammarfileparser.rb +0 -667
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/info.rb +0 -18
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/iset.rb +0 -92
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/logfilegenerator.rb +0 -212
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/parser-text.rb +0 -644
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/parser.rb +0 -630
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/parserfilegenerator.rb +0 -473
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/sourcetext.rb +0 -35
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/state.rb +0 -976
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/statetransitiontable.rb +0 -311
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc/static.rb +0 -5
- package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/racc-1.8.1/lib/racc.rb +0 -6
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/.rspec +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/bin/console +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/bin/setup +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/bundler/gems/{ruby_ast_gen-cc312ebf06b4 → ruby_ast_gen-4ac84327b3af}/update_version.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-parse +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-rewrite +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/gauntlet_parser.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/all.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ast/node.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ast/processor.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/base.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/builders/default.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/clobbering_error.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/color.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/context.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/current_arg_stack.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/deprecation.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/diagnostic/engine.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/diagnostic.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/dedenter.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/explanation.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/literal.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/stack_state.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-F0.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-F1.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-strings.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/macruby.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/max_numparam_stack.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/messages.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/meta.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/rewriter.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby18.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby19.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby20.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby21.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby22.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby23.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby24.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby25.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby26.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby27.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby30.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby31.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby32.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby33.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby34.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/rubymotion.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner/ruby_parse.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner/ruby_rewrite.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/buffer.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/comment/associator.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/comment.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/collection.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/condition.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/constant.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/definition.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/for.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/heredoc.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/index.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/keyword.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/method_definition.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/objc_kwarg.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/operator.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/rescue_body.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/send.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/ternary.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/variable.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/range.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/rewriter/action.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/rewriter.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/tree_rewriter/action.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/tree_rewriter.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/static_environment.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/syntax_error.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/tree_rewriter.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/unknown_encoding_in_magic_comment_error.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/variables_stack.rb +0 -0
- /package/plugins/rubyastgen/bundle/ruby/4.0.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser.rb +0 -0
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
= Racc
|
|
2
|
-
|
|
3
|
-
* https://github.com/ruby/racc
|
|
4
|
-
|
|
5
|
-
== DESCRIPTION:
|
|
6
|
-
|
|
7
|
-
Racc は LALR(1) パーサジェネレータです。
|
|
8
|
-
yacc の Ruby 版に相当します。
|
|
9
|
-
|
|
10
|
-
== 必要環境
|
|
11
|
-
|
|
12
|
-
* Ruby 2.5 以降
|
|
13
|
-
|
|
14
|
-
== インストール
|
|
15
|
-
|
|
16
|
-
gem インストール:
|
|
17
|
-
|
|
18
|
-
$ gem install racc
|
|
19
|
-
|
|
20
|
-
== テスト
|
|
21
|
-
|
|
22
|
-
sample/ 以下にいくつか Racc の文法ファイルのサンプルが用意
|
|
23
|
-
してあります。動くのも動かないのもありますが、少なくとも
|
|
24
|
-
calc-ja.y は動くのでこれを処理してみましょう。Racc をインス
|
|
25
|
-
トールしたあと
|
|
26
|
-
|
|
27
|
-
$ racc -ocalc.rb calc-ja.y
|
|
28
|
-
|
|
29
|
-
として下さい。処理は一瞬から数秒で終わるので、
|
|
30
|
-
|
|
31
|
-
$ ruby calc.rb
|
|
32
|
-
|
|
33
|
-
を実行してください。ちゃんと動いてますか?
|
|
34
|
-
|
|
35
|
-
Racc の文法など詳しいことは doc.ja/ ディレクトリ以下の HTML を
|
|
36
|
-
見てください。
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
== ライセンス
|
|
40
|
-
|
|
41
|
-
このパッケージに付属するファイルの著作権は青木峰郎が保持します。
|
|
42
|
-
ライセンスは Ruby ライセンスです。ただしユーザが書いた規則
|
|
43
|
-
ファイルや、Racc がそこから生成した Ruby スクリプトはその対象
|
|
44
|
-
外です。好きなライセンスで配布してください。
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
== バグなど
|
|
48
|
-
|
|
49
|
-
Racc を使っていてバグらしき現象に遭遇したら、下記のアドレスまで
|
|
50
|
-
メールをください。作者にはバグを修正する義務はありませんがその
|
|
51
|
-
意思はあります。また、そのときはできるだけバグを再現できる文法
|
|
52
|
-
ファイルを付けてください。
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
青木峰郎(あおきみねろう)
|
|
56
|
-
aamine@loveruby.net
|
|
57
|
-
http://i.loveruby.net
|
|
58
|
-
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
= Racc
|
|
2
|
-
|
|
3
|
-
* https://github.com/ruby/racc
|
|
4
|
-
|
|
5
|
-
== DESCRIPTION:
|
|
6
|
-
|
|
7
|
-
Racc is an LALR(1) parser generator.
|
|
8
|
-
It is written in Ruby itself, and generates Ruby program.
|
|
9
|
-
|
|
10
|
-
== Requirement
|
|
11
|
-
|
|
12
|
-
* Ruby 2.5 or later.
|
|
13
|
-
|
|
14
|
-
== Installation
|
|
15
|
-
|
|
16
|
-
gem install:
|
|
17
|
-
|
|
18
|
-
$ gem install racc
|
|
19
|
-
|
|
20
|
-
== Testing Racc
|
|
21
|
-
|
|
22
|
-
Racc comes with simple calculator. To compile this, on shell:
|
|
23
|
-
|
|
24
|
-
$ racc -o calc calc.y
|
|
25
|
-
|
|
26
|
-
This process costs few seconds (or less). Then type:
|
|
27
|
-
|
|
28
|
-
$ ruby calc
|
|
29
|
-
|
|
30
|
-
... Does it work?
|
|
31
|
-
For details of Racc, see HTML documents placed under 'doc/en/'
|
|
32
|
-
and sample grammar files under 'sample/'.
|
|
33
|
-
|
|
34
|
-
== Release flow
|
|
35
|
-
|
|
36
|
-
* Update VERSION number of these files
|
|
37
|
-
* <code>RACC_VERSION</code> in "ext/racc/com/headius/racc/Cparse.java"
|
|
38
|
-
* <code>VERSION</code> in "lib/racc/info.rb"
|
|
39
|
-
* Release as a gem by <code>rake release</code> with CRuby and JRuby because Racc gem provides 2 packages
|
|
40
|
-
* Create new release on {GitHub}[https://github.com/ruby/racc/releases]
|
|
41
|
-
|
|
42
|
-
== License
|
|
43
|
-
|
|
44
|
-
Racc is distributed under the same terms of ruby.
|
|
45
|
-
(see the file COPYING). Note that you do NOT need to follow
|
|
46
|
-
ruby license for your own parser (racc outputs).
|
|
47
|
-
You can distribute those files under any licenses you want.
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
== Bug Reports
|
|
51
|
-
|
|
52
|
-
Any kind of bug report is welcome.
|
|
53
|
-
If you find a bug of Racc, please report an issue at
|
|
54
|
-
https://github.com/ruby/racc/issues. Your grammar file,
|
|
55
|
-
debug output generated by "racc -g", are helpful.
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
Minero Aoki
|
|
59
|
-
aamine@loveruby.net
|
|
60
|
-
http://i.loveruby.net
|
|
@@ -1,320 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
# Copyright (c) 1999-2006 Minero Aoki
|
|
6
|
-
#
|
|
7
|
-
# This program is free software.
|
|
8
|
-
# You can distribute/modify this program under the same terms of ruby.
|
|
9
|
-
# see the file "COPYING".
|
|
10
|
-
|
|
11
|
-
require 'racc/static'
|
|
12
|
-
require 'optparse'
|
|
13
|
-
|
|
14
|
-
def main
|
|
15
|
-
output = nil
|
|
16
|
-
debug_parser = false
|
|
17
|
-
make_logfile = false
|
|
18
|
-
logfilename = nil
|
|
19
|
-
make_executable = false
|
|
20
|
-
rubypath = nil
|
|
21
|
-
embed_runtime = false
|
|
22
|
-
frozen_strings = false
|
|
23
|
-
debug_flags = Racc::DebugFlags.new
|
|
24
|
-
line_convert = true
|
|
25
|
-
line_convert_all = false
|
|
26
|
-
omit_action_call = true
|
|
27
|
-
superclass = nil
|
|
28
|
-
check_only = false
|
|
29
|
-
verbose = false
|
|
30
|
-
profiler = RaccProfiler.new(false)
|
|
31
|
-
|
|
32
|
-
parser = OptionParser.new
|
|
33
|
-
parser.banner = "Usage: #{File.basename($0)} [options] [input]"
|
|
34
|
-
parser.on('-o', '--output-file=PATH',
|
|
35
|
-
'output file name [<input>.tab.rb]') {|name|
|
|
36
|
-
output = name
|
|
37
|
-
}
|
|
38
|
-
parser.on('-t', '--debug', 'Outputs debugging parser.') {|fl|
|
|
39
|
-
debug_parser = fl
|
|
40
|
-
}
|
|
41
|
-
parser.on('-g', 'Equivalent to -t (obsolete).') {|fl|
|
|
42
|
-
$stderr.puts "racc -g is obsolete. Use racc -t instead." if $VERBOSE
|
|
43
|
-
debug_parser = fl
|
|
44
|
-
}
|
|
45
|
-
parser.on('-v', '--verbose',
|
|
46
|
-
'Creates <filename>.output log file.') {|fl|
|
|
47
|
-
make_logfile = fl
|
|
48
|
-
}
|
|
49
|
-
parser.on('-O', '--log-file=PATH',
|
|
50
|
-
'Log file name [<input>.output]') {|path|
|
|
51
|
-
make_logfile = true
|
|
52
|
-
logfilename = path
|
|
53
|
-
}
|
|
54
|
-
parser.on('-e', '--executable [RUBYPATH]', 'Makes executable parser.') {|path|
|
|
55
|
-
make_executable = true
|
|
56
|
-
rubypath = (path == 'ruby' ? nil : path)
|
|
57
|
-
}
|
|
58
|
-
parser.on('-E', '--embedded', "Embeds Racc runtime in output.") {
|
|
59
|
-
embed_runtime = true
|
|
60
|
-
}
|
|
61
|
-
parser.on('-F', '--frozen', "Add frozen_string_literals: true.") {
|
|
62
|
-
frozen_strings = true
|
|
63
|
-
}
|
|
64
|
-
parser.on('--line-convert-all', 'Converts line numbers of user codes.') {
|
|
65
|
-
line_convert_all = true
|
|
66
|
-
}
|
|
67
|
-
parser.on('-l', '--no-line-convert', 'Never convert line numbers.') {
|
|
68
|
-
line_convert = false
|
|
69
|
-
line_convert_all = false
|
|
70
|
-
}
|
|
71
|
-
parser.on('-a', '--no-omit-actions', 'Never omit actions.') {
|
|
72
|
-
omit_action_call = false
|
|
73
|
-
}
|
|
74
|
-
parser.on('--superclass=CLASSNAME',
|
|
75
|
-
'Uses CLASSNAME instead of Racc::Parser.') {|name|
|
|
76
|
-
superclass = name
|
|
77
|
-
}
|
|
78
|
-
parser.on('-C', '--check-only', 'Checks syntax and quit immediately.') {|fl|
|
|
79
|
-
check_only = fl
|
|
80
|
-
}
|
|
81
|
-
parser.on('-S', '--output-status', 'Outputs internal status time to time.') {
|
|
82
|
-
verbose = true
|
|
83
|
-
}
|
|
84
|
-
parser.on('-P', 'Enables generator profile') {
|
|
85
|
-
profiler = RaccProfiler.new(true)
|
|
86
|
-
}
|
|
87
|
-
parser.on('-D flags', "Flags for Racc debugging (do not use).") {|flags|
|
|
88
|
-
debug_flags = Racc::DebugFlags.parse_option_string(flags)
|
|
89
|
-
}
|
|
90
|
-
#parser.on('--no-extensions', 'Run Racc without any Ruby extension.') {
|
|
91
|
-
# Racc.const_set :Racc_No_Extensions, true
|
|
92
|
-
#}
|
|
93
|
-
parser.on('--version', 'Prints version and quit.') {
|
|
94
|
-
puts "racc version #{Racc::Version}"
|
|
95
|
-
exit
|
|
96
|
-
}
|
|
97
|
-
parser.on('--runtime-version', 'Prints runtime version and quit.') {
|
|
98
|
-
printf "racc runtime version %s; %s core version %s\n",
|
|
99
|
-
Racc::Parser::Racc_Runtime_Version,
|
|
100
|
-
Racc::Parser.racc_runtime_type,
|
|
101
|
-
if Racc::Parser.racc_runtime_type == 'ruby'
|
|
102
|
-
Racc::Parser::Racc_Runtime_Core_Version_R
|
|
103
|
-
else
|
|
104
|
-
Racc::Parser::Racc_Runtime_Core_Version_C
|
|
105
|
-
end
|
|
106
|
-
exit
|
|
107
|
-
}
|
|
108
|
-
parser.on('--copyright', 'Prints copyright and quit.') {
|
|
109
|
-
puts Racc::Copyright
|
|
110
|
-
exit
|
|
111
|
-
}
|
|
112
|
-
parser.on('--help', 'Prints this message and quit.') {
|
|
113
|
-
puts parser.help
|
|
114
|
-
exit
|
|
115
|
-
}
|
|
116
|
-
begin
|
|
117
|
-
parser.parse!
|
|
118
|
-
rescue OptionParser::ParseError => err
|
|
119
|
-
abort [err.message, parser.help].join("\n")
|
|
120
|
-
end
|
|
121
|
-
if ARGV.size > 1
|
|
122
|
-
abort 'too many input'
|
|
123
|
-
end
|
|
124
|
-
|
|
125
|
-
input = ARGV[0] || "stdin"
|
|
126
|
-
|
|
127
|
-
if input == "stdin" && !output then
|
|
128
|
-
abort 'You must specify a path to read or use -o <path> for output.'
|
|
129
|
-
end
|
|
130
|
-
|
|
131
|
-
begin
|
|
132
|
-
$stderr.puts 'Parsing grammar file...' if verbose
|
|
133
|
-
result = profiler.section('parse') {
|
|
134
|
-
parser = Racc::GrammarFileParser.new(debug_flags)
|
|
135
|
-
content = input == "stdin" ? ARGF.read : File.read(input)
|
|
136
|
-
parser.parse(content, File.basename(input))
|
|
137
|
-
}
|
|
138
|
-
if check_only
|
|
139
|
-
$stderr.puts 'syntax ok'
|
|
140
|
-
exit
|
|
141
|
-
end
|
|
142
|
-
|
|
143
|
-
$stderr.puts 'Generating LALR states...' if verbose
|
|
144
|
-
states = profiler.section('nfa') {
|
|
145
|
-
Racc::States.new(result.grammar).nfa
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
$stderr.puts "Resolving #{states.size} states..." if verbose
|
|
149
|
-
profiler.section('dfa') {
|
|
150
|
-
states.dfa
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
$stderr.puts 'Creating parser file...' if verbose
|
|
154
|
-
params = result.params.dup
|
|
155
|
-
params.filename = File.basename(input)
|
|
156
|
-
# Overwrites parameters given by a grammar file with command line options.
|
|
157
|
-
params.superclass = superclass if superclass
|
|
158
|
-
params.omit_action_call = true if omit_action_call
|
|
159
|
-
# From command line option
|
|
160
|
-
if make_executable
|
|
161
|
-
params.make_executable = true
|
|
162
|
-
params.interpreter = rubypath
|
|
163
|
-
end
|
|
164
|
-
params.debug_parser = debug_parser
|
|
165
|
-
params.convert_line = line_convert
|
|
166
|
-
params.convert_line_all = line_convert_all
|
|
167
|
-
params.embed_runtime = embed_runtime
|
|
168
|
-
params.frozen_strings = frozen_strings
|
|
169
|
-
profiler.section('generation') {
|
|
170
|
-
generator = Racc::ParserFileGenerator.new(states, params)
|
|
171
|
-
generator.generate_parser_file(output || make_filename(input, '.tab.rb'))
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
if make_logfile
|
|
175
|
-
profiler.section('logging') {
|
|
176
|
-
$stderr.puts 'Creating log file...' if verbose
|
|
177
|
-
logfilename ||= make_filename(output || File.basename(input), '.output')
|
|
178
|
-
File.open(logfilename, 'w') {|f|
|
|
179
|
-
Racc::LogFileGenerator.new(states, debug_flags).output f
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
end
|
|
183
|
-
if debug_flags.status_logging
|
|
184
|
-
log_useless states.grammar
|
|
185
|
-
log_conflict states
|
|
186
|
-
else
|
|
187
|
-
has_useless = report_useless states.grammar
|
|
188
|
-
has_conflicts = report_conflict states
|
|
189
|
-
if has_useless || has_conflicts
|
|
190
|
-
preamble = make_logfile ? 'C' : 'Turn on logging with "-v" and c'
|
|
191
|
-
$stderr.puts %Q{#{preamble}heck ".output" file for details}
|
|
192
|
-
end
|
|
193
|
-
end
|
|
194
|
-
|
|
195
|
-
profiler.report
|
|
196
|
-
if states.should_error_on_expect_mismatch?
|
|
197
|
-
raise Racc::CompileError, "#{states.grammar.n_expected_srconflicts} shift/reduce conflicts are expected but #{states.n_srconflicts} shift/reduce conflicts exist"
|
|
198
|
-
end
|
|
199
|
-
rescue Racc::Error, Errno::ENOENT, Errno::EPERM => err
|
|
200
|
-
raise if $DEBUG or debug_flags.any?
|
|
201
|
-
lineno = err.message.slice(/\A\d+:/).to_s
|
|
202
|
-
abort "#{File.basename $0}: #{input}:#{lineno} #{err.message.strip}"
|
|
203
|
-
end
|
|
204
|
-
end
|
|
205
|
-
|
|
206
|
-
def make_filename(path, suffix)
|
|
207
|
-
path.sub(/(?:\..*?)?\z/, suffix)
|
|
208
|
-
end
|
|
209
|
-
|
|
210
|
-
LIST_LIMIT = 10
|
|
211
|
-
def report_list(enum, label)
|
|
212
|
-
c = enum.count
|
|
213
|
-
if c > 0
|
|
214
|
-
$stderr.puts "#{c} #{label}:"
|
|
215
|
-
enum.first(LIST_LIMIT).each do |item|
|
|
216
|
-
$stderr.puts " #{yield item}"
|
|
217
|
-
end
|
|
218
|
-
$stderr.puts " ..." if c > LIST_LIMIT
|
|
219
|
-
end
|
|
220
|
-
end
|
|
221
|
-
|
|
222
|
-
# @return [Boolean] if anything was reported
|
|
223
|
-
def report_conflict(states)
|
|
224
|
-
if states.should_report_srconflict?
|
|
225
|
-
reported = true
|
|
226
|
-
$stderr.puts "#{states.n_srconflicts} shift/reduce conflicts"
|
|
227
|
-
end
|
|
228
|
-
if states.rrconflict_exist?
|
|
229
|
-
reported = true
|
|
230
|
-
$stderr.puts "#{states.n_rrconflicts} reduce/reduce conflicts"
|
|
231
|
-
end
|
|
232
|
-
reported
|
|
233
|
-
end
|
|
234
|
-
|
|
235
|
-
def log_conflict(states)
|
|
236
|
-
logging('w') {|f|
|
|
237
|
-
f.puts "ex#{states.grammar.n_expected_srconflicts}"
|
|
238
|
-
if states.should_report_srconflict?
|
|
239
|
-
f.puts "sr#{states.n_srconflicts}"
|
|
240
|
-
end
|
|
241
|
-
if states.rrconflict_exist?
|
|
242
|
-
f.puts "rr#{states.n_rrconflicts}"
|
|
243
|
-
end
|
|
244
|
-
}
|
|
245
|
-
end
|
|
246
|
-
|
|
247
|
-
# @return [Boolean] if anything was reported
|
|
248
|
-
def report_useless(grammar)
|
|
249
|
-
reported = report_list(grammar.each_useless_nonterminal, 'useless nonterminals', &:to_s)
|
|
250
|
-
|
|
251
|
-
reported ||= report_list(grammar.each_useless_rule, 'useless rules') { |r| "##{r.ident} (#{r.target})" }
|
|
252
|
-
|
|
253
|
-
if grammar.start.useless?
|
|
254
|
-
$stderr.puts 'fatal: start symbol does not derive any sentence'
|
|
255
|
-
reported = true
|
|
256
|
-
end
|
|
257
|
-
reported
|
|
258
|
-
end
|
|
259
|
-
|
|
260
|
-
def log_useless(grammar)
|
|
261
|
-
logging('a') {|f|
|
|
262
|
-
if grammar.useless_nonterminal_exist?
|
|
263
|
-
f.puts "un#{grammar.n_useless_nonterminals}"
|
|
264
|
-
end
|
|
265
|
-
if grammar.useless_rule_exist?
|
|
266
|
-
f.puts "ur#{grammar.n_useless_rules}"
|
|
267
|
-
end
|
|
268
|
-
}
|
|
269
|
-
end
|
|
270
|
-
|
|
271
|
-
def logging(mode, &block)
|
|
272
|
-
File.open("log/#{File.basename(ARGV[0])}", mode, &block)
|
|
273
|
-
end
|
|
274
|
-
|
|
275
|
-
class RaccProfiler
|
|
276
|
-
def initialize(really)
|
|
277
|
-
@really = really
|
|
278
|
-
@log = []
|
|
279
|
-
end
|
|
280
|
-
|
|
281
|
-
def section(name)
|
|
282
|
-
if @really
|
|
283
|
-
t1 = ::Process.times.utime
|
|
284
|
-
result = yield
|
|
285
|
-
t2 = ::Process.times.utime
|
|
286
|
-
@log.push [name, t2 - t1]
|
|
287
|
-
result
|
|
288
|
-
else
|
|
289
|
-
yield
|
|
290
|
-
end
|
|
291
|
-
end
|
|
292
|
-
|
|
293
|
-
def report
|
|
294
|
-
return unless @really
|
|
295
|
-
f = $stderr
|
|
296
|
-
total = cumulative_time()
|
|
297
|
-
f.puts '--task-----------+--sec------+---%-'
|
|
298
|
-
@log.each do |name, time|
|
|
299
|
-
f.printf "%-19s %s %3d%%\n", name, pjust(time,4,4), (time/total*100).to_i
|
|
300
|
-
end
|
|
301
|
-
f.puts '-----------------+-----------+-----'
|
|
302
|
-
f.printf "%-20s%s\n", 'total', pjust(total,4,4)
|
|
303
|
-
end
|
|
304
|
-
|
|
305
|
-
private
|
|
306
|
-
|
|
307
|
-
def cumulative_time
|
|
308
|
-
t = @log.inject(0) {|sum, (name, time)| sum + time }
|
|
309
|
-
t == 0 ? 0.01 : t
|
|
310
|
-
end
|
|
311
|
-
|
|
312
|
-
def pjust(num, i, j)
|
|
313
|
-
m = /(\d+)(\.\d+)?/.match(num.to_s)
|
|
314
|
-
str = m[1].rjust(i)
|
|
315
|
-
str.concat m[2].ljust(j+1)[0,j+1] if m[2]
|
|
316
|
-
str
|
|
317
|
-
end
|
|
318
|
-
end
|
|
319
|
-
|
|
320
|
-
main
|