Module: MiniRuby

Extended by:
T::Sig
Defined in:
lib/miniruby.rb,
lib/miniruby/io.rb,
lib/miniruby/vm.rb,
lib/miniruby/ast.rb,
lib/miniruby/span.rb,
lib/miniruby/lexer.rb,
lib/miniruby/token.rb,
lib/miniruby/opcode.rb,
lib/miniruby/parser.rb,
lib/miniruby/version.rb,
lib/miniruby/compiler.rb,
lib/miniruby/position.rb,
lib/miniruby/call_info.rb,
lib/miniruby/parser/result.rb,
lib/miniruby/native_function.rb,
lib/miniruby/bytecode_function.rb

Overview

typed: strong frozen_string_literal: true

Defined Under Namespace

Modules: AST, IO, Opcode Classes: BytecodeFunction, CallInfo, Compiler, Error, Lexer, NativeFunction, Parser, Position, Span, Token, VM

Constant Summary collapse

VERSION =
'0.2.0'

Class Method Summary collapse

Class Method Details

.compile(source) ⇒ Object



43
44
45
# File 'lib/miniruby.rb', line 43

def compile(source)
  Compiler.compile_source(source)
end

.interpret(source, stdout: $stdout, stdin: $stdin) ⇒ Object



56
57
58
# File 'lib/miniruby.rb', line 56

def interpret(source, stdout: $stdout, stdin: $stdin)
  VM.interpret(source, stdout:, stdin:)
end

.lex(source) ⇒ Object



21
22
23
# File 'lib/miniruby.rb', line 21

def lex(source)
  Lexer.lex(source)
end

.parse(source) ⇒ Object



32
33
34
# File 'lib/miniruby.rb', line 32

def parse(source)
  Parser.parse(source)
end