文件名称:MiniRuby:在 Haskell 中实现的类 ruby 语言的微型版本
文件大小:25KB
文件格式:ZIP
更新时间:2024-06-21 00:20:30
Haskell
迷你Ruby 通过 Jens Dahl Møllerhøj, 用haskell 编写的解析器和解释器,没有外部库(除了小的simpleParse库) MiniRuby 是一种有点像ruby 的自制语言。 动机 当您尝试从头开始构建它时,您会学到很多关于您选择的语言的知识。 我发现从头开始实现编程语言时,haskell 是最适合这项工作的工具。 例子 MiniRuby 中的示例程序 class Main def initialize() jens = new Person(); y = 3 @some_value = 4 + 2 - 20 / (7 + y) + 1 * 2 jens.send("say","1") jens.send("run","fast") switch("password") self.switch("
【文件预览】:
MiniRuby-master
----MiniRubyInterpreter.hs(18KB)
----MiniRubyParserInternal.hs(8KB)
----MiniRubyParserSpec.hs(2KB)
----MiniRubyInterpreterSpec.hs(12KB)
----MiniRuby.hs(540B)
----MiniRubyAST.hs(3KB)
----examples()
--------double_dots.rb(88B)
--------emptyExpr.rb(46B)
--------integers.rb(70B)
--------strings.rb(90B)
--------whitespace.rb(144B)
--------strings.ast(245B)
--------negative_integer.rb(55B)
--------capital_keyword.rb(92B)
--------at_whitespace.rb(62B)
--------return.ast(780B)
--------names.rb(85B)
--------observable.rb(969B)
--------return.rb(215B)
--------symbols.rb(74B)
--------names.ast(241B)
--------names_with_spaces.rb(57B)
--------proxy.rb(553B)
--------chaining_calls.ast(327B)
--------symbols.ast(215B)
--------unfinished_string.rb(93B)
--------fact.ast(1KB)
--------emptyExpr.ast(166B)
--------fact.rb(226B)
--------precedence.ast(298B)
--------integers.ast(202B)
--------observable.ast(3KB)
--------whitespace.ast(283B)
--------sending.rb(1KB)
--------proxy.ast(2KB)
--------precedence.rb(93B)
--------chaining_calls.rb(93B)
----MiniRubyParser.hs(610B)
----.gitignore(13B)
----README.md(4KB)
----SimpleParse.hs(4KB)