2016-03-23 5 views
1

ISO 14977 EBNF標準、セクション4.7では、例外の正当な内容が記述されています。私は、ある種のメタ識別子を含んでいない限り、どのような有効な構文要素から構成されていてもよいということはかなり確信しています。これは、このような例外として特別なシーケンスを使用できることを意味します。ISO EBNFでの例外の内容

syntax = 
    my rule - ? Something clever ? ; 

この場合ですか?

無料で標準を取得するには、ISO hereを使用します。

+0

はい、多かれ少なかれそうです。 §4.7構文例外_構文的例外は、構文的例外によって表されるシンボルのシーケンスがメタ識別子を含まない構文的因子によって等しく表現され得るという制限の対象となる構文要素からなる。 注 - 構文上の例外が任意の構文要素であることが許可されている場合、拡張BNFは、文脈自由文法よりも広い言語クラスを定義できます。 'xx =" A "-xx;' '' A ''は' xx'の一例ですか? –

+0

例外はルールと同じ長さであるはずですか?ルールが "A"で始まっても長くなるのはどうですか? – Jens

+0

ルールと例外の長さが一致する必要はありません。 – Uran

答えて

1

これは正しくありません。完全に評価されて端末が得られる限り、例外にメタ識別子を使用できます。 4.7節で与えられた例は、それ自身で定義されたメタ識別子を示しています。メタ識別子は端末に決して解決できません。それは彼らが言うときの意味です:

...メタ識別子を含まない構文要素でも同様に表すことができます。 (|第二の引用記号最初の引用記号)

-

ギャップフリーシンボル=ターミナル文字:例えばチェックアウト部8 - 標準自体にこの例がたくさんある

関連する問題