1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
(*
Copyright David C. J. Matthews 2009
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*)
signature SIGNATURESSIG =
sig
type sigs
type structSigBind
type parsetree
type typeParsetree
type typeVarForm
type pretty
type ptProperties
type env
type signatures
type lexan
type typeId
type specs
type location =
{ file: string, startLine: FixedInt.int, startPosition: FixedInt.int,
endLine: FixedInt.int, endPosition: FixedInt.int }
type exportTree = location * ptProperties list
type navigation =
{parent: (unit -> exportTree) option,
next: (unit -> exportTree) option,
previous: (unit -> exportTree) option}
val mkStructureSig: structSigBind list * location -> specs
val mkStructureSigBinding: (string * location) * (sigs * bool * location) * location -> structSigBind
val mkValSig: (string * location) * typeParsetree * location -> specs
val mkExSig: (string * location) * typeParsetree option * location -> specs
val mkCoreType: parsetree * location -> specs
val mkSharing: bool * (string * location) list * location -> specs
val mkWhereType: sigs * typeVarForm list * string * typeParsetree * location -> sigs
val mkInclude: sigs list * location -> specs
val mkSigIdent: string * location -> sigs;
val mkSig: specs list * location -> sigs;
val displaySigs: sigs * FixedInt.int -> pretty
val sigExportTree: navigation * sigs -> exportTree
val sigVal: sigs * int * (int->typeId) * env * lexan * location -> signatures
val undefinedSignature: signatures
val isUndefinedSignature: signatures -> bool
structure Sharing:
sig
type sigs = sigs
type structSigBind = structSigBind
type signatures = signatures
type parsetree = parsetree
type typeParsetree = typeParsetree
type typeVarForm = typeVarForm
type pretty = pretty
type ptProperties = ptProperties
type env = env
type lexan = lexan
type typeId = typeId
type specs = specs
end
end;
|