Class: JSE::Engine

Inherits:
Object
  • Object
show all
Defined in:
lib/jse/engine.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(env) ⇒ Engine

Returns a new instance of Engine.



3
4
5
6
# File 'lib/jse/engine.rb', line 3

def initialize(env)
  @env = env
  @parser = Parser.new(env)
end

Instance Attribute Details

#envObject (readonly)

Returns the value of attribute env.



8
9
10
# File 'lib/jse/engine.rb', line 8

def env
  @env
end

Class Method Details

.with_envObject



15
16
17
# File 'lib/jse/engine.rb', line 15

def self.with_env
  new(Env.new)
end

Instance Method Details

#execute(expr) ⇒ Object



10
11
12
13
# File 'lib/jse/engine.rb', line 10

def execute(expr)
  ast = @parser.parse(expr)
  @env.eval(ast)
end