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 +0/−93
- external/ocamlgraph/.depend +108/−108
- external/ocamlgraph/src/dot_lexer.ml +0/−386
- external/ocamlgraph/src/dot_parser.ml +0/−551
- external/ocamlgraph/src/dot_parser.mli +0/−21
- external/ocamlgraph/src/gml.ml +0/−670
- external/ocamlgraph/src/version.ml +0/−2
- liquid-fixpoint.cabal +3/−1
- tests/neg/test00.fq +31/−0
- tests/neg/test00a.fq +32/−0
- tests/neg/test1.fq +32/−0
- tests/neg/test2.fq +56/−0
- tests/neg/test3.fq +24/−0
- tests/pos/test00.fq +31/−0
- tests/pos/test00a.fq +33/−0
- tests/pos/test1.fq +32/−0
- tests/pos/test2.fq +56/−0
- tests/pos/test3.fq +24/−0
- tests/test.hs +2/−1
− 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))]