うはwwwPrologでGrass実装したwwww

つい最近Grassという言語を知りました。
登場したのは結構前みたいですね。
見事に時代に乗り遅れました。
しっかりとした操作的意味論が載っていたため、
R6RSの時と同様にPrologで作ってしまいました。
ソース: grass-sem-utf-8.swi
全角文字の入力は受け付けますが、
表示には対応していません。
実行結果

Yes
?- evaluate("うほwWWwwww",R).
w
R = [119, []] ;
No
?- evaluate("wwWWwv
wwwwWWWwwWwwWWWWWWwwwwWwwv
wWWwwwWwwwwWwwwwwwWwwwwwwwww", R).
ww
R = [119, []] ;
No

2 Responses to “うはwwwPrologでGrass実装したwwww”

  1. uenoB より:

    Grassの作者です.
    おおお!すばらしい!
    GrassのWebページからリンクを張らせて頂きたいと思います.
    評価器はともかく,構文解析器もPrologだとこんなにすっきり書けるんですね.なるほど…

  2. zick より:

    わーい。
    作者の方に褒めてもらえるとは思っていませんでした。
    構文解析の部分はなるべく仕様に近い形で書いたため、
    完結な形になっているんですが、
    その代わり非常に効率が悪いです。
    けど、効率を考えるとあんましPrologっぽくないし
    なんとも悩ましいところです。

Leave a Reply