1(* 2 Copyright (c) 2009 David C.J. Matthews 3 4 This library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Lesser General Public 6 License as published by the Free Software Foundation; either 7 version 2.1 of the License, or (at your option) any later version. 8 9 This library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Lesser General Public License for more details. 13 14 You should have received a copy of the GNU Lesser General Public 15 License along with this library; if not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17*) 18 19signature COPIERSIG = 20sig 21 type signatures 22 type typeConstrSet 23 type structVals 24 type values 25 type typeId 26 type types 27 type univTable 28 29 type tsvEnv = { enterType: string * typeConstrSet -> unit, 30 enterStruct: string * structVals -> unit, 31 enterVal : string * values -> unit }; 32 val openSignature: signatures * tsvEnv * string -> unit 33 val fullCopyDatatype: typeConstrSet * (int -> typeId) * string -> typeConstrSet 34 val replaceMap: signatures * (int -> typeId) * int * typeId list * (int -> typeId) -> signatures 35 36 val getNextRuntimeOffset : signatures -> int 37 38 structure Sharing: 39 sig 40 type signatures = signatures 41 type typeConstrSet = typeConstrSet 42 type structVals = structVals 43 type values = values 44 type typeId = typeId 45 type types = types 46 type univTable = univTable 47 end 48end; 49