「終端記号と非終端記号」の版間の差分
削除された内容 追加された内容
19行目:
==句構造文法==
{{main|句構造文法}}
以下、単に「集合」とあるものは全て有限集合である。この理論では文法は一般に、記号列を別の記号列に置換できるものとして定義する生成規則の集合によって定義される。これらの生成規則は、文字列の生成やパースに使われる。それぞれの生成規則は、置換される記号列からなる ''ヘッド'' (左辺)と、置換する記号列からなる ''ボディ'' (右辺)を持つ。規則は、''ヘッド'' → ''ボディ'' のような形に書く。例えば、規則 z0 → z1 は、z0 を z1 で置き換えることを表す。
1950年代に [[ノーム・チョムスキー]] <ref name="Chomsky1956">{{Cite journal
37行目:
| year = 1957
}}</ref> によって提案された生成文法の古典的な形式では、文法 ''G'' は次のように構成される:
* ''非終端記号'' の
*
* ''生成規則'' の
:: <math>(\Sigma \cup N)^{*} N (\Sigma \cup N)^{*} \rightarrow (\Sigma \cup N)^{*} </math>
:ここで <math>{}^{*}</math> は [[クリーネ閉包|クリーネ
* ''開始記号'' <math>S \in N</math>
<!--
==例==
54行目:
ここで、記号 (-,0,1,2,3,4,5,6,7,8,9) は終端記号であり、<digit> や <integer> は非終端記号である。[[構文木]]の分岐点にあたるのが非終端記号で、葉(すなわち終端)にあたるのが終端記号である。
-->
==参考文献==
* Aho, Sethi, & Ullman, ''Compilers: Principles, Techniques, and Tools'', Addison-Wesley, 1986.
|