12

LOGOプログラミング言語の BNF または EBNF をどこで入手できるか知っている人はいますか?

4

2 に答える 2

13

BNF 文法は、特定の状況ではあまり役に立たないかもしれません...

既存の/歴史的な実装と正確に互換性のあるロゴを書くことは簡単な作業ではありません (私はそのようなプロジェクトに取り組みました)。問題は、パーサーが完全な仕事をするわけではなく、評価者 (インタープリター) が部分的なデータを処理しなければならないことです。次の例を検討してください。

proc1 ab proc2 c

proc1 と proc2 のパラメーターの数に応じて、proc1(a, b, proc2(c)) または proc1(a, b, proc2(), c) を意味する場合があります。

さらに、私が知っている LOGO インタープリター、たとえば Berkely LOGO は、ざっと見たところ、各プロシージャーとそのアリティにさらにアクセスできる従来のパーサーを作成していないように見えます。代わりに、プロシージャを実行し、プロシージャが必要な数のパラメータを「食い尽くし」ます。これにより、パーサーは少し素朴になり、主な役割はインタープリターの役割になるため、構文解析はちょっと変わっています。

于 2011-07-25T21:02:25.633 に答える
3

標準の LOGO 実装はありません。

UCBLogoなどの一般的な実装のソースを確認することをお勧めします。

于 2011-07-25T21:20:29.367 に答える