タグ

BNFに関するtrashsuiteのブックマーク (3)

  • BNF記法入門(1) ─XML関連仕様を読むために─

    第4回 BNF記法入門(1) ─XML関連仕様を読むために─ W3Cの勧告として発表されているXML 1.0の仕様書は、XMLの構文を厳密に定義するためにBNFと呼ばれる記法で記述されている。XML関連の仕様書を読みこなそうとすれば、BNFの理解は不可避だ。今回はそのBNFを解説しよう。 ■話題 BNF記法 ■程度 C (XMLに関するひととおりの知識を持っている人を対象とする) ■目的 基礎的な知識の解説 この連載を初めてお読みになる方は、「XML深層探求について」をご覧ください。

  • バッカス・ナウア記法 - Wikipedia

    バッカス・ナウア記法(英: Backus–Naur form)とは、文脈自由文法を定義するのに用いられるメタ言語のことで、一般にBNFやBN記法と略される。現在はこのBNFを拡張したEBNF (Extended BNF) が一般的に使われている。EBNFでは正規表現を用いてより簡単に記述でき、プロトコル規定言語であるASN.1や、XMLの構文定義にも利用されている。 ジョン・バッカスとピーター・ナウアがALGOL 60 の文法定義のために考案。当初は文脈自由文法の来の定義に則り or(|)以外の定義はなく、繰り返しは再帰を利用して表現されている。*、?等の量化子はBNFを拡張したEBNFによって導入された。パーサジェネレータを使用して構文解析器を生成する際に、構文を定義するためにも使う。 ISO/IEC 14977:1996においてEBNFの標準が定義されているが、EBNFにもいろいろな

  • プログラム言語の文法はどうやって定義されるのか?

    プログラム言語の文法はどうやって定義されるのか?:Javaでコンパイラの基礎を理解する(4)(1/2 ページ) 前回までの解説でコンパイラが生成するオブジェクトコードとそれを実行する仮想マシンについては理解できたはずです。コンパイラが出力するものについては明確にできましたから、次はコンパイラへ入力するソースコードについて考えることにします。 ソースコードには、プログラムを記述することになりますから、それをどのように記述するかを自分で決める必要があります。つまり、プログラム言語の文法を自分で定義するのです。今回はこの方法について解説をします。 コンパイラの仕様(どのように動くか? を決める) 連載でターゲットとしている仮想マシンは非常に単純なものですから、バイナリファイルを毎回手作業で作成することも可能です。 とはいえ、簡単な計算をするために毎回この作業をするのは大変ですから、普段使い慣れ

    プログラム言語の文法はどうやって定義されるのか?
  • 1