kanayago 0.1.1

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 (74) hide show
  1. checksums.yaml +7 -0
  2. data/.rubocop.yml +15 -0
  3. data/.rubocop_todo.yml +23 -0
  4. data/LICENSE.txt +21 -0
  5. data/README.md +79 -0
  6. data/Rakefile +182 -0
  7. data/ext/kanayago/ccan/check_type/check_type.h +63 -0
  8. data/ext/kanayago/ccan/container_of/container_of.h +142 -0
  9. data/ext/kanayago/ccan/list/list.h +791 -0
  10. data/ext/kanayago/ccan/str/str.h +17 -0
  11. data/ext/kanayago/constant.h +53 -0
  12. data/ext/kanayago/extconf.rb +21 -0
  13. data/ext/kanayago/id.h +347 -0
  14. data/ext/kanayago/id_table.h +39 -0
  15. data/ext/kanayago/internal/array.h +151 -0
  16. data/ext/kanayago/internal/basic_operators.h +64 -0
  17. data/ext/kanayago/internal/bignum.h +244 -0
  18. data/ext/kanayago/internal/bits.h +568 -0
  19. data/ext/kanayago/internal/compile.h +34 -0
  20. data/ext/kanayago/internal/compilers.h +107 -0
  21. data/ext/kanayago/internal/complex.h +29 -0
  22. data/ext/kanayago/internal/encoding.h +36 -0
  23. data/ext/kanayago/internal/error.h +218 -0
  24. data/ext/kanayago/internal/fixnum.h +184 -0
  25. data/ext/kanayago/internal/gc.h +322 -0
  26. data/ext/kanayago/internal/hash.h +191 -0
  27. data/ext/kanayago/internal/imemo.h +261 -0
  28. data/ext/kanayago/internal/io.h +140 -0
  29. data/ext/kanayago/internal/numeric.h +274 -0
  30. data/ext/kanayago/internal/parse.h +117 -0
  31. data/ext/kanayago/internal/rational.h +71 -0
  32. data/ext/kanayago/internal/re.h +28 -0
  33. data/ext/kanayago/internal/ruby_parser.h +125 -0
  34. data/ext/kanayago/internal/sanitizers.h +297 -0
  35. data/ext/kanayago/internal/serial.h +23 -0
  36. data/ext/kanayago/internal/static_assert.h +16 -0
  37. data/ext/kanayago/internal/string.h +186 -0
  38. data/ext/kanayago/internal/symbol.h +45 -0
  39. data/ext/kanayago/internal/thread.h +79 -0
  40. data/ext/kanayago/internal/variable.h +72 -0
  41. data/ext/kanayago/internal/vm.h +137 -0
  42. data/ext/kanayago/internal/warnings.h +16 -0
  43. data/ext/kanayago/internal.h +108 -0
  44. data/ext/kanayago/kanayago.c +420 -0
  45. data/ext/kanayago/kanayago.h +21 -0
  46. data/ext/kanayago/lex.c +302 -0
  47. data/ext/kanayago/method.h +255 -0
  48. data/ext/kanayago/node.c +440 -0
  49. data/ext/kanayago/node.h +111 -0
  50. data/ext/kanayago/node_name.inc +224 -0
  51. data/ext/kanayago/parse.c +26931 -0
  52. data/ext/kanayago/parse.h +244 -0
  53. data/ext/kanayago/parse.tmp.y +16145 -0
  54. data/ext/kanayago/parser_bits.h +564 -0
  55. data/ext/kanayago/parser_node.h +32 -0
  56. data/ext/kanayago/parser_st.c +164 -0
  57. data/ext/kanayago/parser_st.h +162 -0
  58. data/ext/kanayago/parser_value.h +106 -0
  59. data/ext/kanayago/probes.h +4 -0
  60. data/ext/kanayago/ruby_assert.h +14 -0
  61. data/ext/kanayago/ruby_atomic.h +23 -0
  62. data/ext/kanayago/ruby_parser.c +1165 -0
  63. data/ext/kanayago/rubyparser.h +1391 -0
  64. data/ext/kanayago/shape.h +234 -0
  65. data/ext/kanayago/st.c +2339 -0
  66. data/ext/kanayago/symbol.h +123 -0
  67. data/ext/kanayago/thread_pthread.h +168 -0
  68. data/ext/kanayago/universal_parser.c +230 -0
  69. data/ext/kanayago/vm_core.h +2215 -0
  70. data/ext/kanayago/vm_opts.h +67 -0
  71. data/lib/kanayago/version.rb +5 -0
  72. data/lib/kanayago.rb +11 -0
  73. data/sig/kanayago.rbs +4 -0
  74. metadata +116 -0
