]> git.lizzy.rs Git - metalua.git/blobdiff - src/samples/xmatch_test.mlua
weaver sample: `Do{ } blocks fix; handling comments around AST
[metalua.git] / src / samples / xmatch_test.mlua
index de907e8cfca6f2a059a7d8b643f37b986d6d5b8d..f7c6d3e904ac55a65abb3c11ca678aee82530005 100755 (executable)
@@ -1,54 +1,54 @@
--{ extension 'xmatch' }\r
-\r
-WIDTH=60\r
-function p(msg) io.write(msg..' ':rep(WIDTH-#msg)) end\r
-\r
-----------------------------------------------------------------------\r
-p"match as an expression"\r
-print(match 1 with 1 -> 'ok' | 2 -> 'KO')\r
-\r
-----------------------------------------------------------------------\r
-p "global match function"\r
-match function g\r
-| x if x<10 -> return 'o'\r
-| _         -> return 'k'\r
-end\r
-print(g(1)..g(11))\r
-\r
-----------------------------------------------------------------------\r
-p "global match function, multi-args"\r
-match function cmp\r
-| x, y if x<y -> return 'increasing'\r
-| _, _        -> return 'decreasing'\r
-      end\r
-\r
-if cmp(1,2)=='increasing' and cmp(2,1)=='decreasing' then\r
-   print "ok" else print "KO"\r
-end\r
-\r
-----------------------------------------------------------------------\r
-p "local match function"\r
-do\r
-   local match function x\r
-   | 1 -> print 'ok'\r
-   end\r
-   x(1)\r
-end\r
-assert(not x)\r
-\r
-----------------------------------------------------------------------\r
-p "global bind assignment"\r
-bind {a, b} = {'o', 'k'}\r
-print(a..b)\r
-\r
-----------------------------------------------------------------------\r
-p "local bind assignment"\r
-c, d = 'k', 'o'\r
-do\r
-   local bind {c, {d}} = {'o', {'k'}}\r
-   print(c..d)\r
-end\r
-\r
-----------------------------------------------------------------------\r
-p "local bind assignment scope"\r
-print(d..c)\r
+-{ extension 'xmatch' }
+
+WIDTH=60
+function p(msg) io.write(msg..' ':rep(WIDTH-#msg)) end
+
+----------------------------------------------------------------------
+p"match as an expression"
+print(match 1 with 1 -> 'ok' | 2 -> 'KO')
+
+----------------------------------------------------------------------
+p "global match function"
+match function g
+| x if x<10 -> return 'o'
+| _         -> return 'k'
+end
+print(g(1)..g(11))
+
+----------------------------------------------------------------------
+p "global match function, multi-args"
+match function cmp
+| x, y if x<y -> return 'increasing'
+| _, _        -> return 'decreasing'
+      end
+
+if cmp(1,2)=='increasing' and cmp(2,1)=='decreasing' then
+   print "ok" else print "KO"
+end
+
+----------------------------------------------------------------------
+p "local match function"
+do
+   local match function x
+   | 1 -> print 'ok'
+   end
+   x(1)
+end
+assert(not x)
+
+----------------------------------------------------------------------
+p "global bind assignment"
+bind {a, b} = {'o', 'k'}
+print(a..b)
+
+----------------------------------------------------------------------
+p "local bind assignment"
+c, d = 'k', 'o'
+do
+   local bind {c, {d}} = {'o', {'k'}}
+   print(c..d)
+end
+
+----------------------------------------------------------------------
+p "local bind assignment scope"
+print(d..c)