#?SuikaWiki/0.9

[1] [DFN[[RUBYB[字句型宣言] [lexical type declaration]]]]は、
[[字句型]]を定義します。

仕様書: [[ISO/IEC 10744]]:1997 A.2.1.1
<http://www.y12.doe.gov/sgml/wg8/docs/n1920/html/clause-A.2.1.html#clause-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[以前に宣言された]]と書いてあるので、
参照する[[辞書式順序宣言]]や[[字句制約宣言]]は字句型宣言より前にないといけないようです。

