#?SuikaWiki/0.9 [1] [DFN[[RUBYB[字句型宣言] [lexical type declaration]]]]は、 [[字句型]]を定義します。 仕様書: [[ISO/IEC 10744]]:1997 A.2.1.1 [2] 構文: - [CODE(ABNF)[[DFN[字句型宣言]] := [CODE(SGML)[[[mdo]]]] 'LEXTYPE' 1*[CODE(SGML)[[[ps]]]] 字句型名 [1*ps 辞書式順序指定] *(1*ps 追加字句制約指定) 1*ps 字句模型指定 *ps [CODE(SGML)[[[mdc]]]]]] - [CODE(ABNF)[[DFN[字句型名]] := [[名前]]]] - [CODE(ABNF)[[DFN[辞書式順序指定]] := [CODE(SGML)[[[rni]]]] 'ORDER' 辞書順名]] - [CODE(ABNF)[[DFN[辞書式順序名]] := <以前に宣言された辞書式順序の名前>]] - [CODE(ABNF)[[DFN[追加字句制約指定]] := [CODE(SGML)[rni]] 'CHECK' 追加字句制約名]] - [CODE(ABNF)[[DFN[追加字句制約名]] := <以前に宣言された追加字句制約の名前>]] - [CODE(ABNF)[[DFN[字句模型指定]] := [[字句模型]] / 'SPEC' 1*ps [[外部識別子]]]] -- ここで、[VAR(ABNF)[外部識別子]]は外部の字句型定義の文書を参照します。その定義は自然言語によるものかもしれません。 [3] [VAR(ABNF)[辞書式順序指定]]とか[VAR(ABNF)[追加字句制約指定]]とか、鍵語と[VAR(ABNF)[名前]]の間に [CODE(ABNF)[1*ps]] がないと困ると思うのだけど。 [4] [Q[以前に宣言された]]と書いてあるので、 参照する[[辞書式順序宣言]]や[[字句制約宣言]]は字句型宣言より前にないといけないようです。