@@ -0,0 +1,67 @@
1
+ #ifndef RUBY_VM_OPTS_H/*-*-c-*-*/
2
+ #define RUBY_VM_OPTS_H
3
+ /**********************************************************************
4
+
5
+ vm_opts.h - VM optimize option
6
+
7
+ $Author$
8
+
9
+ Copyright (C) 2004-2007 Koichi Sasada
10
+
11
+ **********************************************************************/
12
+
13
+ /* Compile options.
14
+ * You can change these options at runtime by VM::CompileOption.
15
+ * Following definitions are default values.
16
+ */
17
+
18
+ #define OPT_TAILCALL_OPTIMIZATION 0
19
+ #define OPT_PEEPHOLE_OPTIMIZATION 1
20
+ #define OPT_SPECIALISED_INSTRUCTION 1
21
+ #define OPT_INLINE_CONST_CACHE 1
22
+ #define OPT_FROZEN_STRING_LITERAL -1
23
+ #define OPT_DEBUG_FROZEN_STRING_LITERAL 0
24
+
25
+ /* Build Options.
26
+ * You can't change these options at runtime.
27
+ */
28
+
29
+ /* C compiler dependent */
30
+
31
+ /*
32
+ * 0: direct (using labeled goto using GCC special)
33
+ * 1: token (switch/case)
34
+ * 2: call (function call for each insn dispatch)
35
+ */
36
+ #ifndef OPT_THREADED_CODE
37
+ #define OPT_THREADED_CODE 0
38
+ #endif
39
+
40
+ #define OPT_DIRECT_THREADED_CODE (OPT_THREADED_CODE == 0)
41
+ #define OPT_TOKEN_THREADED_CODE (OPT_THREADED_CODE == 1)
42
+ #define OPT_CALL_THREADED_CODE (OPT_THREADED_CODE == 2)
43
+
44
+ /* VM running option */
45
+ #define OPT_CHECKED_RUN 1
46
+ #define OPT_INLINE_METHOD_CACHE 1
47
+ #define OPT_GLOBAL_METHOD_CACHE 1
48
+
49
+ #ifndef OPT_IC_FOR_IVAR
50
+ #define OPT_IC_FOR_IVAR 1
51
+ #endif
52
+
53
+ /* architecture independent, affects generated code */
54
+ #define OPT_OPERANDS_UNIFICATION 1
55
+ #define OPT_INSTRUCTIONS_UNIFICATION 0
56
+ #define OPT_UNIFY_ALL_COMBINATION 0
57
+
58
+ /* misc */
59
+ #ifndef OPT_SUPPORT_JOKE
60
+ #define OPT_SUPPORT_JOKE 0
61
+ #endif
62
+
63
+ #ifndef VM_COLLECT_USAGE_DETAILS
64
+ #define VM_COLLECT_USAGE_DETAILS 0
65
+ #endif
66
+
67
+ #endif /* RUBY_VM_OPTS_H */
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Kanayago
4
+ VERSION = '0.1.1'
5
+ end
data/lib/kanayago.rb ADDED
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'kanayago/version'
4
+ require_relative 'kanayago/kanayago'
5
+
6
+ # Parse Ruby code with Ruby's Parser(Universal Parser)
7
+ module Kanayago
8
+ def self.parse(source)
9
+ kanayago_parse(source)
10
+ end
11
+ end
data/sig/kanayago.rbs ADDED
@@ -0,0 +1,4 @@
1
+ module Kanayago
2
+ VERSION: String
3
+ # See the writing guide of rbs: https://github.com/ruby/rbs#guides
4
+ end
metadata ADDED
@@ -0,0 +1,116 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: kanayago
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - S-H-GAMELINKS
8
+ bindir: exe
9
+ cert_chain: []
10
+ date: 2024-09-05 00:00:00.000000000 Z
11
+ dependencies: []
12
+ description: Trying to Make Ruby's Parser Available as a Gem
13
+ email:
14
+ - gamelinks007@gmail.com
15
+ executables: []
16
+ extensions:
17
+ - ext/kanayago/extconf.rb
18
+ extra_rdoc_files: []
19
+ files:
20
+ - ".rubocop.yml"
21
+ - ".rubocop_todo.yml"
22
+ - LICENSE.txt
23
+ - README.md
24
+ - Rakefile
25
+ - ext/kanayago/ccan/check_type/check_type.h
26
+ - ext/kanayago/ccan/container_of/container_of.h
27
+ - ext/kanayago/ccan/list/list.h
28
+ - ext/kanayago/ccan/str/str.h
29
+ - ext/kanayago/constant.h
30
+ - ext/kanayago/extconf.rb
31
+ - ext/kanayago/id.h
32
+ - ext/kanayago/id_table.h
33
+ - ext/kanayago/internal.h
34
+ - ext/kanayago/internal/array.h
35
+ - ext/kanayago/internal/basic_operators.h
36
+ - ext/kanayago/internal/bignum.h
37
+ - ext/kanayago/internal/bits.h
38
+ - ext/kanayago/internal/compile.h
39
+ - ext/kanayago/internal/compilers.h
40
+ - ext/kanayago/internal/complex.h
41
+ - ext/kanayago/internal/encoding.h
42
+ - ext/kanayago/internal/error.h
43
+ - ext/kanayago/internal/fixnum.h
44
+ - ext/kanayago/internal/gc.h
45
+ - ext/kanayago/internal/hash.h
46
+ - ext/kanayago/internal/imemo.h
47
+ - ext/kanayago/internal/io.h
48
+ - ext/kanayago/internal/numeric.h
49
+ - ext/kanayago/internal/parse.h
50
+ - ext/kanayago/internal/rational.h
51
+ - ext/kanayago/internal/re.h
52
+ - ext/kanayago/internal/ruby_parser.h
53
+ - ext/kanayago/internal/sanitizers.h
54
+ - ext/kanayago/internal/serial.h
55
+ - ext/kanayago/internal/static_assert.h
56
+ - ext/kanayago/internal/string.h
57
+ - ext/kanayago/internal/symbol.h
58
+ - ext/kanayago/internal/thread.h
59
+ - ext/kanayago/internal/variable.h
60
+ - ext/kanayago/internal/vm.h
61
+ - ext/kanayago/internal/warnings.h
62
+ - ext/kanayago/kanayago.c
63
+ - ext/kanayago/kanayago.h
64
+ - ext/kanayago/lex.c
65
+ - ext/kanayago/method.h
66
+ - ext/kanayago/node.c
67
+ - ext/kanayago/node.h
68
+ - ext/kanayago/node_name.inc
69
+ - ext/kanayago/parse.c
70
+ - ext/kanayago/parse.h
71
+ - ext/kanayago/parse.tmp.y
72
+ - ext/kanayago/parser_bits.h
73
+ - ext/kanayago/parser_node.h
74
+ - ext/kanayago/parser_st.c
75
+ - ext/kanayago/parser_st.h
76
+ - ext/kanayago/parser_value.h
77
+ - ext/kanayago/probes.h
78
+ - ext/kanayago/ruby_assert.h
79
+ - ext/kanayago/ruby_atomic.h
80
+ - ext/kanayago/ruby_parser.c
81
+ - ext/kanayago/rubyparser.h
82
+ - ext/kanayago/shape.h
83
+ - ext/kanayago/st.c
84
+ - ext/kanayago/symbol.h
85
+ - ext/kanayago/thread_pthread.h
86
+ - ext/kanayago/universal_parser.c
87
+ - ext/kanayago/vm_core.h
88
+ - ext/kanayago/vm_opts.h
89
+ - lib/kanayago.rb
90
+ - lib/kanayago/version.rb
91
+ - sig/kanayago.rbs
92
+ homepage: https://github.com/S-H-GAMELINKS/kanayago
93
+ licenses:
94
+ - MIT
95
+ metadata:
96
+ homepage_uri: https://github.com/S-H-GAMELINKS/kanayago
97
+ source_code_uri: https://github.com/S-H-GAMELINKS/kanayago
98
+ changelog_uri: https://github.com/S-H-GAMELINKS/kanayago/releases
99
+ rdoc_options: []
100
+ require_paths:
101
+ - lib
102
+ required_ruby_version: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">"
105
+ - !ruby/object:Gem::Version
106
+ version: 3.3.0
107
+ required_rubygems_version: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ requirements: []
113
+ rubygems_version: 3.6.0.dev
114
+ specification_version: 4
115
+ summary: Trying to Make Ruby's Parser Available as a Gem
116
+ test_files: []