1

MKS Yacc は、彼らの Web サイトで「選択設定構文」と呼ばれる表記法をサポートしています。図示されていませんが、角括弧で囲まれたトークンと、オプションでキャレットで構成され、特定のトークンが残りの規則に従う必要があるか、または従わない必要があることを示します。

non_terminal:  TOKEN1 non_terminal2 TOKEN2 [TOKEN3]

non_terminal:  TOKEN1 non_terminal2 TOKEN2 [^TOKEN3]

(角かっこで囲まれた項目が非終端記号になるかどうかはわかりません。表記法を使用して見たコードでは、常にトークンまたはスペースで区切られたトークンを使用し、非終端記号は使用しません。)

UnixまたはLinuxマシンで実行され、できればソース形式で利用できる、同じサポート(表記が異なる場合があります-機能はできない)を提供する代替のYacc互換システム(できればオープンソース)を知っている人はいますか?

(MKS Yacc はまた、エラーの処理とエラー動作の調整においてある程度の柔軟性を提供します。それを使用できる 1 つの方法は、キーワードとして扱われると意味をなさない位置でキーワードが検出されたときに、キーワードを識別子として扱うことです。それをバークレー Yacc に後付けすることはできbyaccますが、「選択設定」を処理する方法を考えるのに十分な時間を費やしていません。)


参照: MKS Yacc が提供する「選択設定」メカニズムを使用した人はいますか?

4

1 に答える 1

1

完全を期すために、これを他のバージョンへの回答にリンクしたので、 Yaccに似ており、セレクター構文をサポートするYAYと呼ばれるThinkageの製品があるようです。彼らはKitchnerにいて、明らかにMKSと密接に関連していますが、Webサイトからは、MKSのドキュメントにも責任があるようです。したがって、他のすべてが失敗した場合は、これらの選択設定が何を意味するのかを尋ねるように呼び出すことができます。;-)

于 2009-01-26T08:54:43.647 に答える