summaryrefslogtreecommitdiff
path: root/test/ocaml/loop
diff options
context:
space:
mode:
authorAlasdair Armstrong2017-10-09 19:01:36 +0100
committerAlasdair Armstrong2017-10-09 19:01:36 +0100
commit34d76d1234bfd3ecae1e3e39687d0d202c0fb02c (patch)
tree2c7d7cc1d13dde878f0c60a3d3b71169e901db67 /test/ocaml/loop
parentd3604c52e19e4e71965b5d96d6fab879bac7effc (diff)
Improvements to menhir pretty printer and ocaml backend
Menhir pretty printer can now print enough sail to be useful with ASL parser Fixity declarations are now preserved in the AST Menhir parser now runs without the Pre-lexer Ocaml backend now supports variant typedefs, as the machinery to generate arbitrary instances of variant types has been added to the -undefined_gen flag
Diffstat (limited to 'test/ocaml/loop')
-rw-r--r--test/ocaml/loop/expect100
-rw-r--r--test/ocaml/loop/loop.sail18
2 files changed, 118 insertions, 0 deletions
diff --git a/test/ocaml/loop/expect b/test/ocaml/loop/expect
new file mode 100644
index 00000000..190423f8
--- /dev/null
+++ b/test/ocaml/loop/expect
@@ -0,0 +1,100 @@
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
diff --git a/test/ocaml/loop/loop.sail b/test/ocaml/loop/loop.sail
new file mode 100644
index 00000000..5ab0e817
--- /dev/null
+++ b/test/ocaml/loop/loop.sail
@@ -0,0 +1,18 @@
+
+val extern int -> string effect pure string_of_int = "string_of_big_int"
+
+val extern (int, int) -> int effect pure add = "add"
+val extern (int, int) -> bool effect pure lt = "lt_int"
+
+overload (deinfix +) [add]
+overload (deinfix <) [lt]
+
+val unit -> unit effect pure main
+
+function main () = {
+ (int) x := 0;
+ while x < 100 do {
+ x := x + 1;
+ print(string_of_int(x))
+ }
+}