Ch.11 SML#分割コンパイルシステム

§ 11.8. インタフェイス言語の文法

インタフェイス言語の文法の概要を以下に示します. conbindなどの定義が無い非終端記号は,The Definition of Standard MLの同名のものと同一です. 詳細な定義は(近々完成予定の)SML#言語レファレンスマニュ アルを参照ください.

interface::=requireDeclList  provideDeclList(interface)requireDeclList::=|_require  smiFilePath | requireDeclList|_require  sigFilePath | requireDeclListprovideDeclList::=|provideDecl | requireDeclListprovideDecl::=idecl | ifundeclidecl::=val  valdesc|type  itypbind|eqtype  tyvarSeq  id(= ty)|datatype  idatbind|datatype  id = datatype  longid|exception  exbind|structure  id = istrexp|infix  n  id|infixr  n  id|noninfix  n  iditypbind::=tyvarSeq  id = ty|tyvarSeq  id( = rep)rep::=boxed|char|codeptr|contag|int|intInf|ptr|real|real32|unit|word|word8idatbind::=tyvarSeq  id = conbinds  [  and  idatbind]|tyvarSeq  id  ( =   conbinds  [  and  idatbind])istrexp::=struct  ideclSeq  endifundec::=functor  id  (id : sigexp ) = istrexp