diff options
| author | Alasdair Armstrong | 2017-10-09 19:01:36 +0100 |
|---|---|---|
| committer | Alasdair Armstrong | 2017-10-09 19:01:36 +0100 |
| commit | 34d76d1234bfd3ecae1e3e39687d0d202c0fb02c (patch) | |
| tree | 2c7d7cc1d13dde878f0c60a3d3b71169e901db67 /test/ocaml/loop | |
| parent | d3604c52e19e4e71965b5d96d6fab879bac7effc (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/expect | 100 | ||||
| -rw-r--r-- | test/ocaml/loop/loop.sail | 18 |
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)) + } +} |
