mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
392f4fabc0
Introduces variable-sized AST nodes for method calls (NODE_CALL), arrays (NODE_ARRAY), and hashes (NODE_HASH). This change improves memory efficiency by storing elements directly within the AST node, avoiding an extra layer of pointer indirection for their data. This is achieved by adding new data structures and functions in both the parser and the code generator to handle these new node types. Variable-sized nodes are now enabled by default. 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