浏览代码

Get REPL working

master
Dylan Baker 5 年前
父节点
当前提交
8daaeacad7
共有 3 个文件被更改,包括 25 次插入6 次删除
  1. 12
    0
      bin/chervil
  2. 3
    0
      lib/chervil.rb
  3. 10
    6
      lib/chervil/ast.rb

+ 12
- 0
bin/chervil 查看文件

@@ -0,0 +1,12 @@
1
+#!/usr/bin/env ruby
2
+
3
+require "chervil"
4
+require "readline"
5
+
6
+
7
+env = Chervil::Env.new
8
+while line = Readline.readline("> ", true)
9
+  lexer = Chervil::Lexer.new(line)
10
+  tree = Chervil::Parser.new(lexer).parse
11
+  puts Chervil::Interpreter.new(tree, env).interpret
12
+end

+ 3
- 0
lib/chervil.rb 查看文件

@@ -6,3 +6,6 @@ require 'chervil/lexer'
6 6
 require 'chervil/parser'
7 7
 require 'chervil/token'
8 8
 require 'chervil/version'
9
+
10
+module Chervil
11
+end

+ 10
- 6
lib/chervil/ast.rb 查看文件

@@ -1,7 +1,11 @@
1
-module Chervil::AST
2
-  require "chervil/ast/application"
3
-  require "chervil/ast/definition"
4
-  require "chervil/ast/identifier"
5
-  require "chervil/ast/number"
6
-  require "chervil/ast/string"
1
+require "chervil"
2
+
3
+module Chervil
4
+  module AST
5
+    require "chervil/ast/application"
6
+    require "chervil/ast/definition"
7
+    require "chervil/ast/identifier"
8
+    require "chervil/ast/number"
9
+    require "chervil/ast/string"
10
+  end
7 11
 end

正在加载...
取消
保存