2011-07-25 11 views
12

LOGOプログラミング言語のBNFまたはEBNFはどこから入手できますか?ロゴプログラミング言語のEBNFまたはBNF

+4

わからないとして、人気の実装のソースを見て、おそらくです。 "プログラミング言語"はタイトルにもあります... –

+0

これはRedditへの道を開いたようですが、私は今これを保護しています(数日で保護されません)。それは問題ではありません、ちょっとした予防策です。 –

+3

@Tim Postこれはredditプログラミングのサブディレクトリにしましたが、これがどのようにアラームの原因であるのか見当たりません。新しいユーザーを引き付けるよい機会であったかもしれませんか? – ArtB

答えて

12

A BNF文法は、特定の状況ではあまり有用ではないかもしれない...歴史/既存の実装との互換性、正確のロゴを書く

は(私は、このようなプロジェクトに取り組んで)簡単な作業ではありません。問題はパーサが完全な仕事をしておらず、評価者(インタプリタ)が部分的なデータを処理しなければならないことです。の数に応じて(C)、B、PROC2()

PROC1 ABのPROC2のC

それはPROC1(A、B、PROC2(c)参照)又はPROC1を意味するかもしれません。この例を考えますproc1のパラメータ& proc2。

さらに私が知っているLOGOのインタプリタ、例えばBerkely LOGOは、従来のパーサーを書いておらず、各手続きとそのアリティにアクセスできるように見えます。代わりにプロシージャを実行し、プロシージャは必要なパラメータの数を「使い切って」しまいます。これにより、パーサーは少し素朴なものになり、主な役割は通訳者の役割です。したがって、構文解析は珍しいことです。

+0

あなたは、あいまいではない言語の文法はありえないと言っていますか? –

+0

はい、私はそのような文法は存在しません(あいまいさにかかわらず)。それは、コマンド文字列をほとんどそのまま解析し、中置演算子などを解決するのでなければだめだと思います。 –

+0

正直なパーザは文法しかし、組み込み関数の* arity *は理解できません。解析中は、後続のトークンを解析する方法を決定する前に、関数の* arity *を調べる必要があるようです。また、あなたが言ったように、「あなたが行ったときに解析する」ことがより意味をなさない。 –

2

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

あなたの最高のコールは、このようなオフトピックとしてこれを閉じるために投票しUCBLogo

関連する問題