From c9471630ad64af00a58a3c92f4b6a22f2194e9ee Mon Sep 17 00:00:00 2001 From: Alasdair Armstrong Date: Fri, 22 Mar 2019 16:14:23 +0000 Subject: C: Fix as-patterns in C output Most such patterns are re-written away by various re-writing steps, but for those that arn't they are fairly easy to handle by just having as patterns directly in the ANF-patterns. Fixes #39 --- test/c/anf_as_pattern.expect | 1 + test/c/anf_as_pattern.sail | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 test/c/anf_as_pattern.expect create mode 100644 test/c/anf_as_pattern.sail (limited to 'test') diff --git a/test/c/anf_as_pattern.expect b/test/c/anf_as_pattern.expect new file mode 100644 index 00000000..9766475a --- /dev/null +++ b/test/c/anf_as_pattern.expect @@ -0,0 +1 @@ +ok diff --git a/test/c/anf_as_pattern.sail b/test/c/anf_as_pattern.sail new file mode 100644 index 00000000..9b9196b1 --- /dev/null +++ b/test/c/anf_as_pattern.sail @@ -0,0 +1,19 @@ +default Order dec + +$include + +val "print_endline" : string -> unit + +function test () : unit -> option(int) = { + match Some(3) { + Some(_) as x => x, + _ => None() + } +} + +function main() : unit -> unit = { + match test() { + Some(3) => print_endline("ok"), + _ => print_endline("fail") + } +} \ No newline at end of file -- cgit v1.2.3