12345678910111213141516 |
- module Chervil
- RSpec.describe Interpreter do
- def interpret(source, env)
- lexer = Lexer.new(source)
- tree = Parser.new(lexer).parse
- Interpreter.new(tree, env).interpret
- end
-
- it 'interprets a definition and variable usage' do
- env = Env.new
- interpret('(define x 5)', env)
- expect(env.get("x")).to eq(AST::Number.new(5.0))
- expect(interpret('x', env).first).to eq(5.0)
- end
- end
- end
|