Browse Source

Get REPL working

master
Dylan Baker 5 years ago
parent
commit
8daaeacad7
3 changed files with 25 additions and 6 deletions
  1. 12
    0
      bin/chervil
  2. 3
    0
      lib/chervil.rb
  3. 10
    6
      lib/chervil/ast.rb

+ 12
- 0
bin/chervil View File

@@ -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 View File

@@ -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 View File

@@ -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

Loading…
Cancel
Save