自作コンパイラの部屋 > yacc入門 > YACC文法ファイル
YACC文法ファイルはyaccの入力ファイルであり、通常は .y という拡張子にします。
YACC文法ファイルは、本質的には、プログラムで処理可能な形式による、バッカス・ナウアー記法(Backus-Naur form:以下BNFと略す)による文脈自由文法(context-free grammer)です[*1]。
先に説明したように、YACC文法ファイルは下図のように3つの部分からなります。このうち、「文法規則部」が、BNFによる文法記述部です。
YACC宣言部 %% 文法規則部 %% 追加のCプログラム |
![]() |
目次 |
[*1] 文脈自由文法という訳語は誤解を招きやすい言葉です。文脈自由文法と対をなす用語は、context-dependent grammer、すなわち「文脈依存文法」ですから、context-free grammerの方は、「文脈独立文法」とでも訳すべきでした。