文件名称:brainfuck:Clojure Brainfuck口译员
文件大小:4KB
文件格式:ZIP
更新时间:2024-06-07 13:46:11
Clojure
脑干 令人难以置信的解释器库。 首先将Brainfuck代码解析为简单的AST。 AST执行会不断扩充包含寄存器单元和指向当前位置的指针的虚拟机。 Brainfuck的输入和输出尊重clojure的*in*和*out* ,例如: ( with-out-str ( with-in-str " foobar " ( run " -,+[-.,+] " ))) ; ; #=> "foobar" AST是向量的简单列表,包含一个或两个成员。 第一个成员是代表操作的字符,第二个成员仅对\[操作存在,并包含分支的代码。 AST解释器使用两个键来增强实现为clojure持久性哈希映射的虚拟机: reg :任意宽度(根据需要增长)寄存器单元 pos :当前像元偏移 因此,初始虚拟机定义为: { :reg [ 0 ] :pos 0 } 该库导出三个函数: parse :给定输