+++ /dev/null
-(* Copyright (C) 2000, HELM Team.
- *
- * This file is part of HELM, an Hypertextual, Electronic
- * Library of Mathematics, developed at the Computer Science
- * Department, University of Bologna, Italy.
- *
- * HELM is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * HELM 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HELM; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- * MA 02111-1307, USA.
- *
- * For details, see the HELM World-Wide-Web page,
- * http://cs.unibo.it/helm/.
- *)
-
-(* AUTOR: Ferruccio Guidi <fguidi@cs.unibo.it>
- *)
-
-{
- open MQGTopParser
-
- let debug = false
-
- let out s = if debug then prerr_endline s
-}
-
-let SPC = [' ' '\t' '\n']+
-let ALPHA = ['A'-'Z' 'a'-'z' '_']
-let NUM = ['0'-'9']
-let IDEN = ALPHA (NUM | ALPHA)*
-let QSTR = [^ '"' '\\']+
-
-rule comm_token = parse
- | "(*" { comm_token lexbuf; comm_token lexbuf }
- | "*)" { () }
- | ['*' '('] { comm_token lexbuf }
- | [^ '*' '(']* { comm_token lexbuf }
-and string_token = parse
- | '"' { DQ }
- | '\\' _ { STR (String.sub (Lexing.lexeme lexbuf) 1 1) }
- | QSTR { STR (Lexing.lexeme lexbuf) }
- | eof { EOF }
-and spec_token = parse
- | "(*" { comm_token lexbuf; spec_token lexbuf }
- | SPC { spec_token lexbuf }
- | '"' { let str = qstr string_token lexbuf in
- out ("STR " ^ str); STR str }
- | '{' { out "LC"; LC }
- | '}' { out "RC"; RC }
- | ',' { out "CM"; CM }
- | '$' { out "DL"; DL }
- | "mustobj" { out "MOBJ" ; MOBJ }
- | "mustsort" { out "MSORT" ; MSORT }
- | "mustrel" { out "MREL" ; MREL }
- | "onlyobj" { out "OOBJ" ; OOBJ }
- | "onlysort" { out "OSORT" ; OSORT }
- | "onlyrel" { out "OREL" ; OREL }
- | "universe" { out "UNIV" ; UNIV }
- | IDEN { let id = Lexing.lexeme lexbuf in
- out ("ID " ^ id); ID id }
- | eof { EOF }