natalie_parser 1.0.0 → 1.2.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.
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