]> matita.cs.unibo.it Git - helm.git/blob - matita/matita/contribs/lambdadelta/bin/roles/rolesInput.ml
update in binaries for λδ
[helm.git] / matita / matita / contribs / lambdadelta / bin / roles / rolesInput.ml
1 (*
2     ||M||  This file is part of HELM, an Hypertextual, Electronic
3     ||A||  Library of Mathematics, developed at the Computer Science
4     ||T||  Department, University of Bologna, Italy.
5     ||I||
6     ||T||  HELM is free software; you can redistribute it and/or
7     ||A||  modify it under the terms of the GNU General Public License
8     \   /  version 2 or (at your option) any later version.
9      \ /   This software is distributed as is, NO WARRANTY.
10       V_______________________________________________________________ *)
11
12 module EL = RolesLexer
13 module EP = RolesParser
14 module EU = RolesUtils
15
16 let input_string_opt ich =
17   let map s = Some s in
18   try Scanf.bscanf ich " %S" map
19   with End_of_file -> None
20
21 let rec read_rev_nobjs ich nobjs =
22   match input_string_opt ich with
23   | None   -> nobjs
24   | Some s -> read_rev_nobjs ich (EU.nobj_of_string s :: nobjs)
25
26 let read_status ich =
27   let lexbuf = Lexing.from_channel ich in
28   EP.status EL.token lexbuf