kanayago 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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: []