1(* 2 Copyright (c) 2013 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 PrintParsetreeSig = 20sig 21 type lexan 22 type parsetree 23 type matchtree 24 type pretty 25 26 type location = 27 { file: string, startLine: FixedInt.int, startPosition: FixedInt.int, 28 endLine: FixedInt.int, endPosition: FixedInt.int } 29 30 val displayParsetree: parsetree * FixedInt.int -> pretty 31 val displayMatch: matchtree * FixedInt.int -> pretty 32 33 val errorNear: lexan * bool * parsetree * location * string -> unit 34 35 structure Sharing: 36 sig 37 type lexan = lexan 38 and parsetree = parsetree 39 and matchtree = matchtree 40 and pretty = pretty 41 end 42end; 43