Chervil is a toy Lisp interpreter written in Ruby
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

chervil 542B

12345678910111213141516171819202122232425262728
  1. #!/usr/bin/env ruby
  2. require "chervil"
  3. require "readline"
  4. def repl(env)
  5. begin
  6. while line = Readline.readline("> ", true)
  7. break if line == "(exit)"
  8. lexer = Chervil::Lexer.new(line)
  9. tree = Chervil::Parser.new(lexer).parse
  10. if tree.is_a? Chervil::Error
  11. puts tree
  12. next
  13. end
  14. results = Chervil::Interpreter.new(tree, env).interpret
  15. results.each { |result| puts result unless result.nil? }
  16. end
  17. rescue Interrupt
  18. puts
  19. repl(env)
  20. end
  21. end
  22. env = Chervil::Env.new
  23. repl(env)