Files
rlox/rlox/executor.rb
2018-07-25 15:32:37 +02:00

25 lines
398 B
Ruby

require './rlox/environment'
require './rlox/parse'
require './rlox/scan'
class Executor
def initialize()
@env = Environment.global
@scanner = Scanner.new
@parser = Parser.new
end
def run(source)
tokens = @scanner.scan_on(source)
ast = @parser.parse_on(tokens)
ast.each { | stmt |
stmt.eval(@env)
}
end
def inc_line()
@scanner.inc_line
end
end