一般的な言語の Backus-Naur Form または BNF 文法を見つけることができる場所はありますか? 検索してもあまり出てこないのですが、どこかに公開されているに違いないと思います。私が一番興味を持っているのは、Objective-C とおそらく MySQL 用のものです。
5 に答える
文法を作成するために使用されるツールを検索する必要があります: 「lex/yacc grammar」、「antlr grammar」、「railroad diagram」
http://www.antlr3.org/grammar/list.html
ここにいくつかの文法ファイルがあります
客観的-c
パイソン
JavaScript
ルビー
実のところ、MySQL 文法ファイル ( mysql-server/sql/sql_yacc.y
) はオープン ソースであり、launchpad.net で参照できます (ただし、少し遅く、特定のファイルを取得しようとするとエラーが発生しました)。
また、MySQL Server ソース全体のスナップショットはdev.mysql.comからダウンロードできます。
w:BNF#Language Grammarsからのリンクがいくつかあります。
また、Objective C の文法を一覧表示しているページも見つけました。
IIRC、BNF 文法は、yacc/bison が入力として必要とするものとはまったく異なり、本当に面倒です :) これらのファイルをパーサー ジェネレーターにフィードする場合は、適切な形式のファイルを探すことをお勧めします。ある時点で、Java、JavaScript、および C++ 用のそのようなファイルを見たことを思い出します。おそらくそれぞれ Eclipse、Firefox、GCC の一部ですが、はっきりとは覚えていません。その言語を使用するオープン ソース プロジェクトを見つけることで、ほぼすべてのパーサー入力ファイルを見つけることができると思います。