0

文脈自由文法 (Chomsky、EBNF、または構文図) を使用して XML のような要素を定義できない理由を誰か説明してもらえますか?

4

2 に答える 2

1

このスレッドは次のように述べています。

XML は SGML によって定義された言語であり、文脈自由文法の制限された形式です (本質的に、多くの種類の括弧を持つ Dyck 言語)。

于 2015-02-13T00:25:08.053 に答える
0

実際、XML はコンテキスト フリー言語であり、CFL を解析できるものなら何でも解析できます。CFL はチョムスキー レベル 2 です。

実はすでに行われています。W3は EBNF 表記を使用して XML を「完全に記述する」(または定義する):

symbol ::= expression

ターミナル (ツリーの「葉」) として知られる XML のサブセットは、単純な正規表現で解析できます。私は現代の正規表現 (Perl、PCRE、さらには Java で見られるものなど) についてさえ話していません。

記号は、通常の言語の開始記号である場合は頭文字を大文字で書き、それ以外の場合は頭文字を小文字で書きます。

BNF を使用して XML を解析するWeb サイトもあります。(BNF は、特に XML を扱う場合に、読み方が少しややこしくなります。その構文でも山括弧が使用されているためです。)

于 2016-04-14T01:02:06.263 に答える