aboutsummaryrefslogtreecommitdiffstats
path: root/src/smtlib2/smtlib2_genConstr.ml
diff options
context:
space:
mode:
authorChantal Keller <Chantal.Keller@lri.fr>2016-03-02 17:31:47 +0100
committerChantal Keller <Chantal.Keller@lri.fr>2016-03-02 17:31:47 +0100
commit37f297b89f04155124237acf3d7f220a9dcd1544 (patch)
treeb5d89abd09f0093d070efdf7658b24d932d70986 /src/smtlib2/smtlib2_genConstr.ml
parent607c758e0220d8ba91eaf0e9e96b5ea71c5c6fd2 (diff)
downloadsmtcoq-37f297b89f04155124237acf3d7f220a9dcd1544.tar.gz
smtcoq-37f297b89f04155124237acf3d7f220a9dcd1544.zip
Code refactoring
Diffstat (limited to 'src/smtlib2/smtlib2_genConstr.ml')
-rw-r--r--src/smtlib2/smtlib2_genConstr.ml13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/smtlib2/smtlib2_genConstr.ml b/src/smtlib2/smtlib2_genConstr.ml
index f11d650..533f139 100644
--- a/src/smtlib2/smtlib2_genConstr.ml
+++ b/src/smtlib2/smtlib2_genConstr.ml
@@ -224,3 +224,16 @@ let declare_commands rt ro ra rf acc = function
let _ = declare_fun rt ro sym arg cod in acc
| CAssert (_, t) -> (make_root ra rf t)::acc
| _ -> acc
+
+
+(* Import function *)
+
+let import_smtlib2 rt ro ra rf filename =
+ let chan = open_in filename in
+ let lexbuf = Lexing.from_channel chan in
+ let commands = Smtlib2_parse.main Smtlib2_lex.token lexbuf in
+ close_in chan;
+ match commands with
+ | None -> []
+ | Some (Smtlib2_ast.Commands (_,(_,res))) ->
+ List.rev (List.fold_left (declare_commands rt ro ra rf) [] res)