packages feed

liquid-fixpoint 0.3.0.0 → 0.3.0.1

raw patch · 19 files changed

+464/−1833 lines, 19 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

− external/fixpoint/smtZ3.ml
@@ -1,93 +0,0 @@-(*- * Copyright © 2008 The Regents of the University of California. All rights reserved.- *- * Permission is hereby granted, without written agreement and without- * license or royalty fees, to use, copy, modify, and distribute this- * software and its documentation for any purpose, provided that the- * above copyright notice and the following two paragraphs appear in- * all copies of this software.- *- * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY- * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN- * IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY- * OF SUCH DAMAGE.- *- * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS- * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION- * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.- *)--(********************************************************************************)-(** DUMMY SMT-Z3 Solver (for non Z3MEM builds) **********************************)-(********************************************************************************)--let assertf = FixMisc.Ops.assertf-let msg     = "This build is NOT linked against Z3. Please rebuild with Z3MEM=true. Only possible on linux"--module SMTZ3 : ProverArch.SMTSOLVER = struct--type context     = ()-type symbol      = ()-type sort        = ()-type ast         = ()-type fun_decl    = ()--let var          _   = failwith msg-let boundVar     _   = failwith msg-let stringSymbol _   = failwith msg-let funcDecl     _   = failwith msg-let isBool _         = failwith msg-let isInt _          = failwith msg-let mkAll _          = failwith msg-let mkRel _          = failwith msg-let mkApp _          = failwith msg-let mkMul _          = failwith msg-let mkDiv _          = failwith msg-let mkAdd _          = failwith msg-let mkSub _          = failwith msg-let mkMod _          = failwith msg-let mkIte _          = failwith msg-let mkInt _          = failwith msg-let mkLit _          = failwith msg-let mkReal _         = failwith msg-let mkTrue _         = failwith msg-let mkFalse _        = failwith msg-let mkNot _          = failwith msg-let mkAnd _          = failwith msg-let mkOr _           = failwith msg-let mkImp _          = failwith msg-let mkIff _          = failwith msg-let astString _      = failwith msg-let sortString _     = failwith msg-let mkIntSort _      = failwith msg-let mkRealSort _     = failwith msg-let mkBoolSort _     = failwith msg-let mkSetSort _      = failwith msg-let mkEmptySet _     = failwith msg-let mkSetAdd _       = failwith msg-let mkSetMem _       = failwith msg-let mkSetCup _       = failwith msg-let mkSetCap _       = failwith msg-let mkSetDif _       = failwith msg-let mkSetSub _       = failwith msg-let mkMapSort _      = failwith msg-let mkMapSelect _    = failwith msg-let mkMapStore _     = failwith msg-let mkSizeSort _     = failwith msg-let mkBitSort _      = failwith msg-let mkBitAnd _       = failwith msg-let mkBitOr _        = failwith msg-let mkContext _      = failwith msg-let unsat _          = failwith msg-let assertAxiom _    = failwith msg-let assertDistinct _ = failwith msg-let bracket _        = failwith msg-let assertPreds _    = failwith msg-let valid _          = failwith msg-let contra _         = failwith msg-let print_stats _    = failwith msg--end
external/ocamlgraph/.depend view
@@ -1,128 +1,128 @@-lib/bitv.cmo: lib/bitv.cmi-lib/bitv.cmx: lib/bitv.cmi-lib/heap.cmo: lib/heap.cmi-lib/heap.cmx: lib/heap.cmi-lib/unionfind.cmo: lib/unionfind.cmi-lib/unionfind.cmx: lib/unionfind.cmi-lib/bitv.cmi:-lib/heap.cmi:-lib/unionfind.cmi:-src/blocks.cmo: src/util.cmi src/sig.cmi-src/blocks.cmx: src/util.cmx src/sig.cmi-src/builder.cmo: src/sig.cmi src/builder.cmi-src/builder.cmx: src/sig.cmi src/builder.cmi-src/classic.cmo: src/sig.cmi src/builder.cmi src/classic.cmi-src/classic.cmx: src/sig.cmi src/builder.cmx src/classic.cmi-src/cliquetree.cmo: src/util.cmi src/sig.cmi src/persistent.cmi src/oper.cmi \-    src/gmap.cmi src/builder.cmi src/cliquetree.cmi-src/cliquetree.cmx: src/util.cmx src/sig.cmi src/persistent.cmx src/oper.cmx \-    src/gmap.cmx src/builder.cmx src/cliquetree.cmi-src/components.cmo: src/util.cmi src/sig.cmi src/components.cmi-src/components.cmx: src/util.cmx src/sig.cmi src/components.cmi-src/delaunay.cmo: src/delaunay.cmi-src/delaunay.cmx: src/delaunay.cmi-src/dot.cmo: src/dot_parser.cmi src/dot_lexer.cmo src/dot_ast.cmi \+lib/bitv.cmo : lib/bitv.cmi+lib/bitv.cmx : lib/bitv.cmi+lib/heap.cmo : lib/heap.cmi+lib/heap.cmx : lib/heap.cmi+lib/unionfind.cmo : lib/unionfind.cmi+lib/unionfind.cmx : lib/unionfind.cmi+lib/bitv.cmi :+lib/heap.cmi :+lib/unionfind.cmi :+src/blocks.cmo : src/util.cmi src/sig.cmi+src/blocks.cmx : src/util.cmx src/sig.cmi+src/builder.cmo : src/sig.cmi src/builder.cmi+src/builder.cmx : src/sig.cmi src/builder.cmi+src/classic.cmo : src/sig.cmi src/builder.cmi src/classic.cmi+src/classic.cmx : src/sig.cmi src/builder.cmx src/classic.cmi+src/cliquetree.cmo : src/util.cmi src/sig.cmi src/persistent.cmi \+    src/oper.cmi src/gmap.cmi src/builder.cmi src/cliquetree.cmi+src/cliquetree.cmx : src/util.cmx src/sig.cmi src/persistent.cmx \+    src/oper.cmx src/gmap.cmx src/builder.cmx src/cliquetree.cmi+src/components.cmo : src/util.cmi src/sig.cmi src/components.cmi+src/components.cmx : src/util.cmx src/sig.cmi src/components.cmi+src/delaunay.cmo : src/delaunay.cmi+src/delaunay.cmx : src/delaunay.cmi+src/dot.cmo : src/dot_parser.cmi src/dot_lexer.cmo src/dot_ast.cmi \     src/builder.cmi src/dot.cmi-src/dot.cmx: src/dot_parser.cmx src/dot_lexer.cmx src/dot_ast.cmi \+src/dot.cmx : src/dot_parser.cmx src/dot_lexer.cmx src/dot_ast.cmi \     src/builder.cmx src/dot.cmi-src/dot_lexer.cmo: src/dot_parser.cmi src/dot_ast.cmi-src/dot_lexer.cmx: src/dot_parser.cmx src/dot_ast.cmi-src/dot_parser.cmo: src/dot_ast.cmi src/dot_parser.cmi-src/dot_parser.cmx: src/dot_ast.cmi src/dot_parser.cmi-src/flow.cmo: src/util.cmi src/sig.cmi src/flow.cmi-src/flow.cmx: src/util.cmx src/sig.cmi src/flow.cmi-src/gcoloring.cmo: src/traverse.cmi src/sig.cmi src/gcoloring.cmi-src/gcoloring.cmx: src/traverse.cmx src/sig.cmi src/gcoloring.cmi-src/gmap.cmo: src/sig.cmi src/gmap.cmi-src/gmap.cmx: src/sig.cmi src/gmap.cmi-src/gml.cmo: src/builder.cmi src/gml.cmi-src/gml.cmx: src/builder.cmx src/gml.cmi-src/gpath.cmo: src/util.cmi src/sig.cmi lib/heap.cmi src/gpath.cmi-src/gpath.cmx: src/util.cmx src/sig.cmi lib/heap.cmx src/gpath.cmi-src/graphviz.cmo: src/graphviz.cmi-src/graphviz.cmx: src/graphviz.cmi-src/imperative.cmo: src/sig.cmi src/blocks.cmo lib/bitv.cmi \+src/dot_lexer.cmo : src/dot_parser.cmi src/dot_ast.cmi+src/dot_lexer.cmx : src/dot_parser.cmx src/dot_ast.cmi+src/dot_parser.cmo : src/dot_ast.cmi src/dot_parser.cmi+src/dot_parser.cmx : src/dot_ast.cmi src/dot_parser.cmi+src/flow.cmo : src/util.cmi src/sig.cmi src/flow.cmi+src/flow.cmx : src/util.cmx src/sig.cmi src/flow.cmi+src/gcoloring.cmo : src/traverse.cmi src/sig.cmi src/gcoloring.cmi+src/gcoloring.cmx : src/traverse.cmx src/sig.cmi src/gcoloring.cmi+src/gmap.cmo : src/sig.cmi src/gmap.cmi+src/gmap.cmx : src/sig.cmi src/gmap.cmi+src/gml.cmo : src/builder.cmi src/gml.cmi+src/gml.cmx : src/builder.cmx src/gml.cmi+src/gpath.cmo : src/util.cmi src/sig.cmi lib/heap.cmi src/gpath.cmi+src/gpath.cmx : src/util.cmx src/sig.cmi lib/heap.cmx src/gpath.cmi+src/graphviz.cmo : src/graphviz.cmi+src/graphviz.cmx : src/graphviz.cmi+src/imperative.cmo : src/sig.cmi src/blocks.cmo lib/bitv.cmi \     src/imperative.cmi-src/imperative.cmx: src/sig.cmi src/blocks.cmx lib/bitv.cmx \+src/imperative.cmx : src/sig.cmi src/blocks.cmx lib/bitv.cmx \     src/imperative.cmi-src/kruskal.cmo: src/util.cmi lib/unionfind.cmi src/sig.cmi src/kruskal.cmi-src/kruskal.cmx: src/util.cmx lib/unionfind.cmx src/sig.cmi src/kruskal.cmi-src/mcs_m.cmo: src/util.cmi src/sig.cmi src/persistent.cmi src/oper.cmi \+src/kruskal.cmo : src/util.cmi lib/unionfind.cmi src/sig.cmi src/kruskal.cmi+src/kruskal.cmx : src/util.cmx lib/unionfind.cmx src/sig.cmi src/kruskal.cmi+src/mcs_m.cmo : src/util.cmi src/sig.cmi src/persistent.cmi src/oper.cmi \     src/imperative.cmi src/gmap.cmi src/builder.cmi src/mcs_m.cmi-src/mcs_m.cmx: src/util.cmx src/sig.cmi src/persistent.cmx src/oper.cmx \+src/mcs_m.cmx : src/util.cmx src/sig.cmi src/persistent.cmx src/oper.cmx \     src/imperative.cmx src/gmap.cmx src/builder.cmx src/mcs_m.cmi-src/md.cmo: src/sig.cmi src/oper.cmi src/gmap.cmi src/cliquetree.cmi \+src/md.cmo : src/sig.cmi src/oper.cmi src/gmap.cmi src/cliquetree.cmi \     src/builder.cmi src/md.cmi-src/md.cmx: src/sig.cmi src/oper.cmx src/gmap.cmx src/cliquetree.cmx \+src/md.cmx : src/sig.cmi src/oper.cmx src/gmap.cmx src/cliquetree.cmx \     src/builder.cmx src/md.cmi-src/minsep.cmo: src/sig.cmi src/oper.cmi src/components.cmi src/minsep.cmi-src/minsep.cmx: src/sig.cmi src/oper.cmx src/components.cmx src/minsep.cmi-src/oper.cmo: src/sig.cmi src/builder.cmi src/oper.cmi-src/oper.cmx: src/sig.cmi src/builder.cmx src/oper.cmi-src/pack.cmo: src/traverse.cmi src/topological.cmi src/sig.cmi src/rand.cmi \+src/minsep.cmo : src/sig.cmi src/oper.cmi src/components.cmi src/minsep.cmi+src/minsep.cmx : src/sig.cmi src/oper.cmx src/components.cmx src/minsep.cmi+src/oper.cmo : src/sig.cmi src/builder.cmi src/oper.cmi+src/oper.cmx : src/sig.cmi src/builder.cmx src/oper.cmi+src/pack.cmo : src/traverse.cmi src/topological.cmi src/sig.cmi src/rand.cmi \     src/oper.cmi src/kruskal.cmi src/imperative.cmi src/graphviz.cmi \     src/gpath.cmi src/gml.cmi src/flow.cmi src/dot.cmi src/components.cmi \     src/classic.cmi src/builder.cmi src/pack.cmi-src/pack.cmx: src/traverse.cmx src/topological.cmx src/sig.cmi src/rand.cmx \+src/pack.cmx : src/traverse.cmx src/topological.cmx src/sig.cmi src/rand.cmx \     src/oper.cmx src/kruskal.cmx src/imperative.cmx src/graphviz.cmx \     src/gpath.cmx src/gml.cmx src/flow.cmx src/dot.cmx src/components.cmx \     src/classic.cmx src/builder.cmx src/pack.cmi-src/persistent.cmo: src/util.cmi src/sig.cmi src/blocks.cmo \+src/persistent.cmo : src/util.cmi src/sig.cmi src/blocks.cmo \     src/persistent.cmi-src/persistent.cmx: src/util.cmx src/sig.cmi src/blocks.cmx \+src/persistent.cmx : src/util.cmx src/sig.cmi src/blocks.cmx \     src/persistent.cmi-src/rand.cmo: src/sig.cmi src/delaunay.cmi src/builder.cmi src/rand.cmi-src/rand.cmx: src/sig.cmi src/delaunay.cmx src/builder.cmx src/rand.cmi-src/strat.cmo: src/sig.cmi src/strat.cmi-src/strat.cmx: src/sig.cmi src/strat.cmi-src/topological.cmo: src/sig.cmi src/topological.cmi-src/topological.cmx: src/sig.cmi src/topological.cmi-src/traverse.cmo: src/sig.cmi src/traverse.cmi-src/traverse.cmx: src/sig.cmi src/traverse.cmi-src/util.cmo: src/sig.cmi src/util.cmi-src/util.cmx: src/sig.cmi src/util.cmi-src/version.cmo:-src/version.cmx:-src/builder.cmi: src/sig.cmi-src/classic.cmi: src/sig.cmi-src/cliquetree.cmi: src/sig.cmi-src/components.cmi: src/util.cmi src/sig.cmi-src/delaunay.cmi:-src/dot.cmi: src/dot_ast.cmi src/builder.cmi-src/dot_ast.cmi:-src/dot_parser.cmi: src/dot_ast.cmi-src/flow.cmi: src/sig.cmi-src/gcoloring.cmi: src/sig.cmi-src/gmap.cmi: src/sig.cmi-src/gml.cmi: src/builder.cmi-src/gpath.cmi: src/sig.cmi-src/graphviz.cmi:-src/imperative.cmi: src/sig.cmi-src/kruskal.cmi: src/sig.cmi-src/mcs_m.cmi: src/sig.cmi-src/md.cmi: src/sig.cmi-src/minsep.cmi: src/sig.cmi-src/oper.cmi: src/sig.cmi src/builder.cmi-src/pack.cmi: src/sig_pack.cmi-src/persistent.cmi: src/sig.cmi-src/rand.cmi: src/sig.cmi src/builder.cmi-src/sig.cmi:-src/sig_pack.cmi:-src/strat.cmi: src/sig.cmi-src/topological.cmi: src/sig.cmi-src/traverse.cmi: src/sig.cmi-src/util.cmi: src/sig.cmi-editor/ed_display.cmo:-editor/ed_display.cmx:-editor/ed_draw.cmo: src/components.cmi-editor/ed_draw.cmx: src/components.cmx-editor/ed_graph.cmo: src/traverse.cmi src/imperative.cmi src/graphviz.cmi \+src/rand.cmo : src/sig.cmi src/delaunay.cmi src/builder.cmi src/rand.cmi+src/rand.cmx : src/sig.cmi src/delaunay.cmx src/builder.cmx src/rand.cmi+src/strat.cmo : src/sig.cmi src/strat.cmi+src/strat.cmx : src/sig.cmi src/strat.cmi+src/topological.cmo : src/sig.cmi src/topological.cmi+src/topological.cmx : src/sig.cmi src/topological.cmi+src/traverse.cmo : src/sig.cmi src/traverse.cmi+src/traverse.cmx : src/sig.cmi src/traverse.cmi+src/util.cmo : src/sig.cmi src/util.cmi+src/util.cmx : src/sig.cmi src/util.cmi+src/version.cmo :+src/version.cmx :+src/builder.cmi : src/sig.cmi+src/classic.cmi : src/sig.cmi+src/cliquetree.cmi : src/sig.cmi+src/components.cmi : src/util.cmi src/sig.cmi+src/delaunay.cmi :+src/dot.cmi : src/dot_ast.cmi src/builder.cmi+src/dot_ast.cmi :+src/dot_parser.cmi : src/dot_ast.cmi+src/flow.cmi : src/sig.cmi+src/gcoloring.cmi : src/sig.cmi+src/gmap.cmi : src/sig.cmi+src/gml.cmi : src/builder.cmi+src/gpath.cmi : src/sig.cmi+src/graphviz.cmi :+src/imperative.cmi : src/sig.cmi+src/kruskal.cmi : src/sig.cmi+src/mcs_m.cmi : src/sig.cmi+src/md.cmi : src/sig.cmi+src/minsep.cmi : src/sig.cmi+src/oper.cmi : src/sig.cmi src/builder.cmi+src/pack.cmi : src/sig_pack.cmi+src/persistent.cmi : src/sig.cmi+src/rand.cmi : src/sig.cmi src/builder.cmi+src/sig.cmi :+src/sig_pack.cmi :+src/strat.cmi : src/sig.cmi+src/topological.cmi : src/sig.cmi+src/traverse.cmi : src/sig.cmi+src/util.cmi : src/sig.cmi+editor/ed_display.cmo :+editor/ed_display.cmx :+editor/ed_draw.cmo : src/components.cmi+editor/ed_draw.cmx : src/components.cmx+editor/ed_graph.cmo : src/traverse.cmi src/imperative.cmi src/graphviz.cmi \     src/gml.cmi src/dot_ast.cmi src/dot.cmi src/components.cmi \     src/builder.cmi-editor/ed_graph.cmx: src/traverse.cmx src/imperative.cmx src/graphviz.cmx \+editor/ed_graph.cmx : src/traverse.cmx src/imperative.cmx src/graphviz.cmx \     src/gml.cmx src/dot_ast.cmi src/dot.cmx src/components.cmx \     src/builder.cmx-editor/ed_hyper.cmo:-editor/ed_hyper.cmx:-editor/ed_main.cmo:-editor/ed_main.cmx:+editor/ed_hyper.cmo :+editor/ed_hyper.cmx :+editor/ed_main.cmo :+editor/ed_main.cmx :
− external/ocamlgraph/src/dot_lexer.ml
@@ -1,386 +0,0 @@-# 20 "src/dot_lexer.mll"- -  open Lexing-  open Dot_ast-  open Dot_parser--  let string_buf = Buffer.create 1024--  let keyword =-    let h = Hashtbl.create 17 in-    List.iter -      (fun (s,k) -> Hashtbl.add h s k)-      [-	"strict", STRICT;-	"graph", GRAPH;-	"digraph", DIGRAPH;-	"subgraph", SUBGRAPH;-	"node", NODE;-	"edge", EDGE;-      ];-    fun s -> let s = String.lowercase s in Hashtbl.find h s---# 25 "src/dot_lexer.ml"-let __ocaml_lex_tables = {-  Lexing.lex_base = -   "\000\000\238\255\239\255\240\255\241\255\078\000\088\000\098\000\-    \176\000\245\255\246\255\247\255\248\255\249\255\250\255\251\255\-    \252\255\114\000\001\000\005\000\254\255\002\000\253\255\191\000\-    \244\255\211\000\221\000\157\000\252\255\253\255\002\000\255\255\-    \254\255\032\000\252\255\253\255\254\255\255\255\054\000\253\255\-    \254\255\015\000\255\255";-  Lexing.lex_backtrk = -   "\255\255\255\255\255\255\255\255\255\255\013\000\017\000\012\000\-    \017\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\017\000\017\000\000\000\255\255\255\255\255\255\255\255\-    \255\255\013\000\013\000\255\255\255\255\255\255\002\000\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\001\000\255\255";-  Lexing.lex_default = -   "\001\000\000\000\000\000\000\000\000\000\255\255\255\255\255\255\-    \255\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\255\255\021\000\255\255\000\000\021\000\000\000\255\255\-    \000\000\255\255\255\255\029\000\000\000\000\000\255\255\000\000\-    \000\000\035\000\000\000\000\000\000\000\000\000\040\000\000\000\-    \000\000\255\255\000\000";-  Lexing.lex_trans = -   "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\019\000\019\000\020\000\020\000\019\000\019\000\019\000\-    \000\000\000\000\019\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \019\000\000\000\004\000\018\000\032\000\019\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\015\000\008\000\006\000\017\000\-    \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\-    \005\000\005\000\016\000\014\000\003\000\013\000\042\000\000\000\-    \000\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\010\000\036\000\009\000\037\000\007\000\-    \041\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\012\000\026\000\011\000\005\000\005\000\-    \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\-    \025\000\025\000\025\000\025\000\025\000\025\000\025\000\025\000\-    \025\000\025\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\022\000\000\000\000\000\000\000\-    \000\000\021\000\000\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\000\000\000\000\031\000\-    \000\000\007\000\000\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\024\000\023\000\000\000\-    \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\-    \005\000\005\000\000\000\000\000\000\000\000\000\024\000\025\000\-    \025\000\025\000\025\000\025\000\025\000\025\000\025\000\025\000\-    \025\000\030\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \002\000\255\255\255\255\025\000\025\000\025\000\025\000\025\000\-    \025\000\025\000\025\000\025\000\025\000\026\000\026\000\026\000\-    \026\000\026\000\026\000\026\000\026\000\026\000\026\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \034\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\039\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\028\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000";-  Lexing.lex_check = -   "\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\000\000\000\000\018\000\021\000\000\000\019\000\019\000\-    \255\255\255\255\019\000\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \000\000\255\255\000\000\000\000\030\000\019\000\255\255\255\255\-    \255\255\255\255\255\255\255\255\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\041\000\255\255\-    \255\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\033\000\000\000\033\000\000\000\-    \038\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\005\000\000\000\005\000\005\000\-    \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\-    \006\000\006\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\017\000\255\255\255\255\255\255\-    \255\255\017\000\255\255\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\255\255\255\255\027\000\-    \255\255\007\000\255\255\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\008\000\008\000\255\255\-    \008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\-    \008\000\008\000\255\255\255\255\255\255\255\255\008\000\023\000\-    \023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\-    \023\000\027\000\255\255\255\255\255\255\255\255\255\255\255\255\-    \000\000\018\000\021\000\025\000\025\000\025\000\025\000\025\000\-    \025\000\025\000\025\000\025\000\025\000\026\000\026\000\026\000\-    \026\000\026\000\026\000\026\000\026\000\026\000\026\000\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \033\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\038\000\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\027\000\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255";-  Lexing.lex_base_code = -   "";-  Lexing.lex_backtrk_code = -   "";-  Lexing.lex_default_code = -   "";-  Lexing.lex_trans_code = -   "";-  Lexing.lex_check_code = -   "";-  Lexing.lex_code = -   "";-}--let rec token lexbuf =-    __ocaml_lex_token_rec lexbuf 0-and __ocaml_lex_token_rec lexbuf __ocaml_lex_state =-  match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with-      | 0 ->-# 52 "src/dot_lexer.mll"-      ( token lexbuf )-# 191 "src/dot_lexer.ml"--  | 1 ->-# 54 "src/dot_lexer.mll"-      ( token lexbuf )-# 196 "src/dot_lexer.ml"--  | 2 ->-# 56 "src/dot_lexer.mll"-      ( comment lexbuf; token lexbuf )-# 201 "src/dot_lexer.ml"--  | 3 ->-# 58 "src/dot_lexer.mll"-      ( COLON )-# 206 "src/dot_lexer.ml"--  | 4 ->-# 60 "src/dot_lexer.mll"-      ( COMMA )-# 211 "src/dot_lexer.ml"--  | 5 ->-# 62 "src/dot_lexer.mll"-      ( SEMICOLON )-# 216 "src/dot_lexer.ml"--  | 6 ->-# 64 "src/dot_lexer.mll"-      ( EQUAL )-# 221 "src/dot_lexer.ml"--  | 7 ->-# 66 "src/dot_lexer.mll"-      ( LBRA )-# 226 "src/dot_lexer.ml"--  | 8 ->-# 68 "src/dot_lexer.mll"-      ( RBRA )-# 231 "src/dot_lexer.ml"--  | 9 ->-# 70 "src/dot_lexer.mll"-      ( LSQ )-# 236 "src/dot_lexer.ml"--  | 10 ->-# 72 "src/dot_lexer.mll"-      ( RSQ )-# 241 "src/dot_lexer.ml"--  | 11 ->-# 74 "src/dot_lexer.mll"-      ( EDGEOP )-# 246 "src/dot_lexer.ml"--  | 12 ->-let-# 75 "src/dot_lexer.mll"-             s-# 252 "src/dot_lexer.ml"-= Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos lexbuf.Lexing.lex_curr_pos in-# 76 "src/dot_lexer.mll"-      ( try keyword s with Not_found -> ID (Ident s) )-# 256 "src/dot_lexer.ml"--  | 13 ->-let-# 77 "src/dot_lexer.mll"-              s-# 262 "src/dot_lexer.ml"-= Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos lexbuf.Lexing.lex_curr_pos in-# 78 "src/dot_lexer.mll"-      ( ID (Number s) )-# 266 "src/dot_lexer.ml"--  | 14 ->-# 80 "src/dot_lexer.mll"-      ( Buffer.clear string_buf; -	let s = string lexbuf in-	ID (String s) )-# 273 "src/dot_lexer.ml"--  | 15 ->-# 84 "src/dot_lexer.mll"-      ( Buffer.clear string_buf; -	html lexbuf; -	ID (Html (Buffer.contents string_buf)) )-# 280 "src/dot_lexer.ml"--  | 16 ->-# 88 "src/dot_lexer.mll"-      ( EOF )-# 285 "src/dot_lexer.ml"--  | 17 ->-let-# 89 "src/dot_lexer.mll"-         c-# 291 "src/dot_lexer.ml"-= Lexing.sub_lexeme_char lexbuf lexbuf.Lexing.lex_start_pos in-# 90 "src/dot_lexer.mll"-      ( failwith ("Dot_lexer: invalid character " ^ String.make 1 c) )-# 295 "src/dot_lexer.ml"--  | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_token_rec lexbuf __ocaml_lex_state--and string lexbuf =-    __ocaml_lex_string_rec lexbuf 27-and __ocaml_lex_string_rec lexbuf __ocaml_lex_state =-  match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with-      | 0 ->-# 94 "src/dot_lexer.mll"-      ( Buffer.contents string_buf )-# 306 "src/dot_lexer.ml"--  | 1 ->-# 96 "src/dot_lexer.mll"-      ( Buffer.add_char string_buf '"';-	string lexbuf )-# 312 "src/dot_lexer.ml"--  | 2 ->-let-# 98 "src/dot_lexer.mll"-         c-# 318 "src/dot_lexer.ml"-= Lexing.sub_lexeme_char lexbuf lexbuf.Lexing.lex_start_pos in-# 99 "src/dot_lexer.mll"-      ( Buffer.add_char string_buf c;-	string lexbuf )-# 323 "src/dot_lexer.ml"--  | 3 ->-# 102 "src/dot_lexer.mll"-      ( failwith ("Dot_lexer: unterminated string literal") )-# 328 "src/dot_lexer.ml"--  | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_string_rec lexbuf __ocaml_lex_state--and html lexbuf =-    __ocaml_lex_html_rec lexbuf 33-and __ocaml_lex_html_rec lexbuf __ocaml_lex_state =-  match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with-      | 0 ->-# 106 "src/dot_lexer.mll"-      ( () )-# 339 "src/dot_lexer.ml"--  | 1 ->-# 108 "src/dot_lexer.mll"-      ( Buffer.add_char string_buf '<'; html lexbuf;-	Buffer.add_char string_buf '>'; html lexbuf )-# 345 "src/dot_lexer.ml"--  | 2 ->-let-# 110 "src/dot_lexer.mll"-         c-# 351 "src/dot_lexer.ml"-= Lexing.sub_lexeme_char lexbuf lexbuf.Lexing.lex_start_pos in-# 111 "src/dot_lexer.mll"-      ( Buffer.add_char string_buf c;-	html lexbuf )-# 356 "src/dot_lexer.ml"--  | 3 ->-# 114 "src/dot_lexer.mll"-      ( failwith ("Dot_lexer: unterminated html literal") )-# 361 "src/dot_lexer.ml"--  | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_html_rec lexbuf __ocaml_lex_state--and comment lexbuf =-    __ocaml_lex_comment_rec lexbuf 38-and __ocaml_lex_comment_rec lexbuf __ocaml_lex_state =-  match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with-      | 0 ->-# 118 "src/dot_lexer.mll"-      ( () )-# 372 "src/dot_lexer.ml"--  | 1 ->-# 120 "src/dot_lexer.mll"-      ( comment lexbuf )-# 377 "src/dot_lexer.ml"--  | 2 ->-# 122 "src/dot_lexer.mll"-      ( failwith "Dot_lexer: unterminated comment" )-# 382 "src/dot_lexer.ml"--  | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_comment_rec lexbuf __ocaml_lex_state--;;-
− external/ocamlgraph/src/dot_parser.ml
@@ -1,551 +0,0 @@-type token =-  | ID of (Dot_ast.id)-  | COLON-  | COMMA-  | EQUAL-  | SEMICOLON-  | EDGEOP-  | STRICT-  | GRAPH-  | DIGRAPH-  | LBRA-  | RBRA-  | LSQ-  | RSQ-  | NODE-  | EDGE-  | SUBGRAPH-  | EOF--open Parsing;;-# 23 "src/dot_parser.mly"-  open Dot_ast-  open Parsing--  let compass_pt = function-    | Ident "n" -> N-    | Ident "ne" -> Ne-    | Ident "e" -> E-    | Ident "se" -> Se-    | Ident "s" -> S-    | Ident "sw" -> Sw-    | Ident "w" -> W-    | Ident "nw" -> Nw-    | _ -> invalid_arg "compass_pt"--# 37 "src/dot_parser.ml"-let yytransl_const = [|-  258 (* COLON *);-  259 (* COMMA *);-  260 (* EQUAL *);-  261 (* SEMICOLON *);-  262 (* EDGEOP *);-  263 (* STRICT *);-  264 (* GRAPH *);-  265 (* DIGRAPH *);-  266 (* LBRA *);-  267 (* RBRA *);-  268 (* LSQ *);-  269 (* RSQ *);-  270 (* NODE *);-  271 (* EDGE *);-  272 (* SUBGRAPH *);-    0 (* EOF *);-    0|]--let yytransl_block = [|-  257 (* ID *);-    0|]--let yylhs = "\255\255\-\001\000\002\000\002\000\003\000\003\000\005\000\005\000\006\000\-\006\000\008\000\008\000\007\000\007\000\007\000\007\000\007\000\-\009\000\010\000\011\000\011\000\011\000\016\000\018\000\018\000\-\015\000\015\000\013\000\019\000\019\000\020\000\020\000\014\000\-\014\000\017\000\017\000\004\000\004\000\021\000\021\000\022\000\-\022\000\023\000\023\000\012\000\012\000\012\000\012\000\000\000"--let yylen = "\002\000\-\007\000\000\000\001\000\001\000\001\000\000\000\001\000\002\000\-\003\000\000\000\001\000\001\000\001\000\001\000\003\000\001\000\-\002\000\003\000\002\000\002\000\002\000\003\000\000\000\003\000\-\001\000\001\000\002\000\000\000\001\000\002\000\004\000\000\000\-\001\000\003\000\004\000\000\000\001\000\002\000\003\000\001\000\-\003\000\000\000\001\000\002\000\005\000\004\000\003\000\002\000"--let yydefred = "\000\000\-\000\000\000\000\003\000\048\000\000\000\004\000\005\000\000\000\-\037\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-\000\000\000\000\007\000\000\000\012\000\013\000\014\000\000\000\-\000\000\000\000\000\000\000\000\027\000\029\000\000\000\019\000\-\000\000\020\000\021\000\000\000\000\000\000\000\011\000\000\000\-\017\000\033\000\000\000\000\000\000\000\015\000\000\000\000\000\-\000\000\047\000\000\000\000\000\001\000\009\000\000\000\026\000\-\025\000\000\000\018\000\000\000\000\000\000\000\043\000\000\000\-\000\000\046\000\000\000\022\000\031\000\041\000\035\000\039\000\-\045\000\000\000\024\000"--let yydgoto = "\002\000\-\004\000\005\000\008\000\010\000\018\000\019\000\020\000\040\000\-\021\000\022\000\023\000\024\000\025\000\041\000\026\000\044\000\-\042\000\068\000\029\000\030\000\048\000\049\000\064\000"--let yysindex = "\009\000\-\024\255\000\000\000\000\000\000\000\255\000\000\000\000\031\255\-\000\000\029\255\131\255\011\255\033\255\131\255\033\255\033\255\-\051\255\040\255\000\000\048\255\000\000\000\000\000\000\000\000\-\033\255\050\255\057\255\067\255\000\000\000\000\069\255\000\000\-\062\255\000\000\000\000\070\255\131\255\091\000\000\000\131\255\-\000\000\000\000\018\255\033\255\090\255\000\000\099\255\081\255\-\101\255\000\000\131\255\095\255\000\000\000\000\107\255\000\000\-\000\000\110\255\000\000\114\255\117\255\033\255\000\000\069\255\-\111\255\000\000\018\255\000\000\000\000\000\000\000\000\000\000\-\000\000\110\255\000\000"--let yyrindex = "\000\000\-\074\255\000\000\000\000\000\000\000\000\000\000\000\000\116\255\-\000\000\000\000\118\255\006\255\000\000\118\255\000\000\000\000\-\000\000\000\000\000\000\120\255\000\000\000\000\000\000\049\255\-\061\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-\000\000\000\000\000\000\073\255\118\255\000\000\000\000\122\255\-\000\000\000\000\000\000\097\255\032\255\000\000\023\255\000\000\-\022\255\000\000\118\255\000\000\000\000\000\000\006\255\000\000\-\000\000\085\255\000\000\000\000\000\000\109\255\000\000\124\255\-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-\000\000\085\255\000\000"--let yygindex = "\000\000\-\000\000\000\000\000\000\000\000\246\255\087\000\000\000\000\000\-\000\000\000\000\000\000\214\255\218\255\094\000\219\255\000\000\-\243\255\066\000\000\000\000\000\078\000\000\000\000\000"--let yytablesize = 147-let yytable = "\032\000\-\056\000\034\000\035\000\033\000\057\000\058\000\028\000\006\000\-\007\000\001\000\028\000\028\000\027\000\028\000\028\000\028\000\-\028\000\028\000\055\000\028\000\028\000\028\000\042\000\040\000\-\056\000\040\000\052\000\014\000\057\000\074\000\003\000\009\000\-\030\000\017\000\042\000\040\000\030\000\030\000\011\000\030\000\-\065\000\030\000\030\000\030\000\031\000\030\000\030\000\030\000\-\071\000\016\000\038\000\036\000\039\000\016\000\026\000\043\000\-\016\000\045\000\016\000\016\000\037\000\032\000\016\000\016\000\-\016\000\032\000\025\000\046\000\032\000\047\000\032\000\032\000\-\050\000\044\000\032\000\032\000\032\000\044\000\044\000\051\000\-\044\000\002\000\002\000\044\000\044\000\023\000\044\000\044\000\-\044\000\023\000\053\000\060\000\023\000\062\000\023\000\023\000\-\023\000\032\000\023\000\023\000\023\000\032\000\061\000\063\000\-\032\000\066\000\032\000\032\000\027\000\034\000\032\000\032\000\-\032\000\034\000\069\000\067\000\034\000\070\000\034\000\034\000\-\010\000\073\000\034\000\034\000\034\000\036\000\054\000\010\000\-\006\000\010\000\010\000\012\000\008\000\010\000\010\000\010\000\-\038\000\059\000\013\000\075\000\014\000\072\000\000\000\000\000\-\015\000\016\000\017\000"--let yycheck = "\013\000\-\043\000\015\000\016\000\014\000\043\000\043\000\001\001\008\001\-\009\001\001\000\005\001\006\001\002\001\008\001\004\001\010\001\-\011\001\012\001\001\001\014\001\015\001\016\001\001\001\001\001\-\067\000\003\001\037\000\010\001\067\000\067\000\007\001\001\001\-\001\001\016\001\013\001\013\001\005\001\006\001\010\001\008\001\-\051\000\010\001\011\001\012\001\012\001\014\001\015\001\016\001\-\062\000\001\001\011\001\001\001\005\001\005\001\006\001\006\001\-\008\001\001\001\010\001\011\001\010\001\001\001\014\001\015\001\-\016\001\005\001\006\001\001\001\008\001\001\001\010\001\011\001\-\011\001\001\001\014\001\015\001\016\001\005\001\006\001\010\001\-\008\001\008\001\009\001\011\001\012\001\001\001\014\001\015\001\-\016\001\005\001\000\000\002\001\008\001\013\001\010\001\011\001\-\012\001\001\001\014\001\015\001\016\001\005\001\004\001\003\001\-\008\001\011\001\010\001\011\001\002\001\001\001\014\001\015\001\-\016\001\005\001\001\001\006\001\008\001\001\001\010\001\011\001\-\001\001\011\001\014\001\015\001\016\001\010\001\040\000\008\001\-\011\001\010\001\011\001\001\001\011\001\014\001\015\001\016\001\-\013\001\044\000\008\001\074\000\010\001\064\000\255\255\255\255\-\014\001\015\001\016\001"--let yynames_const = "\-  COLON\000\-  COMMA\000\-  EQUAL\000\-  SEMICOLON\000\-  EDGEOP\000\-  STRICT\000\-  GRAPH\000\-  DIGRAPH\000\-  LBRA\000\-  RBRA\000\-  LSQ\000\-  RSQ\000\-  NODE\000\-  EDGE\000\-  SUBGRAPH\000\-  EOF\000\-  "--let yynames_block = "\-  ID\000\-  "--let yyact = [|-  (fun _ -> failwith "parser")-; (fun __caml_parser_env ->-    let _1 = (Parsing.peek_val __caml_parser_env 6 : 'strict_opt) in-    let _2 = (Parsing.peek_val __caml_parser_env 5 : 'graph_or_digraph) in-    let _3 = (Parsing.peek_val __caml_parser_env 4 : 'id_opt) in-    let _5 = (Parsing.peek_val __caml_parser_env 2 : 'stmt_list) in-    Obj.repr(-# 49 "src/dot_parser.mly"-    ( { strict = _1; digraph = _2; id = _3; stmts = _5 } )-# 199 "src/dot_parser.ml"-               : Dot_ast.file))-; (fun __caml_parser_env ->-    Obj.repr(-# 53 "src/dot_parser.mly"-                ( false )-# 205 "src/dot_parser.ml"-               : 'strict_opt))-; (fun __caml_parser_env ->-    Obj.repr(-# 54 "src/dot_parser.mly"-                ( true )-# 211 "src/dot_parser.ml"-               : 'strict_opt))-; (fun __caml_parser_env ->-    Obj.repr(-# 58 "src/dot_parser.mly"-          ( false )-# 217 "src/dot_parser.ml"-               : 'graph_or_digraph))-; (fun __caml_parser_env ->-    Obj.repr(-# 59 "src/dot_parser.mly"-          ( true )-# 223 "src/dot_parser.ml"-               : 'graph_or_digraph))-; (fun __caml_parser_env ->-    Obj.repr(-# 63 "src/dot_parser.mly"-                ( [] )-# 229 "src/dot_parser.ml"-               : 'stmt_list))-; (fun __caml_parser_env ->-    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'list1_stmt) in-    Obj.repr(-# 64 "src/dot_parser.mly"-                ( _1 )-# 236 "src/dot_parser.ml"-               : 'stmt_list))-; (fun __caml_parser_env ->-    let _1 = (Parsing.peek_val __caml_parser_env 1 : 'stmt) in-    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'semicolon_opt) in-    Obj.repr(-# 68 "src/dot_parser.mly"-                     ( [_1] )-# 244 "src/dot_parser.ml"-               : 'list1_stmt))-; (fun __caml_parser_env ->-    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'stmt) in-    let _2 = (Parsing.peek_val __caml_parser_env 1 : 'semicolon_opt) in-    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'list1_stmt) in-    Obj.repr(-# 69 "src/dot_parser.mly"-                                ( _1 :: _3 )-# 253 "src/dot_parser.ml"-               : 'list1_stmt))-; (fun __caml_parser_env ->-    Obj.repr(-# 73 "src/dot_parser.mly"-                ( () )-# 259 "src/dot_parser.ml"-               : 'semicolon_opt))-; (fun __caml_parser_env ->-    Obj.repr(-# 74 "src/dot_parser.mly"-                ( () )-# 265 "src/dot_parser.ml"-               : 'semicolon_opt))-; (fun __caml_parser_env ->-    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'node_stmt) in-    Obj.repr(-# 78 "src/dot_parser.mly"-            ( _1 )-# 272 "src/dot_parser.ml"-               : 'stmt))-; (fun __caml_parser_env ->-    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'edge_stmt) in-    Obj.repr(-# 79 "src/dot_parser.mly"-            ( _1 )-# 279 "src/dot_parser.ml"-               : 'stmt))-; (fun __caml_parser_env ->-    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'attr_stmt) in-    Obj.repr(-# 80 "src/dot_parser.mly"-            ( _1 )-# 286 "src/dot_parser.ml"-               : 'stmt))-; (fun __caml_parser_env ->-    let _1 = (Parsing.peek_val __caml_parser_env 2 : Dot_ast.id) in-    let _3 = (Parsing.peek_val __caml_parser_env 0 : Dot_ast.id) in-    Obj.repr(-# 81 "src/dot_parser.mly"-              ( Equal (_1, _3) )-# 294 "src/dot_parser.ml"-               : 'stmt))-; (fun __caml_parser_env ->-    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'subgraph) in-    Obj.repr(-# 82 "src/dot_parser.mly"-            ( Subgraph _1 )-# 301 "src/dot_parser.ml"-               : 'stmt))-; (fun __caml_parser_env ->-    let _1 = (Parsing.peek_val __caml_parser_env 1 : 'node_id) in-    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'attr_list_opt) in-    Obj.repr(-# 86 "src/dot_parser.mly"-                        ( Node_stmt (_1, _2) )-# 309 "src/dot_parser.ml"-               : 'node_stmt))-; (fun __caml_parser_env ->-    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'node) in-    let _2 = (Parsing.peek_val __caml_parser_env 1 : 'edge_rhs) in-    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'attr_list_opt) in-    Obj.repr(-# 90 "src/dot_parser.mly"-                              ( Edge_stmt (_1, _2, _3) )-# 318 "src/dot_parser.ml"-               : 'edge_stmt))-; (fun __caml_parser_env ->-    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'attr_list) in-    Obj.repr(-# 94 "src/dot_parser.mly"-                  ( Attr_graph _2 )-# 325 "src/dot_parser.ml"-               : 'attr_stmt))-; (fun __caml_parser_env ->-    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'attr_list) in-    Obj.repr(-# 95 "src/dot_parser.mly"-                  ( Attr_node _2 )-# 332 "src/dot_parser.ml"-               : 'attr_stmt))-; (fun __caml_parser_env ->-    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'attr_list) in-    Obj.repr(-# 96 "src/dot_parser.mly"-                  ( Attr_edge _2 )-# 339 "src/dot_parser.ml"-               : 'attr_stmt))-; (fun __caml_parser_env ->-    let _2 = (Parsing.peek_val __caml_parser_env 1 : 'node) in-    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'edge_rhs_opt) in-    Obj.repr(-# 100 "src/dot_parser.mly"-                           ( _2 :: _3 )-# 347 "src/dot_parser.ml"-               : 'edge_rhs))-; (fun __caml_parser_env ->-    Obj.repr(-# 104 "src/dot_parser.mly"-                ( [] )-# 353 "src/dot_parser.ml"-               : 'edge_rhs_opt))-; (fun __caml_parser_env ->-    let _2 = (Parsing.peek_val __caml_parser_env 1 : 'node) in-    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'edge_rhs_opt) in-    Obj.repr(-# 105 "src/dot_parser.mly"-                           ( _2 :: _3 )-# 361 "src/dot_parser.ml"-               : 'edge_rhs_opt))-; (fun __caml_parser_env ->-    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'node_id) in-    Obj.repr(-# 109 "src/dot_parser.mly"-           ( NodeId _1 )-# 368 "src/dot_parser.ml"-               : 'node))-; (fun __caml_parser_env ->-    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'subgraph) in-    Obj.repr(-# 110 "src/dot_parser.mly"-           ( NodeSub _1 )-# 375 "src/dot_parser.ml"-               : 'node))-; (fun __caml_parser_env ->-    let _1 = (Parsing.peek_val __caml_parser_env 1 : Dot_ast.id) in-    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'port_opt) in-    Obj.repr(-# 114 "src/dot_parser.mly"-              ( _1, _2 )-# 383 "src/dot_parser.ml"-               : 'node_id))-; (fun __caml_parser_env ->-    Obj.repr(-# 118 "src/dot_parser.mly"-                ( None )-# 389 "src/dot_parser.ml"-               : 'port_opt))-; (fun __caml_parser_env ->-    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'port) in-    Obj.repr(-# 119 "src/dot_parser.mly"-                ( Some _1 )-# 396 "src/dot_parser.ml"-               : 'port_opt))-; (fun __caml_parser_env ->-    let _2 = (Parsing.peek_val __caml_parser_env 0 : Dot_ast.id) in-    Obj.repr(-# 123 "src/dot_parser.mly"-           ( try PortC (compass_pt _2)-             with Invalid_argument _ -> PortId (_2, None) )-# 404 "src/dot_parser.ml"-               : 'port))-; (fun __caml_parser_env ->-    let _2 = (Parsing.peek_val __caml_parser_env 2 : Dot_ast.id) in-    let _4 = (Parsing.peek_val __caml_parser_env 0 : Dot_ast.id) in-    Obj.repr(-# 126 "src/dot_parser.mly"-      ( let cp = -  	  try compass_pt _4 with Invalid_argument _ -> raise Parse_error -	in-	PortId (_2, Some cp) )-# 415 "src/dot_parser.ml"-               : 'port))-; (fun __caml_parser_env ->-    Obj.repr(-# 133 "src/dot_parser.mly"-                ( [] )-# 421 "src/dot_parser.ml"-               : 'attr_list_opt))-; (fun __caml_parser_env ->-    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'attr_list) in-    Obj.repr(-# 134 "src/dot_parser.mly"-               ( _1 )-# 428 "src/dot_parser.ml"-               : 'attr_list_opt))-; (fun __caml_parser_env ->-    let _2 = (Parsing.peek_val __caml_parser_env 1 : 'a_list) in-    Obj.repr(-# 138 "src/dot_parser.mly"-                 ( [_2] )-# 435 "src/dot_parser.ml"-               : 'attr_list))-; (fun __caml_parser_env ->-    let _2 = (Parsing.peek_val __caml_parser_env 2 : 'a_list) in-    let _4 = (Parsing.peek_val __caml_parser_env 0 : 'attr_list) in-    Obj.repr(-# 139 "src/dot_parser.mly"-                           ( _2 :: _4 )-# 443 "src/dot_parser.ml"-               : 'attr_list))-; (fun __caml_parser_env ->-    Obj.repr(-# 143 "src/dot_parser.mly"-                ( None )-# 449 "src/dot_parser.ml"-               : 'id_opt))-; (fun __caml_parser_env ->-    let _1 = (Parsing.peek_val __caml_parser_env 0 : Dot_ast.id) in-    Obj.repr(-# 144 "src/dot_parser.mly"-                ( Some _1 )-# 456 "src/dot_parser.ml"-               : 'id_opt))-; (fun __caml_parser_env ->-    let _1 = (Parsing.peek_val __caml_parser_env 1 : 'equality) in-    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'comma_opt) in-    Obj.repr(-# 148 "src/dot_parser.mly"-                     ( [_1] )-# 464 "src/dot_parser.ml"-               : 'a_list))-; (fun __caml_parser_env ->-    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'equality) in-    let _2 = (Parsing.peek_val __caml_parser_env 1 : 'comma_opt) in-    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'a_list) in-    Obj.repr(-# 149 "src/dot_parser.mly"-                            ( _1 :: _3 )-# 473 "src/dot_parser.ml"-               : 'a_list))-; (fun __caml_parser_env ->-    let _1 = (Parsing.peek_val __caml_parser_env 0 : Dot_ast.id) in-    Obj.repr(-# 153 "src/dot_parser.mly"-     ( _1, None )-# 480 "src/dot_parser.ml"-               : 'equality))-; (fun __caml_parser_env ->-    let _1 = (Parsing.peek_val __caml_parser_env 2 : Dot_ast.id) in-    let _3 = (Parsing.peek_val __caml_parser_env 0 : Dot_ast.id) in-    Obj.repr(-# 154 "src/dot_parser.mly"-              ( _1, Some _3 )-# 488 "src/dot_parser.ml"-               : 'equality))-; (fun __caml_parser_env ->-    Obj.repr(-# 158 "src/dot_parser.mly"-                ( () )-# 494 "src/dot_parser.ml"-               : 'comma_opt))-; (fun __caml_parser_env ->-    Obj.repr(-# 159 "src/dot_parser.mly"-                ( () )-# 500 "src/dot_parser.ml"-               : 'comma_opt))-; (fun __caml_parser_env ->-    let _2 = (Parsing.peek_val __caml_parser_env 0 : Dot_ast.id) in-    Obj.repr(-# 164 "src/dot_parser.mly"-              ( SubgraphId _2 )-# 507 "src/dot_parser.ml"-               : 'subgraph))-; (fun __caml_parser_env ->-    let _2 = (Parsing.peek_val __caml_parser_env 3 : Dot_ast.id) in-    let _4 = (Parsing.peek_val __caml_parser_env 1 : 'stmt_list) in-    Obj.repr(-# 165 "src/dot_parser.mly"-                                  ( SubgraphDef (Some _2, _4) )-# 515 "src/dot_parser.ml"-               : 'subgraph))-; (fun __caml_parser_env ->-    let _3 = (Parsing.peek_val __caml_parser_env 1 : 'stmt_list) in-    Obj.repr(-# 166 "src/dot_parser.mly"-                               ( SubgraphDef (None, _3) )-# 522 "src/dot_parser.ml"-               : 'subgraph))-; (fun __caml_parser_env ->-    let _2 = (Parsing.peek_val __caml_parser_env 1 : 'stmt_list) in-    Obj.repr(-# 167 "src/dot_parser.mly"-                      ( SubgraphDef (None, _2) )-# 529 "src/dot_parser.ml"-               : 'subgraph))-(* Entry file *)-; (fun __caml_parser_env -> raise (Parsing.YYexit (Parsing.peek_val __caml_parser_env 0)))-|]-let yytables =-  { Parsing.actions=yyact;-    Parsing.transl_const=yytransl_const;-    Parsing.transl_block=yytransl_block;-    Parsing.lhs=yylhs;-    Parsing.len=yylen;-    Parsing.defred=yydefred;-    Parsing.dgoto=yydgoto;-    Parsing.sindex=yysindex;-    Parsing.rindex=yyrindex;-    Parsing.gindex=yygindex;-    Parsing.tablesize=yytablesize;-    Parsing.table=yytable;-    Parsing.check=yycheck;-    Parsing.error_function=parse_error;-    Parsing.names_const=yynames_const;-    Parsing.names_block=yynames_block }-let file (lexfun : Lexing.lexbuf -> token) (lexbuf : Lexing.lexbuf) =-   (Parsing.yyparse yytables 1 lexfun lexbuf : Dot_ast.file)
− external/ocamlgraph/src/dot_parser.mli
@@ -1,21 +0,0 @@-type token =-  | ID of (Dot_ast.id)-  | COLON-  | COMMA-  | EQUAL-  | SEMICOLON-  | EDGEOP-  | STRICT-  | GRAPH-  | DIGRAPH-  | LBRA-  | RBRA-  | LSQ-  | RSQ-  | NODE-  | EDGE-  | SUBGRAPH-  | EOF--val file :-  (Lexing.lexbuf  -> token) -> Lexing.lexbuf -> Dot_ast.file
− external/ocamlgraph/src/gml.ml
@@ -1,670 +0,0 @@-# 20 "src/gml.mll"-  --  open Lexing--  type value = -    | Int of int -    | Float of float-    | String of string-    | List of value_list--  and value_list = (string * value) list---# 16 "src/gml.ml"-let __ocaml_lex_tables = {-  Lexing.lex_base = -   "\000\000\252\255\253\255\114\000\002\000\007\000\228\000\086\001\-    \252\255\253\255\200\001\009\000\014\000\058\002\002\000\251\255\-    \252\255\001\000\080\000\102\000\194\000\216\000\052\001\071\001\-    \253\255\006\000";-  Lexing.lex_backtrk = -   "\255\255\255\255\255\255\003\000\000\000\001\000\255\255\255\255\-    \255\255\255\255\003\000\000\000\001\000\255\255\255\255\255\255\-    \255\255\004\000\001\000\000\000\004\000\255\255\001\000\255\255\-    \255\255\255\255";-  Lexing.lex_default = -   "\001\000\000\000\000\000\255\255\255\255\255\255\255\255\008\000\-    \000\000\000\000\255\255\255\255\255\255\255\255\015\000\000\000\-    \000\000\025\000\255\255\255\255\255\255\255\255\255\255\255\255\-    \000\000\025\000";-  Lexing.lex_trans = -   "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\004\000\004\000\004\000\004\000\004\000\000\000\004\000\-    \005\000\005\000\011\000\011\000\005\000\000\000\011\000\012\000\-    \012\000\000\000\000\000\012\000\000\000\000\000\000\000\000\000\-    \004\000\000\000\004\000\024\000\017\000\000\000\000\000\005\000\-    \024\000\011\000\000\000\000\000\000\000\020\000\012\000\020\000\-    \018\000\000\000\019\000\019\000\019\000\019\000\019\000\019\000\-    \019\000\019\000\019\000\019\000\000\000\000\000\000\000\000\000\-    \000\000\003\000\003\000\003\000\003\000\003\000\003\000\003\000\-    \003\000\003\000\003\000\003\000\003\000\003\000\003\000\003\000\-    \003\000\003\000\003\000\003\000\003\000\003\000\003\000\003\000\-    \003\000\003\000\003\000\000\000\000\000\016\000\000\000\000\000\-    \000\000\003\000\003\000\003\000\003\000\003\000\003\000\003\000\-    \003\000\003\000\003\000\003\000\003\000\003\000\003\000\003\000\-    \003\000\003\000\003\000\003\000\003\000\003\000\003\000\003\000\-    \003\000\003\000\003\000\005\000\005\000\000\000\000\000\005\000\-    \018\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\-    \018\000\018\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\005\000\000\000\018\000\021\000\019\000\019\000\-    \019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\-    \000\000\000\000\006\000\006\000\006\000\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\006\000\006\000\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\006\000\006\000\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\005\000\005\000\000\000\-    \018\000\005\000\019\000\019\000\019\000\019\000\019\000\019\000\-    \019\000\019\000\019\000\019\000\000\000\000\000\000\000\000\000\-    \002\000\255\255\255\255\023\000\005\000\023\000\255\255\000\000\-    \022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\-    \022\000\022\000\000\000\000\000\006\000\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\011\000\-    \011\000\000\000\000\000\011\000\022\000\022\000\022\000\022\000\-    \022\000\022\000\022\000\022\000\022\000\022\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\011\000\022\000\-    \022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\-    \022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\010\000\-    \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\-    \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\-    \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\-    \010\000\000\000\000\000\009\000\000\000\000\000\000\000\010\000\-    \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\-    \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\-    \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\-    \010\000\012\000\012\000\000\000\000\000\012\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\012\000\012\000\000\000\000\000\012\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\255\255\000\000\-    \000\000\000\000\012\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\013\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\013\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\013\000\013\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\013\000\013\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000";-  Lexing.lex_check = -   "\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\000\000\000\000\004\000\004\000\000\000\255\255\004\000\-    \005\000\005\000\011\000\011\000\005\000\255\255\011\000\012\000\-    \012\000\255\255\255\255\012\000\255\255\255\255\255\255\255\255\-    \000\000\255\255\004\000\017\000\014\000\255\255\255\255\005\000\-    \025\000\011\000\255\255\255\255\255\255\014\000\012\000\014\000\-    \014\000\255\255\014\000\014\000\014\000\014\000\014\000\014\000\-    \014\000\014\000\014\000\014\000\255\255\255\255\255\255\255\255\-    \255\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\255\255\255\255\014\000\255\255\255\255\-    \255\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\003\000\003\000\255\255\255\255\003\000\-    \018\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\-    \018\000\018\000\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\003\000\255\255\019\000\018\000\019\000\019\000\-    \019\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\-    \255\255\255\255\003\000\003\000\003\000\003\000\003\000\003\000\-    \003\000\003\000\003\000\003\000\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\003\000\003\000\003\000\003\000\003\000\-    \003\000\003\000\003\000\003\000\003\000\003\000\003\000\003\000\-    \003\000\003\000\003\000\003\000\003\000\003\000\003\000\003\000\-    \003\000\003\000\003\000\003\000\003\000\255\255\255\255\255\255\-    \255\255\255\255\255\255\003\000\003\000\003\000\003\000\003\000\-    \003\000\003\000\003\000\003\000\003\000\003\000\003\000\003\000\-    \003\000\003\000\003\000\003\000\003\000\003\000\003\000\003\000\-    \003\000\003\000\003\000\003\000\003\000\006\000\006\000\255\255\-    \020\000\006\000\020\000\020\000\020\000\020\000\020\000\020\000\-    \020\000\020\000\020\000\020\000\255\255\255\255\255\255\255\255\-    \000\000\017\000\014\000\021\000\006\000\021\000\025\000\255\255\-    \021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\-    \021\000\021\000\255\255\255\255\006\000\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\255\255\-    \255\255\255\255\255\255\255\255\255\255\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\007\000\-    \007\000\255\255\255\255\007\000\022\000\022\000\022\000\022\000\-    \022\000\022\000\022\000\022\000\022\000\022\000\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\007\000\023\000\-    \023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\-    \023\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\007\000\-    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\255\255\255\255\007\000\255\255\255\255\255\255\007\000\-    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\010\000\010\000\255\255\255\255\010\000\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \010\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\-    \010\000\010\000\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\010\000\010\000\010\000\010\000\010\000\010\000\010\000\-    \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\-    \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\-    \010\000\010\000\010\000\255\255\255\255\255\255\255\255\255\255\-    \255\255\010\000\010\000\010\000\010\000\010\000\010\000\010\000\-    \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\-    \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\-    \010\000\010\000\010\000\013\000\013\000\255\255\255\255\013\000\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\007\000\255\255\-    \255\255\255\255\013\000\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\013\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\013\000\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\013\000\013\000\255\255\255\255\255\255\-    \255\255\255\255\255\255\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\013\000\013\000\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255";-  Lexing.lex_base_code = -   "\000\000\000\000\000\000\075\000\000\000\000\000\150\000\208\000\-    \000\000\000\000\027\001\000\000\000\000\102\001\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000";-  Lexing.lex_backtrk_code = -   "\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000";-  Lexing.lex_default_code = -   "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000";-  Lexing.lex_trans_code = -   "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\-    \001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000";-  Lexing.lex_check_code = -   "\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\255\255\255\255\255\255\255\255\255\255\-    \255\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\-    \000\000\000\000\000\000\003\000\003\000\003\000\003\000\003\000\-    \003\000\003\000\003\000\003\000\003\000\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\003\000\003\000\003\000\003\000\-    \003\000\003\000\003\000\003\000\003\000\003\000\003\000\003\000\-    \003\000\003\000\003\000\003\000\003\000\003\000\003\000\003\000\-    \003\000\003\000\003\000\003\000\003\000\003\000\255\255\255\255\-    \255\255\255\255\255\255\255\255\003\000\003\000\003\000\003\000\-    \003\000\003\000\003\000\003\000\003\000\003\000\003\000\003\000\-    \003\000\003\000\003\000\003\000\003\000\003\000\003\000\003\000\-    \003\000\003\000\003\000\003\000\003\000\003\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\-    \006\000\255\255\255\255\255\255\255\255\255\255\255\255\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\-    \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\-    \006\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\255\255\255\255\255\255\255\255\255\255\-    \255\255\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\007\000\007\000\007\000\007\000\007\000\-    \007\000\007\000\007\000\010\000\010\000\010\000\010\000\010\000\-    \010\000\010\000\010\000\010\000\010\000\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\010\000\010\000\010\000\010\000\-    \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\-    \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\-    \010\000\010\000\010\000\010\000\010\000\010\000\255\255\255\255\-    \255\255\255\255\255\255\255\255\010\000\010\000\010\000\010\000\-    \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\-    \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\-    \010\000\010\000\010\000\010\000\010\000\010\000\013\000\013\000\-    \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\013\000\-    \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\255\255\255\255\255\255\255\255\255\255\255\255\013\000\-    \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\-    \013\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\-    \255\255\255\255\255\255\255\255\255\255\255\255\255\255";-  Lexing.lex_code = -   "\255\001\255\255\000\001\255";-}--let rec file lexbuf =-  lexbuf.Lexing.lex_mem <- Array.create 2 (-1) ;   __ocaml_lex_file_rec lexbuf 0-and __ocaml_lex_file_rec lexbuf __ocaml_lex_state =-  match Lexing.new_engine __ocaml_lex_tables __ocaml_lex_state lexbuf with-      | 0 ->-# 45 "src/gml.mll"-      ( file lexbuf )-# 425 "src/gml.ml"--  | 1 ->-let-# 46 "src/gml.mll"-              key-# 431 "src/gml.ml"-= Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos lexbuf.Lexing.lex_mem.(0) in-# 47 "src/gml.mll"-      ( let v = value lexbuf in-	(key, v) :: file lexbuf )-# 436 "src/gml.ml"--  | 2 ->-# 50 "src/gml.mll"-      ( [] )-# 441 "src/gml.ml"--  | 3 ->-let-# 51 "src/gml.mll"-         c-# 447 "src/gml.ml"-= Lexing.sub_lexeme_char lexbuf lexbuf.Lexing.lex_start_pos in-# 52 "src/gml.mll"-      ( failwith ("Gml: invalid character " ^ String.make 1 c) )-# 451 "src/gml.ml"--  | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_file_rec lexbuf __ocaml_lex_state--and value_list lexbuf =-  lexbuf.Lexing.lex_mem <- Array.create 2 (-1) ;   __ocaml_lex_value_list_rec lexbuf 7-and __ocaml_lex_value_list_rec lexbuf __ocaml_lex_state =-  match Lexing.new_engine __ocaml_lex_tables __ocaml_lex_state lexbuf with-      | 0 ->-# 56 "src/gml.mll"-      ( value_list lexbuf )-# 462 "src/gml.ml"--  | 1 ->-let-# 57 "src/gml.mll"-              key-# 468 "src/gml.ml"-= Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos lexbuf.Lexing.lex_mem.(0) in-# 58 "src/gml.mll"-      ( let v = value lexbuf in-	(key, v) :: value_list lexbuf )-# 473 "src/gml.ml"--  | 2 ->-# 61 "src/gml.mll"-      ( [] )-# 478 "src/gml.ml"--  | 3 ->-let-# 62 "src/gml.mll"-         c-# 484 "src/gml.ml"-= Lexing.sub_lexeme_char lexbuf lexbuf.Lexing.lex_start_pos in-# 63 "src/gml.mll"-      ( failwith ("Gml: invalid character " ^ String.make 1 c) )-# 488 "src/gml.ml"--  | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_value_list_rec lexbuf __ocaml_lex_state--and value lexbuf =-    __ocaml_lex_value_rec lexbuf 14-and __ocaml_lex_value_rec lexbuf __ocaml_lex_state =-  match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with-      | 0 ->-let-# 66 "src/gml.mll"-               i-# 500 "src/gml.ml"-= Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos lexbuf.Lexing.lex_curr_pos in-# 67 "src/gml.mll"-      ( Int (int_of_string i) )-# 504 "src/gml.ml"--  | 1 ->-let-# 68 "src/gml.mll"-            r-# 510 "src/gml.ml"-= Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos lexbuf.Lexing.lex_curr_pos in-# 69 "src/gml.mll"-      ( Float (float_of_string r) )-# 514 "src/gml.ml"--  | 2 ->-let-# 70 "src/gml.mll"-                      s-# 520 "src/gml.ml"-= Lexing.sub_lexeme lexbuf (lexbuf.Lexing.lex_start_pos + 1) (lexbuf.Lexing.lex_curr_pos + -1) in-# 71 "src/gml.mll"-      ( String s )-# 524 "src/gml.ml"--  | 3 ->-# 73 "src/gml.mll"-      ( let l = value_list lexbuf in List l )-# 529 "src/gml.ml"--  | 4 ->-let-# 74 "src/gml.mll"-         c-# 535 "src/gml.ml"-= Lexing.sub_lexeme_char lexbuf lexbuf.Lexing.lex_start_pos in-# 75 "src/gml.mll"-      ( failwith ("Gml: invalid character " ^ String.make 1 c) )-# 539 "src/gml.ml"--  | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_value_rec lexbuf __ocaml_lex_state--;;--# 77 "src/gml.mll"- --  let parse f =-    let c = open_in f in-    let lb = from_channel c in-    let v = file lb in-    close_in c;-    v--  module Parse-    (B : Builder.S)-    (L : sig val node : value_list -> B.G.V.label-	     val edge : value_list -> B.G.E.label end) = -  struct--    let create_graph l =-      let nodes = Hashtbl.create 97 in-      let g = B.empty () in-      (* 1st pass: create the nodes *)-      let g =-	List.fold_left -	  (fun g v -> match v with-	     | "node", List l ->-		 let n = B.G.V.create (L.node l) in-		 begin -		   try -		     let id = List.assoc "id" l in Hashtbl.add nodes id n-		   with Not_found -> -		     ()-		 end;-		 B.add_vertex g n-	     | _ -> -		 g)-	  g l-      in-      (* 2nd pass: add the edges *)-      List.fold_left-	(fun g v -> match v with-	   | "edge", List l ->-	       begin try-		 let source = List.assoc "source" l in-		 let target = List.assoc "target" l in-		 let nsource = Hashtbl.find nodes source in-		 let ntarget = Hashtbl.find nodes target in-		 let e = B.G.E.create nsource (L.edge l) ntarget in-		 B.add_edge_e g e-	       with Not_found ->-		 g-	       end-	   | _ ->-	       g)-	g l-	-    let parse f =-      match parse f with-	| ["graph", List l] -> create_graph l-	| _ -> invalid_arg "Gml.Parse.parse: not a graph file"-      -  end--  module Print-    (G : sig-       module V : sig-	 type t-	 val hash : t -> int-	 val equal : t -> t -> bool-	 type label-	 val label : t -> label-       end-       module E : sig-	 type t-	 type label-	 val src : t -> V.t-	 val dst : t -> V.t-	 val label : t -> label-       end-       type t-       val iter_vertex : (V.t -> unit) -> t -> unit-       val iter_edges_e : (E.t -> unit) -> t -> unit-     end)-    (L : sig-       val node : G.V.label -> value_list-       val edge : G.E.label -> value_list-     end) =-  struct--    open Format--    module H = Hashtbl.Make(G.V)--    let print fmt g =-      let nodes = H.create 97 in-      let cpt = ref 0 in-      let id n = -	try H.find nodes n-	with Not_found -> incr cpt; let id = !cpt in H.add nodes n id; id-      in-      fprintf fmt "@[graph [@\n";-      let rec value fmt = function-	| Int n -> fprintf fmt "%d" n-	| Float f -> fprintf fmt "%f" f-	| String s -> fprintf fmt "\"%s\"" s-	| List l -> fprintf fmt "[@\n  @[%a@]@\n]" value_list l-      and value_list fmt = function-	| [] -> ()-	| [s,v] -> fprintf fmt "%s %a" s value v-	| (s,v) :: l -> fprintf fmt "%s %a@\n" s value v; value_list fmt l-      in-      G.iter_vertex-	(fun v -> -	   fprintf fmt "  @[node [@\n  id %d@\n  @[%a@]@\n]@]@\n" -	     (id v) value_list (L.node (G.V.label v)))-	g;-      G.iter_edges_e-	(fun e ->-	   fprintf fmt -	     "  @[edge [@\n  source %d@\n  target %d@\n  @[%a@]@\n]@]@\n"-	     (id (G.E.src e)) (id (G.E.dst e)) -	     value_list (L.edge (G.E.label e)))-	g;-      fprintf fmt "]@\n"--  end---# 671 "src/gml.ml"
− external/ocamlgraph/src/version.ml
@@ -1,2 +0,0 @@-let version = "0.99b"-let date = "Tue May 19 21:41:16 UTC 2015"
liquid-fixpoint.cabal view
@@ -1,5 +1,5 @@ name:                liquid-fixpoint-version:             0.3.0.0+version:             0.3.0.1 Copyright:           2010-15 Ranjit Jhala, University of California, San Diego. synopsis:            Predicate Abstraction-based Horn-Clause/Implication Constraint Solver homepage:            https://github.com/ucsd-progsys/liquid-fixpoint@@ -72,6 +72,8 @@                   , external/fixpoint/fixpoint.native-i686-w64-mingw32                   , external/fixpoint/fixpoint.native-x86_64-darwin                   , external/fixpoint/fixpoint.native-x86_64-linux+                  , tests/neg/*.fq+                  , tests/pos/*.fq  Flag z3mem   Description: Link to Z3
+ tests/neg/test00.fq view
@@ -0,0 +1,31 @@++qualif Zog(v:a) : (10 <= v)+qualif Bog(v:a, x:a) : (x <= v)++bind 0 a : {v: int | $k0}++constraint:+  env [ ]+  grd true+  lhs {v : int | (v = 9)}+  rhs {v : int | $k0}+  id 1 ++constraint:+  env [ ]+  grd true +  lhs {v : int | v = 20}+  rhs {v : int | $k0}+  id 2 ++constraint:+  env [ 0+      ]+  grd true +  lhs {v : int | v = a}+  rhs {v : int | 10 <= v}+  id 3 ++wf:+  env [ ]+  reft {v: int | $k0}
+ tests/neg/test00a.fq view
@@ -0,0 +1,32 @@+// This qualifier saves the day; solve constraints WITHOUT IT++qualif Zog(v:a) : (10 <= v)++bind 0 x : {v : int | true}+bind 1 y : {v : int | true}+bind 2 z : {v : int | true}++constraint:+  env [0]+  grd true+  lhs {v : int | (x = 9)}+  rhs {v : int | $k0[v:=x]}+  id 1 ++constraint:+  env [1]+  grd true +  lhs {v : int | y = 20}+  rhs {v : int | $k0[v:=y]}+  id 2 ++constraint:+  env [2]+  grd true +  lhs {v : int | $k0[v:=z]}+  rhs {v : int | 10 <= z}+  id 3 ++wf:+  env [ ]+  reft {v: int | $k0}
+ tests/neg/test1.fq view
@@ -0,0 +1,32 @@++// This qualifier saves the day; solve constraints WITHOUT IT+qualif Zog(v:a) : (10 <= v)++bind 0 x : {v : int | v = 9}+bind 1 y : {v : int | v = 20}+bind 2 a : {v : int | $k0    }+      +constraint:+  env [0]+  grd true+  lhs {v : int | v = x}+  rhs {v : int | $k0   }+  id 1 ++constraint:+  env [1]+  grd true +  lhs {v : int | v = y}+  rhs {v : int | $k0   }+  id 2 ++constraint:+  env [2]+  grd true +  lhs {v : int | v = a  }+  rhs {v : int | 10 <= v}+  id 3 ++wf:+  env [ ]+  reft {v : int | $k0}
+ tests/neg/test2.fq view
@@ -0,0 +1,56 @@++// This qualifier saves the day; solve constraints WITHOUT IT+qualif Zog(v:a): (10 <= v)++// But you may use this one+qualif Pog(v:a): (0 <= v)++bind 0 x: {v: int | v = 9 }+bind 1 a: {v: int | $k1    }+bind 2 y: {v: int | v = 20}+bind 3 b: {v: int | $k1    }+bind 4 c: {v: int | $k0    }++constraint:+  env [ ]+  grd true+  lhs {v : int | v = 0}+  rhs {v : int | $k1 }+  id 0 +++constraint:+  env [ 0; 1]+  grd true+  lhs {v : int | v = x + a}+  rhs {v : int | $k0}+  id 1 ++constraint:+  env [2; 3]+  grd true +  lhs {v : int | v = y + b}+  rhs {v : int | $k0}+  id 2 ++constraint:+  env [ ]+  grd true +  lhs {v : int | $k0}+  rhs {v : int | $k1}+  id 3++constraint:+  env [4]+  grd true +  lhs {v : int | v = c  }+  rhs {v : int | 10 <= v}+  id 4 ++wf:+  env [ ]+  reft {v: int | $k0}++wf:+  env [ ]+  reft {v: int | $k1}
+ tests/neg/test3.fq view
@@ -0,0 +1,24 @@++qualif Zog(v:a, z:b) : (v = z)++bind 0 x : {v : int | true}+bind 1 q : {v : int | true}+bind 2 y : {v : int | v = 42}++constraint:+  env [1]+  grd true+  lhs {v : int | v = q}+  rhs {v : int | $k0[x:=q] }+  id 1 ++constraint:+  env [2]+  grd true+  lhs {v : int | $k0[x:=y]}+  rhs {v : int | v = 10}+  id 2++wf:+  env [0]+  reft {v : int | $k0}
+ tests/pos/test00.fq view
@@ -0,0 +1,31 @@++qualif Zog(v:a) : (10 <= v)+qualif Bog(v:a, x:a) : (x <= v)++bind 0 a : {v: int | [$k0]}++constraint:+  env [ ]+  grd true+  lhs {v : int | [v = 10]}+  rhs {v : int | [$k0]}+  id 1 ++constraint:+  env [ ]+  grd true +  lhs {v : int | [v = 20]}+  rhs {v : int | [$k0]}+  id 2 ++constraint:+  env [ 0+      ]+  grd true +  lhs {v : int | [v = a]}+  rhs {v : int | [10 <= v]}+  id 3 ++wf:+  env [ ]+  reft {v: int | [$k0]}
+ tests/pos/test00a.fq view
@@ -0,0 +1,33 @@+// This qualifier saves the day; solve constraints WITHOUT IT++qualif Zog(v:a) : (10 <= v)++bind 0 x : {v : int | true}+bind 1 y : {v : int | true}+bind 2 z : {v : int | true}++constraint:+  env [0]+  grd true+  lhs {v : int | (x = 10)}+  rhs {v : int | $k0[v:=x]}+  id 1 ++constraint:+  env [1]+  grd true +  lhs {v : int | y = 20}+  rhs {v : int | $k0[v:=y]}+  id 2 ++constraint:+  env [2]+  grd true +  lhs {v : int | $k0[v:=z]}+  rhs {v : int | 10 <= z}+  id 3 ++wf:+  env [ ]+  reft {v: int | $k0}+
+ tests/pos/test1.fq view
@@ -0,0 +1,32 @@++// This qualifier saves the day; solve constraints WITHOUT IT+qualif Zog(v:a) : (10 <= v)++bind 0 x : {v : int | v = 10}+bind 1 y : {v : int | v = 20}+bind 2 a : {v : int | $k0    }+      +constraint:+  env [0]+  grd true+  lhs {v : int | v = x}+  rhs {v : int | $k0   }+  id 1 ++constraint:+  env [1]+  grd true +  lhs {v : int | v = y}+  rhs {v : int | $k0   }+  id 2 ++constraint:+  env [2]+  grd true +  lhs {v : int | v = a  }+  rhs {v : int | 10 <= v}+  id 3 ++wf:+  env [ ]+  reft {v : int | $k0}
+ tests/pos/test2.fq view
@@ -0,0 +1,56 @@++// This qualifier saves the day; solve constraints WITHOUT IT+qualif Zog(v:a): (10 <= v)++// But you may use this one+qualif Pog(v:a): (0 <= v)++bind 0 x: {v: int | v = 10}+bind 1 a: {v: int | $k1    }+bind 2 y: {v: int | v = 20}+bind 3 b: {v: int | $k1    }+bind 4 c: {v: int | $k0    }++constraint:+  env [ ]+  grd true+  lhs {v : int | v = 0}+  rhs {v : int | $k1 }+  id 0 +++constraint:+  env [ 0; 1]+  grd true+  lhs {v : int | v = x + a}+  rhs {v : int | $k0}+  id 1 ++constraint:+  env [2; 3]+  grd true +  lhs {v : int | v = y + b}+  rhs {v : int | $k0}+  id 2 ++constraint:+  env [ ]+  grd true +  lhs {v : int | $k0}+  rhs {v : int | $k1}+  id 3++constraint:+  env [4]+  grd true +  lhs {v : int | v = c  }+  rhs {v : int | 10 <= v}+  id 4 ++wf:+  env [ ]+  reft {v: int | $k0}++wf:+  env [ ]+  reft {v: int | $k1}
+ tests/pos/test3.fq view
@@ -0,0 +1,24 @@++qualif Zog(v:a, z:b) : (v = z)++bind 0 x : {v : int | true}+bind 1 q : {v : int | true}+bind 2 y : {v : int | v = 10}++constraint:+  env [1]+  grd true+  lhs {v : int | v = q}+  rhs {v : int | $k0[x:=q] }+  id 1 ++constraint:+  env [2]+  grd true+  lhs {v : int | $k0[x:=y]}+  rhs {v : int | v = 10}+  id 2++wf:+  env [0]+  reft {v : int | $k0}
tests/test.hs view
@@ -18,6 +18,7 @@ import System.Exit import System.FilePath import System.IO+import System.IO.Error -- import qualified System.Posix as Posix import System.Process @@ -242,7 +243,7 @@ walkDirectory :: FilePath -> IO [FilePath] ---------------------------------------------------------------------------------------- walkDirectory root-  = do (ds,fs) <- partitionM doesDirectoryExist . candidates =<< getDirectoryContents root+  = do (ds,fs) <- partitionM doesDirectoryExist . candidates =<< (getDirectoryContents root `catchIOError` const (return []))        (fs++) <$> concatMapM walkDirectory ds   where     candidates fs = [root </> f | f <- fs, not (isExtSeparator (head f))]