specification of link file @author YAMATODANI Kiyoshi @version $Id: linkfile_en.txt,v 1.2 2007/03/27 15:18:23 kiyoshiy Exp $ specification of link file which is processed by --link, --linkoffline option. ========== Syntax linkfile ::= item ... item item ::= arc "{" item ... item "}" | arc "=>" fqn fqn ::= arc "." ... "." arc arc ::= "structure" ID | "signature" ID | "functor" ID | "funsig" ID ========== Module alias An item arc "=>" fqn means that the module referred by a name arc is declared by the name fqn. For example, a module is declared as follows, structure P1 = struct structure C = struct ... end end structure P2 = P1 the link file contains the following items. structure P1 { structure C { } } structure P2 { structure C => structure P1 . structure C } ========== Sequence order of items Items in a link file should be arranged in the order described below according to the dependency relation between modules. * If a moudle C is defined as a sub module in a module P, FQN P should appear before FQN P.C. ---------------------------------------- structure P { ... structure C { ... } ... } : structure M => structure P.C ---------------------------------------- * If FQN M1 refers to a module which is originally declared with FQN M2, FQN M2 should appear before FQN M1. ---------------------------------------- structure M2 { ... } : structure M1 => structure M2 ---------------------------------------- ========== Sequence order of link files If a link file L1 contains an item arcA1 { ... arcAn { } ... } and, a link file L2 contains an item arcB => arcA1 . ... . arcAn then, L1 should be specified before L2 by --link or --linkoffset option. $ smldoc --link=L1 ... --link=L2 ...