(2024.9) 進捗が芳しくなく、改めて Lisp インタプリタを制作。netsphere-labs/my-lisp: A small Lisp interpreter
前橋和弥氏の「プログラミング言語を作る」に触発されて作った, 小さなプログラミング言語のインタプリタです。
プログラミング言語って, 一度は作ってみたいと思いませんか? そう思い, 作ってみました。
途中まではただのオレオレ言語でしたが, 気が変わって, ある程度「実用的」なものを目指してみました。とはいえ, 抽象構文木 (AST) をつくって tree-walking interpreter (構築した AST を順に辿って実行する) で実行するだけの naive な実装です。
ユーザ向けの主な特徴は, 次のとおりです。
どこまでやれば「実用的」かは自明ではないので, とりあえず, 使い慣れているRuby 互換を目指しました。
minilang v0.7は, CRuby 3.1 のとても非常に小さなサブセットです。ただし, rubyの代替品ではありませんし, 将来もなることはないでしょう。
文字列は Unicodeベースで作りました。識別子もUnicode文字で付けられます。
詳しくは, minilangの特徴 ページを見てください。