aboutsummaryrefslogtreecommitdiff
path: root/src/Assembly/StringConversion.v
diff options
context:
space:
mode:
authorGravatar Robert Sloan <varomodt@gmail.com>2016-03-29 20:58:39 -0400
committerGravatar Robert Sloan <varomodt@gmail.com>2016-06-22 13:42:37 -0400
commit066875fdbd323d7190750a24f17b0ab6dc599578 (patch)
treea24e67ac880d9f6b16a33086606850fb916516f6 /src/Assembly/StringConversion.v
parent3d33bd49cb80f513dcbb38c77238cbe9a8d2ff3b (diff)
Module-based reorganization of Qhasm code
Diffstat (limited to 'src/Assembly/StringConversion.v')
-rw-r--r--src/Assembly/StringConversion.v30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/Assembly/StringConversion.v b/src/Assembly/StringConversion.v
new file mode 100644
index 000000000..0504ed3a6
--- /dev/null
+++ b/src/Assembly/StringConversion.v
@@ -0,0 +1,30 @@
+Require Export Qhasm Language Conversion.
+Require Export String.
+
+Module QhasmString <: Language.
+ Definition Program := string.
+ Definition State := unit.
+
+ Definition eval (p: Program) (s: State): option State := Some tt.
+End QhasmString.
+
+Module StringConversion <: Conversion Qhasm QhasmString.
+
+ Definition convertState (st: QhasmString.State): option Qhasm.State := None.
+
+ (* TODO (rsloan): Actually implement string conversion *)
+ Definition convertProgram (prog: Qhasm.Program): option string :=
+ Some EmptyString.
+
+ Lemma convert_spec: forall st' prog,
+ match ((convertProgram prog), (convertState st')) with
+ | (Some prog', Some st) =>
+ match (QhasmString.eval prog' st') with
+ | Some st'' => Qhasm.eval prog st = (convertState st'')
+ | _ => True
+ end
+ | _ => True
+ end.
+ Admitted.
+
+End StringConversion.