natalie_parser 1.0.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +27 -0
  3. data/README.md +11 -4
  4. data/Rakefile +12 -5
  5. data/ext/natalie_parser/mri_creator.hpp +25 -7
  6. data/include/natalie_parser/creator/debug_creator.hpp +13 -3
  7. data/include/natalie_parser/creator.hpp +4 -2
  8. data/include/natalie_parser/node/array_pattern_node.hpp +20 -2
  9. data/include/natalie_parser/node/bignum_node.hpp +5 -1
  10. data/include/natalie_parser/node/case_in_node.hpp +5 -2
  11. data/include/natalie_parser/node/complex_node.hpp +49 -0
  12. data/include/natalie_parser/node/fixnum_node.hpp +5 -1
  13. data/include/natalie_parser/node/float_node.hpp +4 -0
  14. data/include/natalie_parser/node/forward_args_node.hpp +26 -0
  15. data/include/natalie_parser/node/hash_pattern_node.hpp +1 -0
  16. data/include/natalie_parser/node/infix_op_node.hpp +1 -1
  17. data/include/natalie_parser/node/iter_node.hpp +1 -1
  18. data/include/natalie_parser/node/keyword_rest_pattern_node.hpp +43 -0
  19. data/include/natalie_parser/node/node.hpp +7 -1
  20. data/include/natalie_parser/node/nth_ref_node.hpp +1 -1
  21. data/include/natalie_parser/node/rational_node.hpp +45 -0
  22. data/include/natalie_parser/node.hpp +4 -0
  23. data/include/natalie_parser/parser.hpp +14 -1
  24. data/include/natalie_parser/token.hpp +62 -13
  25. data/lib/natalie_parser/version.rb +1 -1
  26. data/src/lexer/interpolated_string_lexer.cpp +9 -9
  27. data/src/lexer/regexp_lexer.cpp +7 -7
  28. data/src/lexer/word_array_lexer.cpp +13 -13
  29. data/src/lexer.cpp +210 -181
  30. data/src/node/begin_rescue_node.cpp +1 -1
  31. data/src/node/interpolated_regexp_node.cpp +1 -1
  32. data/src/node/node.cpp +7 -0
  33. data/src/node/node_with_args.cpp +1 -0
  34. data/src/parser.cpp +261 -91
  35. metadata +6 -2
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: natalie_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Morgan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-03 00:00:00.000000000 Z
11
+ date: 2022-06-17 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: NatalieParser is a zero-dependency, from-scratch, hand-written recursive
14
14
  descent parser for the Ruby Programming Language.
@@ -55,6 +55,7 @@ files:
55
55
  - include/natalie_parser/node/class_node.hpp
56
56
  - include/natalie_parser/node/colon2_node.hpp
57
57
  - include/natalie_parser/node/colon3_node.hpp
58
+ - include/natalie_parser/node/complex_node.hpp
58
59
  - include/natalie_parser/node/constant_node.hpp
59
60
  - include/natalie_parser/node/def_node.hpp
60
61
  - include/natalie_parser/node/defined_node.hpp
@@ -64,6 +65,7 @@ files:
64
65
  - include/natalie_parser/node/false_node.hpp
65
66
  - include/natalie_parser/node/fixnum_node.hpp
66
67
  - include/natalie_parser/node/float_node.hpp
68
+ - include/natalie_parser/node/forward_args_node.hpp
67
69
  - include/natalie_parser/node/hash_node.hpp
68
70
  - include/natalie_parser/node/hash_pattern_node.hpp
69
71
  - include/natalie_parser/node/identifier_node.hpp
@@ -77,6 +79,7 @@ files:
77
79
  - include/natalie_parser/node/interpolated_symbol_node.hpp
78
80
  - include/natalie_parser/node/iter_node.hpp
79
81
  - include/natalie_parser/node/keyword_arg_node.hpp
82
+ - include/natalie_parser/node/keyword_rest_pattern_node.hpp
80
83
  - include/natalie_parser/node/keyword_splat_node.hpp
81
84
  - include/natalie_parser/node/logical_and_node.hpp
82
85
  - include/natalie_parser/node/logical_or_node.hpp
@@ -98,6 +101,7 @@ files:
98
101
  - include/natalie_parser/node/op_assign_or_node.hpp
99
102
  - include/natalie_parser/node/pin_node.hpp
100
103
  - include/natalie_parser/node/range_node.hpp
104
+ - include/natalie_parser/node/rational_node.hpp
101
105
  - include/natalie_parser/node/redo_node.hpp
102
106
  - include/natalie_parser/node/regexp_node.hpp
103
107
  - include/natalie_parser/node/retry_node.hpp