Module: Kapusta
- Defined in:
- lib/kapusta.rb,
lib/kapusta/ast.rb,
lib/kapusta/cli.rb,
lib/kapusta/env.rb,
lib/kapusta/error.rb,
lib/kapusta/reader.rb,
lib/kapusta/support.rb,
lib/kapusta/version.rb,
lib/kapusta/compiler.rb,
lib/kapusta/formatter.rb,
lib/kapusta/compiler/emitter.rb,
lib/kapusta/compiler/runtime.rb,
lib/kapusta/compiler/normalizer.rb,
lib/kapusta/compiler/emitter/interop.rb,
lib/kapusta/compiler/emitter/support.rb,
lib/kapusta/compiler/emitter/bindings.rb,
lib/kapusta/compiler/emitter/patterns.rb,
lib/kapusta/compiler/emitter/collections.rb,
lib/kapusta/compiler/emitter/expressions.rb,
lib/kapusta/compiler/emitter/control_flow.rb
Defined Under Namespace
Modules: Compiler
Classes: CLI, Comment, Env, Error, Formatter, HashLit, List, Reader, Sym, Vec
Constant Summary
collapse
- VERSION =
'0.1.4'
Class Method Summary
collapse
Class Method Details
.compile(source, path: '(eval)', **_opts) ⇒ Object
21
22
23
|
# File 'lib/kapusta.rb', line 21
def self.compile(source, path: '(eval)', **_opts)
Compiler.compile(source, path:)
end
|
.dofile(path, **_opts) ⇒ Object
16
17
18
19
|
# File 'lib/kapusta.rb', line 16
def self.dofile(path, **_opts)
source = File.read(path)
self.eval(source, path:)
end
|
.eval(source, path: '(eval)', **_opts) ⇒ Object
12
13
14
|
# File 'lib/kapusta.rb', line 12
def self.eval(source, path: '(eval)', **_opts)
Compiler.run(source, path:)
end
|
.install! ⇒ Object
25
26
27
28
29
30
|
# File 'lib/kapusta.rb', line 25
def self.install!
@install ||= begin
require 'rubygems'
true
end
end
|
.kebab_to_snake(name) ⇒ Object
4
5
6
|
# File 'lib/kapusta/support.rb', line 4
def self.kebab_to_snake(name)
name.tr('-', '_')
end
|