mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
d45ec366c5
Remove conditional logic and consolidate NODE_FOR implementation to use variable-sized nodes exclusively. This eliminates dual code paths and completes the NODE_FOR migration. Changes: - inline new_for_var into new_for, remove p->var_nodes_enabled condition - remove new_for_var function and forward declaration - enhance gen_for_var with complete for-loop implementation from for_body - remove codegen_for and for_body functions - remove NODE_FOR case from main codegen switch (traditional cons-list path) The for-loop implementation preserves Ruby's each-based semantics with proper block scoping, argument handling, and loop control (break/next/redo) while providing better memory efficiency through variable-sized nodes. Co-authored-by: Claude <noreply@anthropic.com>
mruby-compiler
This mrbgem provides the mruby compiler, which is responsible for parsing Ruby code and generating mruby bytecode.
Functionality
The mruby-compiler gem includes the following components:
- Parser: Translates Ruby source code into an abstract syntax tree (AST).
- Code Generator: Traverses the AST to produce executable mruby bytecode.
mrbcexecutable: A command-line tool for compiling.rbfiles into.mrbbytecode files.
Usage
The mrbc (mruby-bin-mrbc) executable will generate compiled binary from Ruby
programs via this gem.
Example of using mrbc:
# Compile a Ruby script to bytecode
bin/mrbc my_script.rb
# Run the compiled script
bin/mruby my_script.mrb