diff --git a/common.mk b/common.mk index 0e18bfe35bf581..ad4e98baeb1aa6 100644 --- a/common.mk +++ b/common.mk @@ -2199,6 +2199,27 @@ ast.$(OBJEXT): $(top_srcdir)/internal/symbol.h ast.$(OBJEXT): $(top_srcdir)/internal/variable.h ast.$(OBJEXT): $(top_srcdir)/internal/vm.h ast.$(OBJEXT): $(top_srcdir)/internal/warnings.h +ast.$(OBJEXT): $(top_srcdir)/prism/defines.h +ast.$(OBJEXT): $(top_srcdir)/prism/diagnostic.h +ast.$(OBJEXT): $(top_srcdir)/prism/encoding.h +ast.$(OBJEXT): $(top_srcdir)/prism/node.h +ast.$(OBJEXT): $(top_srcdir)/prism/options.h +ast.$(OBJEXT): $(top_srcdir)/prism/pack.h +ast.$(OBJEXT): $(top_srcdir)/prism/parser.h +ast.$(OBJEXT): $(top_srcdir)/prism/prettyprint.h +ast.$(OBJEXT): $(top_srcdir)/prism/prism.h +ast.$(OBJEXT): $(top_srcdir)/prism/regexp.h +ast.$(OBJEXT): $(top_srcdir)/prism/util/pm_buffer.h +ast.$(OBJEXT): $(top_srcdir)/prism/util/pm_char.h +ast.$(OBJEXT): $(top_srcdir)/prism/util/pm_constant_pool.h +ast.$(OBJEXT): $(top_srcdir)/prism/util/pm_list.h +ast.$(OBJEXT): $(top_srcdir)/prism/util/pm_memchr.h +ast.$(OBJEXT): $(top_srcdir)/prism/util/pm_newline_list.h +ast.$(OBJEXT): $(top_srcdir)/prism/util/pm_state_stack.h +ast.$(OBJEXT): $(top_srcdir)/prism/util/pm_string.h +ast.$(OBJEXT): $(top_srcdir)/prism/util/pm_string_list.h +ast.$(OBJEXT): $(top_srcdir)/prism/util/pm_strncasecmp.h +ast.$(OBJEXT): $(top_srcdir)/prism/util/pm_strpbrk.h ast.$(OBJEXT): {$(VPATH)}assert.h ast.$(OBJEXT): {$(VPATH)}ast.c ast.$(OBJEXT): {$(VPATH)}ast.rbinc @@ -2375,6 +2396,8 @@ ast.$(OBJEXT): {$(VPATH)}missing.h ast.$(OBJEXT): {$(VPATH)}node.h ast.$(OBJEXT): {$(VPATH)}onigmo.h ast.$(OBJEXT): {$(VPATH)}oniguruma.h +ast.$(OBJEXT): {$(VPATH)}prism/ast.h +ast.$(OBJEXT): {$(VPATH)}prism/version.h ast.$(OBJEXT): {$(VPATH)}ruby_assert.h ast.$(OBJEXT): {$(VPATH)}ruby_atomic.h ast.$(OBJEXT): {$(VPATH)}rubyparser.h @@ -2609,6 +2632,27 @@ builtin.$(OBJEXT): $(top_srcdir)/internal/static_assert.h builtin.$(OBJEXT): $(top_srcdir)/internal/variable.h builtin.$(OBJEXT): $(top_srcdir)/internal/vm.h builtin.$(OBJEXT): $(top_srcdir)/internal/warnings.h +builtin.$(OBJEXT): $(top_srcdir)/prism/defines.h +builtin.$(OBJEXT): $(top_srcdir)/prism/diagnostic.h +builtin.$(OBJEXT): $(top_srcdir)/prism/encoding.h +builtin.$(OBJEXT): $(top_srcdir)/prism/node.h +builtin.$(OBJEXT): $(top_srcdir)/prism/options.h +builtin.$(OBJEXT): $(top_srcdir)/prism/pack.h +builtin.$(OBJEXT): $(top_srcdir)/prism/parser.h +builtin.$(OBJEXT): $(top_srcdir)/prism/prettyprint.h +builtin.$(OBJEXT): $(top_srcdir)/prism/prism.h +builtin.$(OBJEXT): $(top_srcdir)/prism/regexp.h +builtin.$(OBJEXT): $(top_srcdir)/prism/util/pm_buffer.h +builtin.$(OBJEXT): $(top_srcdir)/prism/util/pm_char.h +builtin.$(OBJEXT): $(top_srcdir)/prism/util/pm_constant_pool.h +builtin.$(OBJEXT): $(top_srcdir)/prism/util/pm_list.h +builtin.$(OBJEXT): $(top_srcdir)/prism/util/pm_memchr.h +builtin.$(OBJEXT): $(top_srcdir)/prism/util/pm_newline_list.h +builtin.$(OBJEXT): $(top_srcdir)/prism/util/pm_state_stack.h +builtin.$(OBJEXT): $(top_srcdir)/prism/util/pm_string.h +builtin.$(OBJEXT): $(top_srcdir)/prism/util/pm_string_list.h +builtin.$(OBJEXT): $(top_srcdir)/prism/util/pm_strncasecmp.h +builtin.$(OBJEXT): $(top_srcdir)/prism/util/pm_strpbrk.h builtin.$(OBJEXT): {$(VPATH)}assert.h builtin.$(OBJEXT): {$(VPATH)}atomic.h builtin.$(OBJEXT): {$(VPATH)}backward/2/assume.h @@ -2785,6 +2829,8 @@ builtin.$(OBJEXT): {$(VPATH)}missing.h builtin.$(OBJEXT): {$(VPATH)}node.h builtin.$(OBJEXT): {$(VPATH)}onigmo.h builtin.$(OBJEXT): {$(VPATH)}oniguruma.h +builtin.$(OBJEXT): {$(VPATH)}prism/ast.h +builtin.$(OBJEXT): {$(VPATH)}prism/version.h builtin.$(OBJEXT): {$(VPATH)}ruby_assert.h builtin.$(OBJEXT): {$(VPATH)}ruby_atomic.h builtin.$(OBJEXT): {$(VPATH)}rubyparser.h @@ -3669,6 +3715,27 @@ cont.$(OBJEXT): $(top_srcdir)/internal/thread.h cont.$(OBJEXT): $(top_srcdir)/internal/variable.h cont.$(OBJEXT): $(top_srcdir)/internal/vm.h cont.$(OBJEXT): $(top_srcdir)/internal/warnings.h +cont.$(OBJEXT): $(top_srcdir)/prism/defines.h +cont.$(OBJEXT): $(top_srcdir)/prism/diagnostic.h +cont.$(OBJEXT): $(top_srcdir)/prism/encoding.h +cont.$(OBJEXT): $(top_srcdir)/prism/node.h +cont.$(OBJEXT): $(top_srcdir)/prism/options.h +cont.$(OBJEXT): $(top_srcdir)/prism/pack.h +cont.$(OBJEXT): $(top_srcdir)/prism/parser.h +cont.$(OBJEXT): $(top_srcdir)/prism/prettyprint.h +cont.$(OBJEXT): $(top_srcdir)/prism/prism.h +cont.$(OBJEXT): $(top_srcdir)/prism/regexp.h +cont.$(OBJEXT): $(top_srcdir)/prism/util/pm_buffer.h +cont.$(OBJEXT): $(top_srcdir)/prism/util/pm_char.h +cont.$(OBJEXT): $(top_srcdir)/prism/util/pm_constant_pool.h +cont.$(OBJEXT): $(top_srcdir)/prism/util/pm_list.h +cont.$(OBJEXT): $(top_srcdir)/prism/util/pm_memchr.h +cont.$(OBJEXT): $(top_srcdir)/prism/util/pm_newline_list.h +cont.$(OBJEXT): $(top_srcdir)/prism/util/pm_state_stack.h +cont.$(OBJEXT): $(top_srcdir)/prism/util/pm_string.h +cont.$(OBJEXT): $(top_srcdir)/prism/util/pm_string_list.h +cont.$(OBJEXT): $(top_srcdir)/prism/util/pm_strncasecmp.h +cont.$(OBJEXT): $(top_srcdir)/prism/util/pm_strpbrk.h cont.$(OBJEXT): {$(VPATH)}$(COROUTINE_H) cont.$(OBJEXT): {$(VPATH)}assert.h cont.$(OBJEXT): {$(VPATH)}atomic.h @@ -3847,6 +3914,8 @@ cont.$(OBJEXT): {$(VPATH)}missing.h cont.$(OBJEXT): {$(VPATH)}node.h cont.$(OBJEXT): {$(VPATH)}onigmo.h cont.$(OBJEXT): {$(VPATH)}oniguruma.h +cont.$(OBJEXT): {$(VPATH)}prism/ast.h +cont.$(OBJEXT): {$(VPATH)}prism/version.h cont.$(OBJEXT): {$(VPATH)}ractor.h cont.$(OBJEXT): {$(VPATH)}ractor_core.h cont.$(OBJEXT): {$(VPATH)}rjit.h @@ -6587,6 +6656,27 @@ eval.$(OBJEXT): $(top_srcdir)/internal/thread.h eval.$(OBJEXT): $(top_srcdir)/internal/variable.h eval.$(OBJEXT): $(top_srcdir)/internal/vm.h eval.$(OBJEXT): $(top_srcdir)/internal/warnings.h +eval.$(OBJEXT): $(top_srcdir)/prism/defines.h +eval.$(OBJEXT): $(top_srcdir)/prism/diagnostic.h +eval.$(OBJEXT): $(top_srcdir)/prism/encoding.h +eval.$(OBJEXT): $(top_srcdir)/prism/node.h +eval.$(OBJEXT): $(top_srcdir)/prism/options.h +eval.$(OBJEXT): $(top_srcdir)/prism/pack.h +eval.$(OBJEXT): $(top_srcdir)/prism/parser.h +eval.$(OBJEXT): $(top_srcdir)/prism/prettyprint.h +eval.$(OBJEXT): $(top_srcdir)/prism/prism.h +eval.$(OBJEXT): $(top_srcdir)/prism/regexp.h +eval.$(OBJEXT): $(top_srcdir)/prism/util/pm_buffer.h +eval.$(OBJEXT): $(top_srcdir)/prism/util/pm_char.h +eval.$(OBJEXT): $(top_srcdir)/prism/util/pm_constant_pool.h +eval.$(OBJEXT): $(top_srcdir)/prism/util/pm_list.h +eval.$(OBJEXT): $(top_srcdir)/prism/util/pm_memchr.h +eval.$(OBJEXT): $(top_srcdir)/prism/util/pm_newline_list.h +eval.$(OBJEXT): $(top_srcdir)/prism/util/pm_state_stack.h +eval.$(OBJEXT): $(top_srcdir)/prism/util/pm_string.h +eval.$(OBJEXT): $(top_srcdir)/prism/util/pm_string_list.h +eval.$(OBJEXT): $(top_srcdir)/prism/util/pm_strncasecmp.h +eval.$(OBJEXT): $(top_srcdir)/prism/util/pm_strpbrk.h eval.$(OBJEXT): {$(VPATH)}assert.h eval.$(OBJEXT): {$(VPATH)}atomic.h eval.$(OBJEXT): {$(VPATH)}backward/2/assume.h @@ -6767,6 +6857,8 @@ eval.$(OBJEXT): {$(VPATH)}missing.h eval.$(OBJEXT): {$(VPATH)}node.h eval.$(OBJEXT): {$(VPATH)}onigmo.h eval.$(OBJEXT): {$(VPATH)}oniguruma.h +eval.$(OBJEXT): {$(VPATH)}prism/ast.h +eval.$(OBJEXT): {$(VPATH)}prism/version.h eval.$(OBJEXT): {$(VPATH)}probes.dmyh eval.$(OBJEXT): {$(VPATH)}probes.h eval.$(OBJEXT): {$(VPATH)}probes_helper.h @@ -7040,6 +7132,27 @@ gc.$(OBJEXT): $(top_srcdir)/internal/thread.h gc.$(OBJEXT): $(top_srcdir)/internal/variable.h gc.$(OBJEXT): $(top_srcdir)/internal/vm.h gc.$(OBJEXT): $(top_srcdir)/internal/warnings.h +gc.$(OBJEXT): $(top_srcdir)/prism/defines.h +gc.$(OBJEXT): $(top_srcdir)/prism/diagnostic.h +gc.$(OBJEXT): $(top_srcdir)/prism/encoding.h +gc.$(OBJEXT): $(top_srcdir)/prism/node.h +gc.$(OBJEXT): $(top_srcdir)/prism/options.h +gc.$(OBJEXT): $(top_srcdir)/prism/pack.h +gc.$(OBJEXT): $(top_srcdir)/prism/parser.h +gc.$(OBJEXT): $(top_srcdir)/prism/prettyprint.h +gc.$(OBJEXT): $(top_srcdir)/prism/prism.h +gc.$(OBJEXT): $(top_srcdir)/prism/regexp.h +gc.$(OBJEXT): $(top_srcdir)/prism/util/pm_buffer.h +gc.$(OBJEXT): $(top_srcdir)/prism/util/pm_char.h +gc.$(OBJEXT): $(top_srcdir)/prism/util/pm_constant_pool.h +gc.$(OBJEXT): $(top_srcdir)/prism/util/pm_list.h +gc.$(OBJEXT): $(top_srcdir)/prism/util/pm_memchr.h +gc.$(OBJEXT): $(top_srcdir)/prism/util/pm_newline_list.h +gc.$(OBJEXT): $(top_srcdir)/prism/util/pm_state_stack.h +gc.$(OBJEXT): $(top_srcdir)/prism/util/pm_string.h +gc.$(OBJEXT): $(top_srcdir)/prism/util/pm_string_list.h +gc.$(OBJEXT): $(top_srcdir)/prism/util/pm_strncasecmp.h +gc.$(OBJEXT): $(top_srcdir)/prism/util/pm_strpbrk.h gc.$(OBJEXT): {$(VPATH)}assert.h gc.$(OBJEXT): {$(VPATH)}atomic.h gc.$(OBJEXT): {$(VPATH)}backward/2/assume.h @@ -7222,6 +7335,8 @@ gc.$(OBJEXT): {$(VPATH)}missing.h gc.$(OBJEXT): {$(VPATH)}node.h gc.$(OBJEXT): {$(VPATH)}onigmo.h gc.$(OBJEXT): {$(VPATH)}oniguruma.h +gc.$(OBJEXT): {$(VPATH)}prism/ast.h +gc.$(OBJEXT): {$(VPATH)}prism/version.h gc.$(OBJEXT): {$(VPATH)}probes.dmyh gc.$(OBJEXT): {$(VPATH)}probes.h gc.$(OBJEXT): {$(VPATH)}ractor.h @@ -7264,6 +7379,27 @@ goruby.$(OBJEXT): $(top_srcdir)/internal/static_assert.h goruby.$(OBJEXT): $(top_srcdir)/internal/variable.h goruby.$(OBJEXT): $(top_srcdir)/internal/vm.h goruby.$(OBJEXT): $(top_srcdir)/internal/warnings.h +goruby.$(OBJEXT): $(top_srcdir)/prism/defines.h +goruby.$(OBJEXT): $(top_srcdir)/prism/diagnostic.h +goruby.$(OBJEXT): $(top_srcdir)/prism/encoding.h +goruby.$(OBJEXT): $(top_srcdir)/prism/node.h +goruby.$(OBJEXT): $(top_srcdir)/prism/options.h +goruby.$(OBJEXT): $(top_srcdir)/prism/pack.h +goruby.$(OBJEXT): $(top_srcdir)/prism/parser.h +goruby.$(OBJEXT): $(top_srcdir)/prism/prettyprint.h +goruby.$(OBJEXT): $(top_srcdir)/prism/prism.h +goruby.$(OBJEXT): $(top_srcdir)/prism/regexp.h +goruby.$(OBJEXT): $(top_srcdir)/prism/util/pm_buffer.h +goruby.$(OBJEXT): $(top_srcdir)/prism/util/pm_char.h +goruby.$(OBJEXT): $(top_srcdir)/prism/util/pm_constant_pool.h +goruby.$(OBJEXT): $(top_srcdir)/prism/util/pm_list.h +goruby.$(OBJEXT): $(top_srcdir)/prism/util/pm_memchr.h +goruby.$(OBJEXT): $(top_srcdir)/prism/util/pm_newline_list.h +goruby.$(OBJEXT): $(top_srcdir)/prism/util/pm_state_stack.h +goruby.$(OBJEXT): $(top_srcdir)/prism/util/pm_string.h +goruby.$(OBJEXT): $(top_srcdir)/prism/util/pm_string_list.h +goruby.$(OBJEXT): $(top_srcdir)/prism/util/pm_strncasecmp.h +goruby.$(OBJEXT): $(top_srcdir)/prism/util/pm_strpbrk.h goruby.$(OBJEXT): {$(VPATH)}assert.h goruby.$(OBJEXT): {$(VPATH)}atomic.h goruby.$(OBJEXT): {$(VPATH)}backward.h @@ -7441,6 +7577,8 @@ goruby.$(OBJEXT): {$(VPATH)}missing.h goruby.$(OBJEXT): {$(VPATH)}node.h goruby.$(OBJEXT): {$(VPATH)}onigmo.h goruby.$(OBJEXT): {$(VPATH)}oniguruma.h +goruby.$(OBJEXT): {$(VPATH)}prism/ast.h +goruby.$(OBJEXT): {$(VPATH)}prism/version.h goruby.$(OBJEXT): {$(VPATH)}ruby_assert.h goruby.$(OBJEXT): {$(VPATH)}ruby_atomic.h goruby.$(OBJEXT): {$(VPATH)}rubyparser.h @@ -7479,6 +7617,27 @@ hash.$(OBJEXT): $(top_srcdir)/internal/time.h hash.$(OBJEXT): $(top_srcdir)/internal/variable.h hash.$(OBJEXT): $(top_srcdir)/internal/vm.h hash.$(OBJEXT): $(top_srcdir)/internal/warnings.h +hash.$(OBJEXT): $(top_srcdir)/prism/defines.h +hash.$(OBJEXT): $(top_srcdir)/prism/diagnostic.h +hash.$(OBJEXT): $(top_srcdir)/prism/encoding.h +hash.$(OBJEXT): $(top_srcdir)/prism/node.h +hash.$(OBJEXT): $(top_srcdir)/prism/options.h +hash.$(OBJEXT): $(top_srcdir)/prism/pack.h +hash.$(OBJEXT): $(top_srcdir)/prism/parser.h +hash.$(OBJEXT): $(top_srcdir)/prism/prettyprint.h +hash.$(OBJEXT): $(top_srcdir)/prism/prism.h +hash.$(OBJEXT): $(top_srcdir)/prism/regexp.h +hash.$(OBJEXT): $(top_srcdir)/prism/util/pm_buffer.h +hash.$(OBJEXT): $(top_srcdir)/prism/util/pm_char.h +hash.$(OBJEXT): $(top_srcdir)/prism/util/pm_constant_pool.h +hash.$(OBJEXT): $(top_srcdir)/prism/util/pm_list.h +hash.$(OBJEXT): $(top_srcdir)/prism/util/pm_memchr.h +hash.$(OBJEXT): $(top_srcdir)/prism/util/pm_newline_list.h +hash.$(OBJEXT): $(top_srcdir)/prism/util/pm_state_stack.h +hash.$(OBJEXT): $(top_srcdir)/prism/util/pm_string.h +hash.$(OBJEXT): $(top_srcdir)/prism/util/pm_string_list.h +hash.$(OBJEXT): $(top_srcdir)/prism/util/pm_strncasecmp.h +hash.$(OBJEXT): $(top_srcdir)/prism/util/pm_strpbrk.h hash.$(OBJEXT): {$(VPATH)}assert.h hash.$(OBJEXT): {$(VPATH)}atomic.h hash.$(OBJEXT): {$(VPATH)}backward/2/assume.h @@ -7654,6 +7813,8 @@ hash.$(OBJEXT): {$(VPATH)}missing.h hash.$(OBJEXT): {$(VPATH)}node.h hash.$(OBJEXT): {$(VPATH)}onigmo.h hash.$(OBJEXT): {$(VPATH)}oniguruma.h +hash.$(OBJEXT): {$(VPATH)}prism/ast.h +hash.$(OBJEXT): {$(VPATH)}prism/version.h hash.$(OBJEXT): {$(VPATH)}probes.dmyh hash.$(OBJEXT): {$(VPATH)}probes.h hash.$(OBJEXT): {$(VPATH)}ractor.h @@ -8520,6 +8681,27 @@ load.$(OBJEXT): $(top_srcdir)/internal/thread.h load.$(OBJEXT): $(top_srcdir)/internal/variable.h load.$(OBJEXT): $(top_srcdir)/internal/vm.h load.$(OBJEXT): $(top_srcdir)/internal/warnings.h +load.$(OBJEXT): $(top_srcdir)/prism/defines.h +load.$(OBJEXT): $(top_srcdir)/prism/diagnostic.h +load.$(OBJEXT): $(top_srcdir)/prism/encoding.h +load.$(OBJEXT): $(top_srcdir)/prism/node.h +load.$(OBJEXT): $(top_srcdir)/prism/options.h +load.$(OBJEXT): $(top_srcdir)/prism/pack.h +load.$(OBJEXT): $(top_srcdir)/prism/parser.h +load.$(OBJEXT): $(top_srcdir)/prism/prettyprint.h +load.$(OBJEXT): $(top_srcdir)/prism/prism.h +load.$(OBJEXT): $(top_srcdir)/prism/regexp.h +load.$(OBJEXT): $(top_srcdir)/prism/util/pm_buffer.h +load.$(OBJEXT): $(top_srcdir)/prism/util/pm_char.h +load.$(OBJEXT): $(top_srcdir)/prism/util/pm_constant_pool.h +load.$(OBJEXT): $(top_srcdir)/prism/util/pm_list.h +load.$(OBJEXT): $(top_srcdir)/prism/util/pm_memchr.h +load.$(OBJEXT): $(top_srcdir)/prism/util/pm_newline_list.h +load.$(OBJEXT): $(top_srcdir)/prism/util/pm_state_stack.h +load.$(OBJEXT): $(top_srcdir)/prism/util/pm_string.h +load.$(OBJEXT): $(top_srcdir)/prism/util/pm_string_list.h +load.$(OBJEXT): $(top_srcdir)/prism/util/pm_strncasecmp.h +load.$(OBJEXT): $(top_srcdir)/prism/util/pm_strpbrk.h load.$(OBJEXT): {$(VPATH)}assert.h load.$(OBJEXT): {$(VPATH)}atomic.h load.$(OBJEXT): {$(VPATH)}backward/2/assume.h @@ -8697,6 +8879,8 @@ load.$(OBJEXT): {$(VPATH)}missing.h load.$(OBJEXT): {$(VPATH)}node.h load.$(OBJEXT): {$(VPATH)}onigmo.h load.$(OBJEXT): {$(VPATH)}oniguruma.h +load.$(OBJEXT): {$(VPATH)}prism/ast.h +load.$(OBJEXT): {$(VPATH)}prism/version.h load.$(OBJEXT): {$(VPATH)}probes.dmyh load.$(OBJEXT): {$(VPATH)}probes.h load.$(OBJEXT): {$(VPATH)}ruby_assert.h @@ -9811,6 +9995,27 @@ miniinit.$(OBJEXT): $(top_srcdir)/internal/static_assert.h miniinit.$(OBJEXT): $(top_srcdir)/internal/variable.h miniinit.$(OBJEXT): $(top_srcdir)/internal/vm.h miniinit.$(OBJEXT): $(top_srcdir)/internal/warnings.h +miniinit.$(OBJEXT): $(top_srcdir)/prism/defines.h +miniinit.$(OBJEXT): $(top_srcdir)/prism/diagnostic.h +miniinit.$(OBJEXT): $(top_srcdir)/prism/encoding.h +miniinit.$(OBJEXT): $(top_srcdir)/prism/node.h +miniinit.$(OBJEXT): $(top_srcdir)/prism/options.h +miniinit.$(OBJEXT): $(top_srcdir)/prism/pack.h +miniinit.$(OBJEXT): $(top_srcdir)/prism/parser.h +miniinit.$(OBJEXT): $(top_srcdir)/prism/prettyprint.h +miniinit.$(OBJEXT): $(top_srcdir)/prism/prism.h +miniinit.$(OBJEXT): $(top_srcdir)/prism/regexp.h +miniinit.$(OBJEXT): $(top_srcdir)/prism/util/pm_buffer.h +miniinit.$(OBJEXT): $(top_srcdir)/prism/util/pm_char.h +miniinit.$(OBJEXT): $(top_srcdir)/prism/util/pm_constant_pool.h +miniinit.$(OBJEXT): $(top_srcdir)/prism/util/pm_list.h +miniinit.$(OBJEXT): $(top_srcdir)/prism/util/pm_memchr.h +miniinit.$(OBJEXT): $(top_srcdir)/prism/util/pm_newline_list.h +miniinit.$(OBJEXT): $(top_srcdir)/prism/util/pm_state_stack.h +miniinit.$(OBJEXT): $(top_srcdir)/prism/util/pm_string.h +miniinit.$(OBJEXT): $(top_srcdir)/prism/util/pm_string_list.h +miniinit.$(OBJEXT): $(top_srcdir)/prism/util/pm_strncasecmp.h +miniinit.$(OBJEXT): $(top_srcdir)/prism/util/pm_strpbrk.h miniinit.$(OBJEXT): {$(VPATH)}array.rb miniinit.$(OBJEXT): {$(VPATH)}assert.h miniinit.$(OBJEXT): {$(VPATH)}ast.rb @@ -10000,6 +10205,8 @@ miniinit.$(OBJEXT): {$(VPATH)}onigmo.h miniinit.$(OBJEXT): {$(VPATH)}oniguruma.h miniinit.$(OBJEXT): {$(VPATH)}pack.rb miniinit.$(OBJEXT): {$(VPATH)}prelude.rb +miniinit.$(OBJEXT): {$(VPATH)}prism/ast.h +miniinit.$(OBJEXT): {$(VPATH)}prism/version.h miniinit.$(OBJEXT): {$(VPATH)}ractor.rb miniinit.$(OBJEXT): {$(VPATH)}rjit.rb miniinit.$(OBJEXT): {$(VPATH)}rjit_c.rb @@ -12335,6 +12542,27 @@ proc.$(OBJEXT): $(top_srcdir)/internal/symbol.h proc.$(OBJEXT): $(top_srcdir)/internal/variable.h proc.$(OBJEXT): $(top_srcdir)/internal/vm.h proc.$(OBJEXT): $(top_srcdir)/internal/warnings.h +proc.$(OBJEXT): $(top_srcdir)/prism/defines.h +proc.$(OBJEXT): $(top_srcdir)/prism/diagnostic.h +proc.$(OBJEXT): $(top_srcdir)/prism/encoding.h +proc.$(OBJEXT): $(top_srcdir)/prism/node.h +proc.$(OBJEXT): $(top_srcdir)/prism/options.h +proc.$(OBJEXT): $(top_srcdir)/prism/pack.h +proc.$(OBJEXT): $(top_srcdir)/prism/parser.h +proc.$(OBJEXT): $(top_srcdir)/prism/prettyprint.h +proc.$(OBJEXT): $(top_srcdir)/prism/prism.h +proc.$(OBJEXT): $(top_srcdir)/prism/regexp.h +proc.$(OBJEXT): $(top_srcdir)/prism/util/pm_buffer.h +proc.$(OBJEXT): $(top_srcdir)/prism/util/pm_char.h +proc.$(OBJEXT): $(top_srcdir)/prism/util/pm_constant_pool.h +proc.$(OBJEXT): $(top_srcdir)/prism/util/pm_list.h +proc.$(OBJEXT): $(top_srcdir)/prism/util/pm_memchr.h +proc.$(OBJEXT): $(top_srcdir)/prism/util/pm_newline_list.h +proc.$(OBJEXT): $(top_srcdir)/prism/util/pm_state_stack.h +proc.$(OBJEXT): $(top_srcdir)/prism/util/pm_string.h +proc.$(OBJEXT): $(top_srcdir)/prism/util/pm_string_list.h +proc.$(OBJEXT): $(top_srcdir)/prism/util/pm_strncasecmp.h +proc.$(OBJEXT): $(top_srcdir)/prism/util/pm_strpbrk.h proc.$(OBJEXT): {$(VPATH)}assert.h proc.$(OBJEXT): {$(VPATH)}atomic.h proc.$(OBJEXT): {$(VPATH)}backward/2/assume.h @@ -12510,6 +12738,8 @@ proc.$(OBJEXT): {$(VPATH)}missing.h proc.$(OBJEXT): {$(VPATH)}node.h proc.$(OBJEXT): {$(VPATH)}onigmo.h proc.$(OBJEXT): {$(VPATH)}oniguruma.h +proc.$(OBJEXT): {$(VPATH)}prism/ast.h +proc.$(OBJEXT): {$(VPATH)}prism/version.h proc.$(OBJEXT): {$(VPATH)}proc.c proc.$(OBJEXT): {$(VPATH)}ruby_assert.h proc.$(OBJEXT): {$(VPATH)}ruby_atomic.h @@ -14785,6 +15015,27 @@ rjit.$(OBJEXT): $(top_srcdir)/internal/struct.h rjit.$(OBJEXT): $(top_srcdir)/internal/variable.h rjit.$(OBJEXT): $(top_srcdir)/internal/vm.h rjit.$(OBJEXT): $(top_srcdir)/internal/warnings.h +rjit.$(OBJEXT): $(top_srcdir)/prism/defines.h +rjit.$(OBJEXT): $(top_srcdir)/prism/diagnostic.h +rjit.$(OBJEXT): $(top_srcdir)/prism/encoding.h +rjit.$(OBJEXT): $(top_srcdir)/prism/node.h +rjit.$(OBJEXT): $(top_srcdir)/prism/options.h +rjit.$(OBJEXT): $(top_srcdir)/prism/pack.h +rjit.$(OBJEXT): $(top_srcdir)/prism/parser.h +rjit.$(OBJEXT): $(top_srcdir)/prism/prettyprint.h +rjit.$(OBJEXT): $(top_srcdir)/prism/prism.h +rjit.$(OBJEXT): $(top_srcdir)/prism/regexp.h +rjit.$(OBJEXT): $(top_srcdir)/prism/util/pm_buffer.h +rjit.$(OBJEXT): $(top_srcdir)/prism/util/pm_char.h +rjit.$(OBJEXT): $(top_srcdir)/prism/util/pm_constant_pool.h +rjit.$(OBJEXT): $(top_srcdir)/prism/util/pm_list.h +rjit.$(OBJEXT): $(top_srcdir)/prism/util/pm_memchr.h +rjit.$(OBJEXT): $(top_srcdir)/prism/util/pm_newline_list.h +rjit.$(OBJEXT): $(top_srcdir)/prism/util/pm_state_stack.h +rjit.$(OBJEXT): $(top_srcdir)/prism/util/pm_string.h +rjit.$(OBJEXT): $(top_srcdir)/prism/util/pm_string_list.h +rjit.$(OBJEXT): $(top_srcdir)/prism/util/pm_strncasecmp.h +rjit.$(OBJEXT): $(top_srcdir)/prism/util/pm_strpbrk.h rjit.$(OBJEXT): {$(VPATH)}assert.h rjit.$(OBJEXT): {$(VPATH)}atomic.h rjit.$(OBJEXT): {$(VPATH)}backward/2/assume.h @@ -14965,6 +15216,8 @@ rjit.$(OBJEXT): {$(VPATH)}missing.h rjit.$(OBJEXT): {$(VPATH)}node.h rjit.$(OBJEXT): {$(VPATH)}onigmo.h rjit.$(OBJEXT): {$(VPATH)}oniguruma.h +rjit.$(OBJEXT): {$(VPATH)}prism/ast.h +rjit.$(OBJEXT): {$(VPATH)}prism/version.h rjit.$(OBJEXT): {$(VPATH)}ractor.h rjit.$(OBJEXT): {$(VPATH)}ractor_core.h rjit.$(OBJEXT): {$(VPATH)}rjit.c @@ -15013,6 +15266,27 @@ rjit_c.$(OBJEXT): $(top_srcdir)/internal/struct.h rjit_c.$(OBJEXT): $(top_srcdir)/internal/variable.h rjit_c.$(OBJEXT): $(top_srcdir)/internal/vm.h rjit_c.$(OBJEXT): $(top_srcdir)/internal/warnings.h +rjit_c.$(OBJEXT): $(top_srcdir)/prism/defines.h +rjit_c.$(OBJEXT): $(top_srcdir)/prism/diagnostic.h +rjit_c.$(OBJEXT): $(top_srcdir)/prism/encoding.h +rjit_c.$(OBJEXT): $(top_srcdir)/prism/node.h +rjit_c.$(OBJEXT): $(top_srcdir)/prism/options.h +rjit_c.$(OBJEXT): $(top_srcdir)/prism/pack.h +rjit_c.$(OBJEXT): $(top_srcdir)/prism/parser.h +rjit_c.$(OBJEXT): $(top_srcdir)/prism/prettyprint.h +rjit_c.$(OBJEXT): $(top_srcdir)/prism/prism.h +rjit_c.$(OBJEXT): $(top_srcdir)/prism/regexp.h +rjit_c.$(OBJEXT): $(top_srcdir)/prism/util/pm_buffer.h +rjit_c.$(OBJEXT): $(top_srcdir)/prism/util/pm_char.h +rjit_c.$(OBJEXT): $(top_srcdir)/prism/util/pm_constant_pool.h +rjit_c.$(OBJEXT): $(top_srcdir)/prism/util/pm_list.h +rjit_c.$(OBJEXT): $(top_srcdir)/prism/util/pm_memchr.h +rjit_c.$(OBJEXT): $(top_srcdir)/prism/util/pm_newline_list.h +rjit_c.$(OBJEXT): $(top_srcdir)/prism/util/pm_state_stack.h +rjit_c.$(OBJEXT): $(top_srcdir)/prism/util/pm_string.h +rjit_c.$(OBJEXT): $(top_srcdir)/prism/util/pm_string_list.h +rjit_c.$(OBJEXT): $(top_srcdir)/prism/util/pm_strncasecmp.h +rjit_c.$(OBJEXT): $(top_srcdir)/prism/util/pm_strpbrk.h rjit_c.$(OBJEXT): {$(VPATH)}assert.h rjit_c.$(OBJEXT): {$(VPATH)}atomic.h rjit_c.$(OBJEXT): {$(VPATH)}backward/2/assume.h @@ -15192,6 +15466,8 @@ rjit_c.$(OBJEXT): {$(VPATH)}missing.h rjit_c.$(OBJEXT): {$(VPATH)}node.h rjit_c.$(OBJEXT): {$(VPATH)}onigmo.h rjit_c.$(OBJEXT): {$(VPATH)}oniguruma.h +rjit_c.$(OBJEXT): {$(VPATH)}prism/ast.h +rjit_c.$(OBJEXT): {$(VPATH)}prism/version.h rjit_c.$(OBJEXT): {$(VPATH)}probes.dmyh rjit_c.$(OBJEXT): {$(VPATH)}probes.h rjit_c.$(OBJEXT): {$(VPATH)}probes_helper.h @@ -17497,6 +17773,27 @@ thread.$(OBJEXT): $(top_srcdir)/internal/time.h thread.$(OBJEXT): $(top_srcdir)/internal/variable.h thread.$(OBJEXT): $(top_srcdir)/internal/vm.h thread.$(OBJEXT): $(top_srcdir)/internal/warnings.h +thread.$(OBJEXT): $(top_srcdir)/prism/defines.h +thread.$(OBJEXT): $(top_srcdir)/prism/diagnostic.h +thread.$(OBJEXT): $(top_srcdir)/prism/encoding.h +thread.$(OBJEXT): $(top_srcdir)/prism/node.h +thread.$(OBJEXT): $(top_srcdir)/prism/options.h +thread.$(OBJEXT): $(top_srcdir)/prism/pack.h +thread.$(OBJEXT): $(top_srcdir)/prism/parser.h +thread.$(OBJEXT): $(top_srcdir)/prism/prettyprint.h +thread.$(OBJEXT): $(top_srcdir)/prism/prism.h +thread.$(OBJEXT): $(top_srcdir)/prism/regexp.h +thread.$(OBJEXT): $(top_srcdir)/prism/util/pm_buffer.h +thread.$(OBJEXT): $(top_srcdir)/prism/util/pm_char.h +thread.$(OBJEXT): $(top_srcdir)/prism/util/pm_constant_pool.h +thread.$(OBJEXT): $(top_srcdir)/prism/util/pm_list.h +thread.$(OBJEXT): $(top_srcdir)/prism/util/pm_memchr.h +thread.$(OBJEXT): $(top_srcdir)/prism/util/pm_newline_list.h +thread.$(OBJEXT): $(top_srcdir)/prism/util/pm_state_stack.h +thread.$(OBJEXT): $(top_srcdir)/prism/util/pm_string.h +thread.$(OBJEXT): $(top_srcdir)/prism/util/pm_string_list.h +thread.$(OBJEXT): $(top_srcdir)/prism/util/pm_strncasecmp.h +thread.$(OBJEXT): $(top_srcdir)/prism/util/pm_strpbrk.h thread.$(OBJEXT): {$(VPATH)}$(COROUTINE_H) thread.$(OBJEXT): {$(VPATH)}assert.h thread.$(OBJEXT): {$(VPATH)}atomic.h @@ -17678,6 +17975,8 @@ thread.$(OBJEXT): {$(VPATH)}missing.h thread.$(OBJEXT): {$(VPATH)}node.h thread.$(OBJEXT): {$(VPATH)}onigmo.h thread.$(OBJEXT): {$(VPATH)}oniguruma.h +thread.$(OBJEXT): {$(VPATH)}prism/ast.h +thread.$(OBJEXT): {$(VPATH)}prism/version.h thread.$(OBJEXT): {$(VPATH)}ractor.h thread.$(OBJEXT): {$(VPATH)}ractor_core.h thread.$(OBJEXT): {$(VPATH)}rjit.h @@ -18723,6 +19022,27 @@ vm.$(OBJEXT): $(top_srcdir)/internal/thread.h vm.$(OBJEXT): $(top_srcdir)/internal/variable.h vm.$(OBJEXT): $(top_srcdir)/internal/vm.h vm.$(OBJEXT): $(top_srcdir)/internal/warnings.h +vm.$(OBJEXT): $(top_srcdir)/prism/defines.h +vm.$(OBJEXT): $(top_srcdir)/prism/diagnostic.h +vm.$(OBJEXT): $(top_srcdir)/prism/encoding.h +vm.$(OBJEXT): $(top_srcdir)/prism/node.h +vm.$(OBJEXT): $(top_srcdir)/prism/options.h +vm.$(OBJEXT): $(top_srcdir)/prism/pack.h +vm.$(OBJEXT): $(top_srcdir)/prism/parser.h +vm.$(OBJEXT): $(top_srcdir)/prism/prettyprint.h +vm.$(OBJEXT): $(top_srcdir)/prism/prism.h +vm.$(OBJEXT): $(top_srcdir)/prism/regexp.h +vm.$(OBJEXT): $(top_srcdir)/prism/util/pm_buffer.h +vm.$(OBJEXT): $(top_srcdir)/prism/util/pm_char.h +vm.$(OBJEXT): $(top_srcdir)/prism/util/pm_constant_pool.h +vm.$(OBJEXT): $(top_srcdir)/prism/util/pm_list.h +vm.$(OBJEXT): $(top_srcdir)/prism/util/pm_memchr.h +vm.$(OBJEXT): $(top_srcdir)/prism/util/pm_newline_list.h +vm.$(OBJEXT): $(top_srcdir)/prism/util/pm_state_stack.h +vm.$(OBJEXT): $(top_srcdir)/prism/util/pm_string.h +vm.$(OBJEXT): $(top_srcdir)/prism/util/pm_string_list.h +vm.$(OBJEXT): $(top_srcdir)/prism/util/pm_strncasecmp.h +vm.$(OBJEXT): $(top_srcdir)/prism/util/pm_strpbrk.h vm.$(OBJEXT): {$(VPATH)}assert.h vm.$(OBJEXT): {$(VPATH)}atomic.h vm.$(OBJEXT): {$(VPATH)}backward/2/assume.h @@ -18903,6 +19223,8 @@ vm.$(OBJEXT): {$(VPATH)}missing.h vm.$(OBJEXT): {$(VPATH)}node.h vm.$(OBJEXT): {$(VPATH)}onigmo.h vm.$(OBJEXT): {$(VPATH)}oniguruma.h +vm.$(OBJEXT): {$(VPATH)}prism/ast.h +vm.$(OBJEXT): {$(VPATH)}prism/version.h vm.$(OBJEXT): {$(VPATH)}probes.dmyh vm.$(OBJEXT): {$(VPATH)}probes.h vm.$(OBJEXT): {$(VPATH)}probes_helper.h @@ -18954,6 +19276,27 @@ vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/string.h vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/variable.h vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/vm.h vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/warnings.h +vm_backtrace.$(OBJEXT): $(top_srcdir)/prism/defines.h +vm_backtrace.$(OBJEXT): $(top_srcdir)/prism/diagnostic.h +vm_backtrace.$(OBJEXT): $(top_srcdir)/prism/encoding.h +vm_backtrace.$(OBJEXT): $(top_srcdir)/prism/node.h +vm_backtrace.$(OBJEXT): $(top_srcdir)/prism/options.h +vm_backtrace.$(OBJEXT): $(top_srcdir)/prism/pack.h +vm_backtrace.$(OBJEXT): $(top_srcdir)/prism/parser.h +vm_backtrace.$(OBJEXT): $(top_srcdir)/prism/prettyprint.h +vm_backtrace.$(OBJEXT): $(top_srcdir)/prism/prism.h +vm_backtrace.$(OBJEXT): $(top_srcdir)/prism/regexp.h +vm_backtrace.$(OBJEXT): $(top_srcdir)/prism/util/pm_buffer.h +vm_backtrace.$(OBJEXT): $(top_srcdir)/prism/util/pm_char.h +vm_backtrace.$(OBJEXT): $(top_srcdir)/prism/util/pm_constant_pool.h +vm_backtrace.$(OBJEXT): $(top_srcdir)/prism/util/pm_list.h +vm_backtrace.$(OBJEXT): $(top_srcdir)/prism/util/pm_memchr.h +vm_backtrace.$(OBJEXT): $(top_srcdir)/prism/util/pm_newline_list.h +vm_backtrace.$(OBJEXT): $(top_srcdir)/prism/util/pm_state_stack.h +vm_backtrace.$(OBJEXT): $(top_srcdir)/prism/util/pm_string.h +vm_backtrace.$(OBJEXT): $(top_srcdir)/prism/util/pm_string_list.h +vm_backtrace.$(OBJEXT): $(top_srcdir)/prism/util/pm_strncasecmp.h +vm_backtrace.$(OBJEXT): $(top_srcdir)/prism/util/pm_strpbrk.h vm_backtrace.$(OBJEXT): {$(VPATH)}assert.h vm_backtrace.$(OBJEXT): {$(VPATH)}atomic.h vm_backtrace.$(OBJEXT): {$(VPATH)}backward/2/assume.h @@ -19130,6 +19473,8 @@ vm_backtrace.$(OBJEXT): {$(VPATH)}missing.h vm_backtrace.$(OBJEXT): {$(VPATH)}node.h vm_backtrace.$(OBJEXT): {$(VPATH)}onigmo.h vm_backtrace.$(OBJEXT): {$(VPATH)}oniguruma.h +vm_backtrace.$(OBJEXT): {$(VPATH)}prism/ast.h +vm_backtrace.$(OBJEXT): {$(VPATH)}prism/version.h vm_backtrace.$(OBJEXT): {$(VPATH)}ruby_assert.h vm_backtrace.$(OBJEXT): {$(VPATH)}ruby_atomic.h vm_backtrace.$(OBJEXT): {$(VPATH)}rubyparser.h @@ -19158,6 +19503,27 @@ vm_dump.$(OBJEXT): $(top_srcdir)/internal/static_assert.h vm_dump.$(OBJEXT): $(top_srcdir)/internal/variable.h vm_dump.$(OBJEXT): $(top_srcdir)/internal/vm.h vm_dump.$(OBJEXT): $(top_srcdir)/internal/warnings.h +vm_dump.$(OBJEXT): $(top_srcdir)/prism/defines.h +vm_dump.$(OBJEXT): $(top_srcdir)/prism/diagnostic.h +vm_dump.$(OBJEXT): $(top_srcdir)/prism/encoding.h +vm_dump.$(OBJEXT): $(top_srcdir)/prism/node.h +vm_dump.$(OBJEXT): $(top_srcdir)/prism/options.h +vm_dump.$(OBJEXT): $(top_srcdir)/prism/pack.h +vm_dump.$(OBJEXT): $(top_srcdir)/prism/parser.h +vm_dump.$(OBJEXT): $(top_srcdir)/prism/prettyprint.h +vm_dump.$(OBJEXT): $(top_srcdir)/prism/prism.h +vm_dump.$(OBJEXT): $(top_srcdir)/prism/regexp.h +vm_dump.$(OBJEXT): $(top_srcdir)/prism/util/pm_buffer.h +vm_dump.$(OBJEXT): $(top_srcdir)/prism/util/pm_char.h +vm_dump.$(OBJEXT): $(top_srcdir)/prism/util/pm_constant_pool.h +vm_dump.$(OBJEXT): $(top_srcdir)/prism/util/pm_list.h +vm_dump.$(OBJEXT): $(top_srcdir)/prism/util/pm_memchr.h +vm_dump.$(OBJEXT): $(top_srcdir)/prism/util/pm_newline_list.h +vm_dump.$(OBJEXT): $(top_srcdir)/prism/util/pm_state_stack.h +vm_dump.$(OBJEXT): $(top_srcdir)/prism/util/pm_string.h +vm_dump.$(OBJEXT): $(top_srcdir)/prism/util/pm_string_list.h +vm_dump.$(OBJEXT): $(top_srcdir)/prism/util/pm_strncasecmp.h +vm_dump.$(OBJEXT): $(top_srcdir)/prism/util/pm_strpbrk.h vm_dump.$(OBJEXT): {$(VPATH)}addr2line.h vm_dump.$(OBJEXT): {$(VPATH)}assert.h vm_dump.$(OBJEXT): {$(VPATH)}atomic.h @@ -19332,6 +19698,8 @@ vm_dump.$(OBJEXT): {$(VPATH)}missing.h vm_dump.$(OBJEXT): {$(VPATH)}node.h vm_dump.$(OBJEXT): {$(VPATH)}onigmo.h vm_dump.$(OBJEXT): {$(VPATH)}oniguruma.h +vm_dump.$(OBJEXT): {$(VPATH)}prism/ast.h +vm_dump.$(OBJEXT): {$(VPATH)}prism/version.h vm_dump.$(OBJEXT): {$(VPATH)}procstat_vm.c vm_dump.$(OBJEXT): {$(VPATH)}ractor.h vm_dump.$(OBJEXT): {$(VPATH)}ractor_core.h @@ -19570,6 +19938,27 @@ vm_trace.$(OBJEXT): $(top_srcdir)/internal/symbol.h vm_trace.$(OBJEXT): $(top_srcdir)/internal/variable.h vm_trace.$(OBJEXT): $(top_srcdir)/internal/vm.h vm_trace.$(OBJEXT): $(top_srcdir)/internal/warnings.h +vm_trace.$(OBJEXT): $(top_srcdir)/prism/defines.h +vm_trace.$(OBJEXT): $(top_srcdir)/prism/diagnostic.h +vm_trace.$(OBJEXT): $(top_srcdir)/prism/encoding.h +vm_trace.$(OBJEXT): $(top_srcdir)/prism/node.h +vm_trace.$(OBJEXT): $(top_srcdir)/prism/options.h +vm_trace.$(OBJEXT): $(top_srcdir)/prism/pack.h +vm_trace.$(OBJEXT): $(top_srcdir)/prism/parser.h +vm_trace.$(OBJEXT): $(top_srcdir)/prism/prettyprint.h +vm_trace.$(OBJEXT): $(top_srcdir)/prism/prism.h +vm_trace.$(OBJEXT): $(top_srcdir)/prism/regexp.h +vm_trace.$(OBJEXT): $(top_srcdir)/prism/util/pm_buffer.h +vm_trace.$(OBJEXT): $(top_srcdir)/prism/util/pm_char.h +vm_trace.$(OBJEXT): $(top_srcdir)/prism/util/pm_constant_pool.h +vm_trace.$(OBJEXT): $(top_srcdir)/prism/util/pm_list.h +vm_trace.$(OBJEXT): $(top_srcdir)/prism/util/pm_memchr.h +vm_trace.$(OBJEXT): $(top_srcdir)/prism/util/pm_newline_list.h +vm_trace.$(OBJEXT): $(top_srcdir)/prism/util/pm_state_stack.h +vm_trace.$(OBJEXT): $(top_srcdir)/prism/util/pm_string.h +vm_trace.$(OBJEXT): $(top_srcdir)/prism/util/pm_string_list.h +vm_trace.$(OBJEXT): $(top_srcdir)/prism/util/pm_strncasecmp.h +vm_trace.$(OBJEXT): $(top_srcdir)/prism/util/pm_strpbrk.h vm_trace.$(OBJEXT): {$(VPATH)}assert.h vm_trace.$(OBJEXT): {$(VPATH)}atomic.h vm_trace.$(OBJEXT): {$(VPATH)}backward/2/assume.h @@ -19747,6 +20136,8 @@ vm_trace.$(OBJEXT): {$(VPATH)}missing.h vm_trace.$(OBJEXT): {$(VPATH)}node.h vm_trace.$(OBJEXT): {$(VPATH)}onigmo.h vm_trace.$(OBJEXT): {$(VPATH)}oniguruma.h +vm_trace.$(OBJEXT): {$(VPATH)}prism/ast.h +vm_trace.$(OBJEXT): {$(VPATH)}prism/version.h vm_trace.$(OBJEXT): {$(VPATH)}ractor.h vm_trace.$(OBJEXT): {$(VPATH)}rjit.h vm_trace.$(OBJEXT): {$(VPATH)}ruby_assert.h @@ -19986,6 +20377,27 @@ yjit.$(OBJEXT): $(top_srcdir)/internal/string.h yjit.$(OBJEXT): $(top_srcdir)/internal/variable.h yjit.$(OBJEXT): $(top_srcdir)/internal/vm.h yjit.$(OBJEXT): $(top_srcdir)/internal/warnings.h +yjit.$(OBJEXT): $(top_srcdir)/prism/defines.h +yjit.$(OBJEXT): $(top_srcdir)/prism/diagnostic.h +yjit.$(OBJEXT): $(top_srcdir)/prism/encoding.h +yjit.$(OBJEXT): $(top_srcdir)/prism/node.h +yjit.$(OBJEXT): $(top_srcdir)/prism/options.h +yjit.$(OBJEXT): $(top_srcdir)/prism/pack.h +yjit.$(OBJEXT): $(top_srcdir)/prism/parser.h +yjit.$(OBJEXT): $(top_srcdir)/prism/prettyprint.h +yjit.$(OBJEXT): $(top_srcdir)/prism/prism.h +yjit.$(OBJEXT): $(top_srcdir)/prism/regexp.h +yjit.$(OBJEXT): $(top_srcdir)/prism/util/pm_buffer.h +yjit.$(OBJEXT): $(top_srcdir)/prism/util/pm_char.h +yjit.$(OBJEXT): $(top_srcdir)/prism/util/pm_constant_pool.h +yjit.$(OBJEXT): $(top_srcdir)/prism/util/pm_list.h +yjit.$(OBJEXT): $(top_srcdir)/prism/util/pm_memchr.h +yjit.$(OBJEXT): $(top_srcdir)/prism/util/pm_newline_list.h +yjit.$(OBJEXT): $(top_srcdir)/prism/util/pm_state_stack.h +yjit.$(OBJEXT): $(top_srcdir)/prism/util/pm_string.h +yjit.$(OBJEXT): $(top_srcdir)/prism/util/pm_string_list.h +yjit.$(OBJEXT): $(top_srcdir)/prism/util/pm_strncasecmp.h +yjit.$(OBJEXT): $(top_srcdir)/prism/util/pm_strpbrk.h yjit.$(OBJEXT): {$(VPATH)}assert.h yjit.$(OBJEXT): {$(VPATH)}atomic.h yjit.$(OBJEXT): {$(VPATH)}backward/2/assume.h @@ -20166,6 +20578,8 @@ yjit.$(OBJEXT): {$(VPATH)}missing.h yjit.$(OBJEXT): {$(VPATH)}node.h yjit.$(OBJEXT): {$(VPATH)}onigmo.h yjit.$(OBJEXT): {$(VPATH)}oniguruma.h +yjit.$(OBJEXT): {$(VPATH)}prism/ast.h +yjit.$(OBJEXT): {$(VPATH)}prism/version.h yjit.$(OBJEXT): {$(VPATH)}probes.dmyh yjit.$(OBJEXT): {$(VPATH)}probes.h yjit.$(OBJEXT): {$(VPATH)}probes_helper.h diff --git a/iseq.c b/iseq.c index 47d19a98f314f6..38c6f7150ed772 100644 --- a/iseq.c +++ b/iseq.c @@ -1487,6 +1487,22 @@ iseqw_s_compile_file_prism(int argc, VALUE *argv, VALUE self) return iseqw_new(iseq); } +rb_iseq_t * +rb_iseq_new_main_prism(pm_string_t *input, pm_options_t *options, VALUE path) { + pm_parser_t parser; + pm_parser_init(&parser, pm_string_source(input), pm_string_length(input), options); + + if (NIL_P(path)) path = rb_fstring_lit(""); + int start_line = 0; + pm_options_line_set(options, start_line); + + rb_iseq_t *iseq = iseq_alloc(); + iseqw_s_compile_prism_compile(&parser, Qnil, iseq, path, path, start_line); + + pm_parser_free(&parser); + return iseq; +} + /* * call-seq: * InstructionSequence.compile_file(file[, options]) -> iseq diff --git a/iseq.h b/iseq.h index 5d17bb5d5b984d..2e3467aa79a555 100644 --- a/iseq.h +++ b/iseq.h @@ -13,6 +13,7 @@ #include "internal/gc.h" #include "shape.h" #include "vm_core.h" +#include "prism/prism.h" RUBY_EXTERN const int ruby_api_version[]; #define ISEQ_MAJOR_VERSION ((unsigned int)ruby_api_version[0]) @@ -173,6 +174,7 @@ void rb_iseq_init_trace(rb_iseq_t *iseq); int rb_iseq_add_local_tracepoint_recursively(const rb_iseq_t *iseq, rb_event_flag_t turnon_events, VALUE tpval, unsigned int target_line, bool target_bmethod); int rb_iseq_remove_local_tracepoint_recursively(const rb_iseq_t *iseq, VALUE tpval); const rb_iseq_t *rb_iseq_load_iseq(VALUE fname); +rb_iseq_t * rb_iseq_new_main_prism(pm_string_t *input, pm_options_t *options, VALUE path); #if VM_INSN_INFO_TABLE_IMPL == 2 unsigned int *rb_iseq_insns_info_decode_positions(const struct rb_iseq_constant_body *body); diff --git a/load.c b/load.c index 780edf27a74844..75064dcc1addcd 100644 --- a/load.c +++ b/load.c @@ -16,6 +16,7 @@ #include "probes.h" #include "darray.h" #include "ruby/encoding.h" +#include "prism/prism.h" #include "ruby/util.h" static VALUE ruby_dln_librefs; @@ -717,23 +718,38 @@ static inline void load_iseq_eval(rb_execution_context_t *ec, VALUE fname) { const rb_iseq_t *iseq = rb_iseq_load_iseq(fname); - if (!iseq) { - rb_execution_context_t *ec = GET_EC(); - VALUE v = rb_vm_push_frame_fname(ec, fname); - rb_ast_t *ast; - VALUE parser = rb_parser_new(); - rb_parser_set_context(parser, NULL, FALSE); - ast = (rb_ast_t *)rb_parser_load_file(parser, fname); - - rb_thread_t *th = rb_ec_thread_ptr(ec); - VALUE realpath_map = get_loaded_features_realpath_map(th->vm); - - iseq = rb_iseq_new_top(&ast->body, rb_fstring_lit(""), - fname, realpath_internal_cached(realpath_map, fname), NULL); - rb_ast_dispose(ast); - rb_vm_pop_frame(ec); - RB_GC_GUARD(v); + if (*rb_ruby_prism_ptr()) { + pm_string_t input; + pm_options_t options = { 0 }; + + pm_string_mapped_init(&input, RSTRING_PTR(fname)); + pm_options_filepath_set(&options, RSTRING_PTR(fname)); + + pm_parser_t parser; + pm_parser_init(&parser, pm_string_source(&input), pm_string_length(&input), &options); + + iseq = rb_iseq_new_main_prism(&input, &options, fname); + + pm_string_free(&input); + pm_options_free(&options); + } else { + rb_execution_context_t *ec = GET_EC(); + VALUE v = rb_vm_push_frame_fname(ec, fname); + rb_ast_t *ast; + VALUE parser = rb_parser_new(); + rb_parser_set_context(parser, NULL, FALSE); + ast = (rb_ast_t *)rb_parser_load_file(parser, fname); + + rb_thread_t *th = rb_ec_thread_ptr(ec); + VALUE realpath_map = get_loaded_features_realpath_map(th->vm); + + iseq = rb_iseq_new_top(&ast->body, rb_fstring_lit(""), + fname, realpath_internal_cached(realpath_map, fname), NULL); + rb_ast_dispose(ast); + rb_vm_pop_frame(ec); + RB_GC_GUARD(v); + } } rb_exec_event_hook_script_compiled(ec, iseq, Qnil); rb_iseq_eval(iseq); diff --git a/prism/prism.h b/prism/prism.h index 590cd740168b9d..d55c4f2bfd2904 100644 --- a/prism/prism.h +++ b/prism/prism.h @@ -42,6 +42,17 @@ */ PRISM_EXPORTED_FUNCTION const char * pm_version(void); + +/** + * @private + * + * This is used to decide of the prism parser should be used. + * + * @retval true Use Prism to parse files + * @retval false Use standard parser + */ +bool *rb_ruby_prism_ptr(void); + /** * Initialize a parser with the given start and end pointers. * diff --git a/ractor_core.h b/ractor_core.h index 36c0e91c7aeef5..e6bf55da00805c 100644 --- a/ractor_core.h +++ b/ractor_core.h @@ -186,6 +186,7 @@ struct rb_ractor_struct { VALUE r_stderr; VALUE verbose; VALUE debug; + bool prism; rb_ractor_newobj_cache_t newobj_cache; diff --git a/ruby.c b/ruby.c index 73056d9f139487..fa3bc7ad0842e1 100644 --- a/ruby.c +++ b/ruby.c @@ -362,6 +362,7 @@ usage(const char *name, int help, int highlight, int columns) "enable or disable features. see below for available features"), M("--external-encoding=encoding", ", --internal-encoding=encoding", "specify the default external or internal character encoding"), + M("--prism", "", "parse and compile using prism"), M("--backtrace-limit=num", "", "limit the maximum length of backtrace"), M("--verbose", "", "turn on verbose mode and disable script from stdin"), M("--version", "", "print the version number, then exit"), @@ -1420,6 +1421,9 @@ proc_long_options(ruby_cmdline_options_t *opt, const char *s, long argc, char ** opt->verbose = 1; ruby_verbose = Qtrue; } + else if (strcmp("prism", s) == 0) { + (*rb_ruby_prism_ptr()) = true; + } else if (strcmp("jit", s) == 0) { #if !USE_RJIT rb_warn("Ruby was built without JIT support"); @@ -1753,6 +1757,9 @@ ruby_opt_init(ruby_cmdline_options_t *opt) rb_warn_deprecated("The environment variable RUBY_GC_HEAP_INIT_SLOTS", "environment variables RUBY_GC_HEAP_%d_INIT_SLOTS"); } + if (getenv("RUBY_PRISM")) { + (*rb_ruby_prism_ptr()) = true; + } #if USE_RJIT // rb_call_builtin_inits depends on RubyVM::RJIT.enabled? @@ -1971,7 +1978,7 @@ process_options(int argc, char **argv, ruby_cmdline_options_t *opt) rb_ast_t *ast = 0; VALUE parser; VALUE script_name; - const rb_iseq_t *iseq; + rb_iseq_t *iseq; rb_encoding *enc, *lenc; #if UTF8_PATH rb_encoding *ienc = 0; @@ -2239,39 +2246,41 @@ process_options(int argc, char **argv, ruby_cmdline_options_t *opt) ruby_set_argv(argc, argv); opt->sflag = process_sflag(opt->sflag); - if (opt->e_script) { - VALUE progname = rb_progname; - rb_encoding *eenc; - rb_parser_set_context(parser, 0, TRUE); + if (!(*rb_ruby_prism_ptr())) { + if (opt->e_script) { + VALUE progname = rb_progname; + rb_encoding *eenc; + rb_parser_set_context(parser, 0, TRUE); - if (opt->src.enc.index >= 0) { - eenc = rb_enc_from_index(opt->src.enc.index); - } - else { - eenc = lenc; + if (opt->src.enc.index >= 0) { + eenc = rb_enc_from_index(opt->src.enc.index); + } + else { + eenc = lenc; #if UTF8_PATH - if (ienc) eenc = ienc; + if (ienc) eenc = ienc; #endif - } + } #if UTF8_PATH - if (eenc != uenc) { - opt->e_script = str_conv_enc(opt->e_script, uenc, eenc); - } + if (eenc != uenc) { + opt->e_script = str_conv_enc(opt->e_script, uenc, eenc); + } #endif - rb_enc_associate(opt->e_script, eenc); - ruby_opt_init(opt); - ruby_set_script_name(progname); - rb_parser_set_options(parser, opt->do_print, opt->do_loop, - opt->do_line, opt->do_split); - ast = rb_parser_compile_string(parser, opt->script, opt->e_script, 1); - } - else { - VALUE f; - int xflag = opt->xflag; - f = open_load_file(script_name, &xflag); - opt->xflag = xflag != 0; - rb_parser_set_context(parser, 0, f == rb_stdin); - ast = load_file(parser, opt->script_name, f, 1, opt); + rb_enc_associate(opt->e_script, eenc); + ruby_opt_init(opt); + ruby_set_script_name(progname); + rb_parser_set_options(parser, opt->do_print, opt->do_loop, + opt->do_line, opt->do_split); + ast = rb_parser_compile_string(parser, opt->script, opt->e_script, 1); + } + else { + VALUE f; + int xflag = opt->xflag; + f = open_load_file(script_name, &xflag); + opt->xflag = xflag != 0; + rb_parser_set_context(parser, 0, f == rb_stdin); + ast = load_file(parser, opt->script_name, f, 1, opt); + } } ruby_set_script_name(opt->script_name); if (dump & DUMP_BIT(yydebug)) { @@ -2296,7 +2305,7 @@ process_options(int argc, char **argv, ruby_cmdline_options_t *opt) rb_enc_set_default_internal(Qnil); rb_stdio_set_default_encoding(); - if (!ast->body.root) { + if (!(*rb_ruby_prism_ptr()) && !ast->body.root) { rb_ast_dispose(ast); return Qfalse; } @@ -2371,12 +2380,30 @@ process_options(int argc, char **argv, ruby_cmdline_options_t *opt) } } - rb_binding_t *toplevel_binding; - GetBindingPtr(rb_const_get(rb_cObject, rb_intern("TOPLEVEL_BINDING")), - toplevel_binding); - const struct rb_block *base_block = toplevel_context(toplevel_binding); - iseq = rb_iseq_new_main(&ast->body, opt->script_name, path, vm_block_iseq(base_block), !(dump & DUMP_BIT(insns_without_opt))); - rb_ast_dispose(ast); + if ((*rb_ruby_prism_ptr())) { + pm_string_t input; + pm_options_t options = { 0 }; + + if (opt->e_script) { + pm_string_constant_init(&input, RSTRING_PTR(opt->e_script), RSTRING_LEN(opt->e_script)); + pm_options_filepath_set(&options, "-e"); + } else { + pm_string_mapped_init(&input, RSTRING_PTR(opt->script_name)); + pm_options_filepath_set(&options, RSTRING_PTR(opt->script_name)); + } + + iseq = rb_iseq_new_main_prism(&input, &options, path); + + pm_string_free(&input); + pm_options_free(&options); + } else { + rb_binding_t *toplevel_binding; + GetBindingPtr(rb_const_get(rb_cObject, rb_intern("TOPLEVEL_BINDING")), + toplevel_binding); + const struct rb_block *base_block = toplevel_context(toplevel_binding); + iseq = rb_iseq_new_main(&ast->body, opt->script_name, path, vm_block_iseq(base_block), !(dump & DUMP_BIT(insns_without_opt))); + rb_ast_dispose(ast); + } } if (dump & (DUMP_BIT(insns) | DUMP_BIT(insns_without_opt))) { @@ -2932,6 +2959,7 @@ ruby_process_options(int argc, char **argv) ruby_cmdline_options_t opt; VALUE iseq; const char *script_name = (argc > 0 && argv[0]) ? argv[0] : ruby_engine; + (*rb_ruby_prism_ptr()) = false; if (!origarg.argv || origarg.argc <= 0) { origarg.argc = argc; diff --git a/vm.c b/vm.c index 4cc19f7c2394b1..1c91ada813bb71 100644 --- a/vm.c +++ b/vm.c @@ -4192,6 +4192,13 @@ rb_ruby_verbose_ptr(void) return &cr->verbose; } +bool * +rb_ruby_prism_ptr(void) +{ + rb_ractor_t *cr = GET_RACTOR(); + return &cr->prism; +} + VALUE * rb_ruby_debug_ptr(void) {