]> Nishi Git Mirror - gwion.git/commitdiff
:art: Change comments
authorfennecdjay <astor.jeremie@wanadoo.fr>
Sat, 6 Jul 2019 13:30:03 +0000 (15:30 +0200)
committerfennecdjay <astor.jeremie@wanadoo.fr>
Sat, 6 Jul 2019 13:30:03 +0000 (15:30 +0200)
239 files changed:
ast
docs/01_Overview/00_First_Steps/01_InstallingGwion.mdr
docs/01_Overview/Testing.mdr
docs/01_Overview/declaration.mdr
docs/02_Reference/01_Functions/function.mdr
docs/09_Benchmarks.md [new file with mode: 0644]
docs/assets/benchmark/binary-trees.dat
docs/assets/benchmark/binary-trees.png
docs/assets/benchmark/fib-recurs.dat
docs/assets/benchmark/fib-recurs.png
docs/assets/benchmark/fib.dat
docs/assets/benchmark/fib.png
docs/assets/benchmark/method-call.dat
docs/assets/benchmark/method-call.png
tests/benchmark/binary-trees.gw
tests/benchmark/fib-recurs.gw
tests/bug/Tester.gw
tests/bug/class_doc.gw
tests/bug/do_while.gw
tests/bug/dot_member_func.gw
tests/bug/float.gw
tests/bug/float2.gw
tests/bug/ugen.gw
tests/error/0_size_variable.gw
tests/error/abstract.gw
tests/error/already_parent.gw
tests/error/arg_prim_ref.gw
tests/error/arg_res.gw
tests/error/array_assign_exp.gw
tests/error/array_depth_match.gw
tests/error/array_err2.gw
tests/error/array_err3.gw
tests/error/array_excess.gw
tests/error/array_incompatible.gw
tests/error/array_invalid.gw
tests/error/array_invalid1.gw
tests/error/array_multi_except.gw
tests/error/array_multi_oob.gw
tests/error/array_mutable.gw
tests/error/array_no_member.gw
tests/error/array_oob.gw
tests/error/array_oob_multi.gw
tests/error/array_type_match.gw
tests/error/auto_not_array.gw
tests/error/break_out.gw
tests/error/cant_find_in_nspc.gw
tests/error/case_const.gw
tests/error/case_not_const.gw
tests/error/case_postfix.gw
tests/error/cast_unknown.gw
tests/error/class_enum.gw
tests/error/class_inside.gw
tests/error/complex_too_big.gw
tests/error/conflict_super.gw
tests/error/const_arg.gw
tests/error/const_non_mutable.gw
tests/error/continue_out.gw
tests/error/default_case_defined.gw
tests/error/defined_class.gw
tests/error/divide_by_zero.gw
tests/error/dtor_outside_class.gw
tests/error/dup_case.gw
tests/error/empty_for.gw
tests/error/empty_member_ptr.gw
tests/error/empty_obj_data.gw
tests/error/enum_declared.gw
tests/error/enum_defined.gw
tests/error/enum_defined2.gw
tests/error/enum_defined3.gw
tests/error/enum_defined_var.gw
tests/error/error.gw
tests/error/ev.gw
tests/error/fail_assign.gw
tests/error/func_arg_array_empty.gw
tests/error/func_arg_defined.gw
tests/error/func_arg_unknown.gw
tests/error/func_code_error.gw
tests/error/func_error_scan2.gw
tests/error/func_no_match.gw
tests/error/func_non.gw
tests/error/func_ptr_empty.gw
tests/error/func_ret_array_empty.gw
tests/error/func_unknown_ret.gw
tests/error/function_arg_no_size.gw
tests/error/function_nested.gw
tests/error/function_ret_ref_prim.gw
tests/error/function_used.gw
tests/error/global_func_already_defined.gw
tests/error/if_exp_compat.gw
tests/error/if_exp_invalid_cond.gw
tests/error/invalid_array_acces.gw
tests/error/invalid_cast.gw
tests/error/invalid_for.gw
tests/error/invalid_return.gw
tests/error/invalid_switch.gw
tests/error/invalid_until.gw
tests/error/invalid_while.gw
tests/error/label_defined.gw
tests/error/label_defined_not_used.gw
tests/error/label_not_defined1.gw
tests/error/label_not_defined2.gw
tests/error/lambda_mismatch1.gw
tests/error/lambda_mismatch2.gw
tests/error/lambda_mismatch3.gw
tests/error/loop_not_int.gw
tests/error/member_from_static.gw
tests/error/modulo_zero.gw
tests/error/multi_decl.gw
tests/error/name_conflict.gw
tests/error/named_union_global_private.gw
tests/error/named_union_global_private_static.gw
tests/error/named_union_global_static.gw
tests/error/negative_array.gw
tests/error/negative_array2.gw
tests/error/new_empty_array.gw
tests/error/new_prim.gw
tests/error/no_cast.gw
tests/error/no_compat_sub.gw
tests/error/no_compat_sub2.gw
tests/error/no_member.gw
tests/error/non_function_template.gw
tests/error/not_legit.gw
tests/error/null_array_access.gw
tests/error/null_array_access_multi.gw
tests/error/null_auto.gw
tests/error/op_match.gw
tests/error/op_test.gw
tests/error/override_confict.gw
tests/error/override_static.gw
tests/error/override_static2.gw
tests/error/pointer_outside_class.gw
tests/error/pointer_unknown.gw
tests/error/pointer_unknown_arg.gw
tests/error/polar_invalid_mod.gw
tests/error/polar_invalid_ph.gw
tests/error/polar_too_big.gw
tests/error/postfix.gw
tests/error/postfix_const.gw
tests/error/postfix_no_match.gw
tests/error/prim_parent.gw
tests/error/prim_ref.gw
tests/error/private.gw
tests/error/private_func_call_out.gw
tests/error/private_func_nocall_out.gw
tests/error/private_func_out.gw
tests/error/private_global.gw
tests/error/private_other.gw
tests/error/provide_array.gw
tests/error/ptr_arg_0_size.gw
tests/error/ptr_arg_array.gw
tests/error/ptr_assign_global.gw
tests/error/ptr_assign_member.gw
tests/error/ptr_assign_other.gw
tests/error/ptr_defined.gw
tests/error/ptr_no_match.gw
tests/error/ptr_ref_prim.gw
tests/error/ptr_static_outside.gw
tests/error/ptr_static_outside2.gw
tests/error/recursive_class_def.gw
tests/error/return_out.gw
tests/error/right_mutable.gw
tests/error/spork_non_func.gw
tests/error/static_out.gw
tests/error/stray.gw
tests/error/template_class_no_type.gw
tests/error/template_enough.gw
tests/error/template_n_mismatch.gw
tests/error/template_no_match.gw
tests/error/template_non_member.gw
tests/error/template_ternary.gw
tests/error/template_unknown.gw
tests/error/this.gw
tests/error/this_instance.gw
tests/error/this_static.gw
tests/error/type_not_template.gw
tests/error/type_path_test.gw
tests/error/unary_times.gw
tests/error/undef_parent.gw
tests/error/union.gw
tests/error/union_array_empty.gw
tests/error/union_global_private.gw
tests/error/union_global_private_static.gw
tests/error/union_global_static.gw
tests/error/union_invalid.gw
tests/error/union_object_ref.gw
tests/error/union_unknown.gw
tests/error/unknown_escape.gw
tests/error/unknown_new.gw
tests/error/unknown_type.gw
tests/error/upper_label.gw
tests/error/var_defined.gw
tests/error/variadic_end_no_start.gw
tests/error/variadic_start_twice.gw
tests/error/variadic_test.gw
tests/error/vector_invalid.gw
tests/error/vector_too_big.gw
tests/error/without_instance.gw
tests/fptr/class_ptr01.gw
tests/fptr/class_ptr31.gw
tests/import/callback2.gw
tests/import/class_template.gw
tests/import/enum.gw
tests/import/static_string.gw
tests/new/break.gw
tests/new/global_func0.gw
tests/new/global_func1.gw
tests/new/lambda.gw
tests/new/lambda2.gw
tests/new/spork.gw
tests/new/spork_in_func.gw
tests/new/stackov.gw
tests/new/stackov2.gw
tests/new/static.gw
tests/pp/already_defined.gw
tests/pp/call_not_enough.gw
tests/pp/call_too_many.gw
tests/pp/conditional.gw
tests/pp/define_empty.gw
tests/pp/define_empty_args.gw
tests/pp/define_empty_vararg.gw
tests/pp/define_text.gw
tests/pp/define_text_args.gw
tests/pp/file_not_found.gw
tests/pp/include.gw
tests/pp/undefined_macro.gw
tests/tree/ast_doc.gw
tests/tree/cast_test.gw
tests/tree/class_dot.gw
tests/tree/class_template.gw
tests/tree/dot.gw
tests/tree/false.gw
tests/tree/member_op.gw
tests/tree/protect.gw
tests/tree/return_void.gw
tests/tree/shredule_test.gw
tests/tree/spork_in_func.gw
tests/tree/spork_member.gw
tests/tree/uncalled_functions.gw
tests/tree/vec_num_dim.gw

diff --git a/ast b/ast
index 6860cd22ad558e5efa3bb183fa71bf3c10bc80a7..1b4487bfbb845050d0b5c0ed1a1564c9edf4f7ec 160000 (submodule)
--- a/ast
+++ b/ast
@@ -1 +1 @@
-Subproject commit 6860cd22ad558e5efa3bb183fa71bf3c10bc80a7
+Subproject commit 1b4487bfbb845050d0b5c0ed1a1564c9edf4f7ec
index 1e7717b201450647b69db8c4af04e3e025a067d5..b64f42739a1ad39ee11bbc0272965be29848226f 100644 (file)
@@ -2,12 +2,12 @@
 
 ## Get the sources
 
-The source is accessible on [github](https://github.com).
+The source is accessible on [github](https:#!github.com).
 
 Provided you have git installed, you can get it with:
 
 ``` sh
-git clone https://github.com/fennecdjay/gwion
+git clone https:#!github.com/fennecdjay/gwion
 ```
 
 then change to the source directory
index 3c3a79dd2193268bbc9e4971a05f24fe4d44b46e..5dde62b4aa79079a0772c39c445c403ba0b0d693 100644 (file)
@@ -1,16 +1,16 @@
 # Tests
-[test.sh](https://github.com/fennecdjay/Gwion/blob/dev/util/test.sh)
-requires [valgrind](http://valgrind.org/) 
+[test.sh](https:#!github.com/fennecdjay/Gwion/blob/dev/util/test.sh)
+requires [valgrind](http:#!valgrind.org/) 
 there are two kinds of tests:
   * [gwion](#gwion-tests)
   * [bash](#bash-tests)
   
 ## Gwion tests
 those tests are just gwion (.gw) files, handling special comments:
-  * `// [skip]`     (*optionally* followed by reason to skip)
-  * `// [todo]`     (*optionally* followed by reason to delay testing)
-  * `// [contains]` followed by string to match
-  * `// [excludes]` followed by string not to match
+  * `#! [skip]`     (*optionally* followed by reason to skip)
+  * `#! [todo]`     (*optionally* followed by reason to delay testing)
+  * `#! [contains]` followed by string to match
+  * `#! [excludes]` followed by string not to match
 
 ## Shell test
 those tests are just bash (.sh) files.  
index 07e6d07b49bd39c537f0cee4c575d4c83994806e..79754b3123ee325fe41a3412a59d9ace03136421 100644 (file)
@@ -15,7 +15,7 @@ However ...
 @``` decl1.gw
 Object @ref;
 <<< "Reference points to no object yet: ", ref >>>;
-//Object o @=> ref;
+#!Object o @=> ref;
 new Object @=> ref;
 <<< "But now it does: ", ref >>>;
 @```
index e2a26cfa61fb62a3f01682c2fca9a05675b2da65..2fab4d37e1656ac2a4b79b00c6194cb839c389fe 100644 (file)
@@ -3,17 +3,17 @@
 ## a simple (commented example)
 
 @``` function0.gw
-// declare function 'test_function'
-// with return type int
-// taking an int as argument
+#! declare function 'test_function'
+#! with return type int
+#! taking an int as argument
 fun int test_function(int arg) {
-  // return the argument + 2
+  #! return the argument + 2
   return arg + 2;
 }
 
-// now call the function (and debug print the result)
+#! now call the function (and debug print the result)
 <<< test_function(0) >>>;
-// or use alternate syntax
+#! or use alternate syntax
 <<< 1 => test_function >>>;
 @```
 @exec make -s function0.test
diff --git a/docs/09_Benchmarks.md b/docs/09_Benchmarks.md
new file mode 100644 (file)
index 0000000..bc87638
--- /dev/null
@@ -0,0 +1,238 @@
+# Benchmarks
+
+We'll need a bash script
+
+<link rel=styleSheet href="../assets/doc.css" TYPE="text/css"><div id="org-categories"><ul class="lev1"><li><a href="#">Show the code</a></li><ul class="lev2"><a href="#">
+``` sh
+#!/bin/sh
+language=("gwion" "wren" "lua")
+extension=("gw" "wren" "lua")
+test_dir="tests/benchmark"
+plot_script="bench.plot"
+: "${repeats:=10}"
+
+run() {
+  perf stat -r"$repeats" "$1" "$test_dir/$3.$2" 2>&1 | grep "time elapsed" |
+    sed 's/ *\([0-9]*\),\([0-9]*\) .* seconds time elapsed *( +- *\([0-9]*\),\([0-9]*\)% )/\1.\2 \3.\4/'
+}
+
+get_list() {
+  for file in $test_dir/*.gw
+  do basename "$file" .gw
+  done
+}
+
+get_test() {
+  for (( i=0; i<=$(( ${#language[@]} -1 )); i++ ))
+  do echo "${language[$i]} $(run "${language[$i]}" "${extension[$i]}" "$1")"
+  done > "docs/assets/benchmark/$1.dat"
+}
+
+plot() {
+  gnuplot -e "bench='$1'" "$plot_script"
+}
+
+for bench in $(get_list)
+do
+echo $bench
+  get_test "$bench"
+  plot "$bench"
+  echo "### $bench"
+  echo '<link rel=styleSheet href="../assets/doc.css" TYPE="text/css"><div id="org-categories"><ul class="lev1"><li><a href="#">Show the code</a></li><ul class="lev2"><a href="#">'
+  echo "\`\`\`"
+  cat "$test_dir/$bench.gw"
+  echo "\`\`\`"
+  echo '</a></a></li></ul></ul></div>'
+  echo "![](assets/benchmark/$bench.png)"
+done
+```
+</a></a></li></ul></ul></div>
+
+### and a gnuplot script
+
+<link rel=styleSheet href="../assets/doc.css" TYPE="text/css"><div id="org-categories"><ul class="lev1"><li><a href="#">Show the code</a></li><ul class="lev2"><a href="#">
+``` plot
+set terminal png truecolor
+
+#if (!exists("bench"))
+#  bench = 'bench'
+if (!exists("test_dir"))
+  test_dir = 'tests/benchmark'
+
+dat_name = sprintf("docs/assets/benchmark/%s.dat", bench)
+
+stats dat_name using 0:2 noout
+max = STATS_max_y+(0.1*STATS_max_y)
+
+set title bench
+set output sprintf("docs/assets/benchmark/%s.png", bench)
+set xrange [-0.5:((ceil(STATS_max_x))+0.5)]
+set yrange [0:max]
+set boxwidth 0.50
+set nokey
+set xtics nomirror
+set ytics nomirror
+
+set style fill transparent solid 0.25 # partial transparency
+set style fill noborder # no separate top/bottom lines
+
+plot dat_name using 0:2:($2*($3/100.0)):xtic(2) with boxerrorbar lc "blue" notitle, \
+  '' using 0:(max-(0.05*max)):1 with labels
+```
+</a></a></li></ul></ul></div>
+
+## Show the results
+Then just run it
+binary-trees
+### binary-trees
+<link rel=styleSheet href="../assets/doc.css" TYPE="text/css"><div id="org-categories"><ul class="lev1"><li><a href="#">Show the code</a></li><ul class="lev2"><a href="#">
+```
+// Ported from the Wren version.
+
+class Tree {
+  int item;
+  Tree @left, right;
+
+  fun static Tree new_Tree(int it, int depth) {
+    Tree t;
+    it => t.item;
+    if (depth > 0) {
+      it + it => int item2;
+      --depth;
+      Tree.new_Tree(item2 - 1, depth) @=> t.left;
+      Tree.new_Tree(item2, depth) @=> t.right;
+    }
+    return t;
+  }
+
+  fun int check() {
+    if (!left)
+      return item;
+    return item + left.check() - right.check();
+  }
+}
+
+4 => int minDepth;
+12 => int maxDepth;
+maxDepth + 1 => int stretchDepth;
+
+<<< "stretch tree of depth ", stretchDepth, " check: ",
+  Tree.new_Tree(0, stretchDepth).check() >>>;
+
+Tree.new_Tree(0, maxDepth) @=> Tree@ longLivedTree;
+
+// iterations = 2 ** maxDepth
+1 => int iterations;
+for (int d; d < maxDepth; ++d)
+  2 *=> iterations;
+
+minDepth => int depth;
+while (depth < stretchDepth) {
+  int check;
+  for (int i; i < iterations; ++i)
+    Tree.new_Tree(i, depth).check() + Tree.new_Tree(-i, depth).check() +=> check;
+
+  <<< iterations * 2, " trees of depth ", depth, " check: ", check >>>;
+  4 /=> iterations;
+  2 +=> depth;
+}
+
+<<< "long lived tree of depth ", maxDepth, " check: ", longLivedTree.check() >>>;
+```
+</a></a></li></ul></ul></div>
+![](assets/benchmark/binary-trees.png)
+fib
+### fib
+<link rel=styleSheet href="../assets/doc.css" TYPE="text/css"><div id="org-categories"><ul class="lev1"><li><a href="#">Show the code</a></li><ul class="lev2"><a href="#">
+```
+class Fib {
+  fun static int get(int n) {
+    if (n < 2) return n;
+    return get(n - 1) + get(n - 2);
+  }
+}
+repeat(5)
+  <<< Fib.get(28) >>>;
+```
+</a></a></li></ul></ul></div>
+![](assets/benchmark/fib.png)
+fib-recurs
+### fib-recurs
+<link rel=styleSheet href="../assets/doc.css" TYPE="text/css"><div id="org-categories"><ul class="lev1"><li><a href="#">Show the code</a></li><ul class="lev2"><a href="#">
+```
+fun int recursive_fib(int n) {
+    if (n < 2)
+        return n;
+    else
+        return recursive_fib(n - 2) + recursive_fib(n - 1);
+}
+//<<< 5 => recursive_fib >>>;
+<<< 40 => recursive_fib >>>;
+```
+</a></a></li></ul></ul></div>
+![](assets/benchmark/fib-recurs.png)
+method-call
+### method-call
+<link rel=styleSheet href="../assets/doc.css" TYPE="text/css"><div id="org-categories"><ul class="lev1"><li><a href="#">Show the code</a></li><ul class="lev2"><a href="#">
+```
+class Toggle {
+  bool state;
+  fun bool value() { return state; }
+  fun Toggle activate() {
+    !state => state;
+    return this;
+  }
+}
+
+class NthToggle extends Toggle {
+  int count, countMax;
+  fun Toggle activate() {
+    if(++count >= countMax) {
+      (this $ Toggle).activate();
+      0 => count;
+    }
+    return this;
+  }
+}
+
+100000 => int n;
+
+Toggle toggle;
+true => bool val => toggle.state;
+
+repeat(n) {
+  toggle.activate().value() => val;
+  toggle.activate().value() => val;
+  toggle.activate().value() => val;
+  toggle.activate().value() => val;
+  toggle.activate().value() => val;
+  toggle.activate().value() => val;
+  toggle.activate().value() => val;
+  toggle.activate().value() => val;
+  toggle.activate().value() => val;
+  toggle.activate().value() => val;
+}
+
+<<< toggle.value() >>>;
+
+NthToggle ntoggle;
+true => val => ntoggle.state;
+3 => ntoggle.countMax;
+
+repeat(n) {
+  ntoggle.activate().value() => val;
+  ntoggle.activate().value() => val;
+  ntoggle.activate().value() => val;
+  ntoggle.activate().value() => val;
+  ntoggle.activate().value() => val;
+  ntoggle.activate().value() => val;
+  ntoggle.activate().value() => val;
+  ntoggle.activate().value() => val;
+  ntoggle.activate().value() => val;
+  ntoggle.activate().value() => val;
+}
+
+<<< ntoggle.value() >>>;
+```
+</a></a></li></ul></ul></div>
+![](assets/benchmark/method-call.png)
index fb8e99ce68fa8606c8e62f0f6d2928867ee6915d..b1e8e6f56896c8cb57b77a1ae9568c8a07fddb33 100644 (file)
@@ -1,3 +1,3 @@
-gwion 0.191172 0.51
-wren 0.23937 0.44
-lua 0.30958 0.46
+gwion 0.18819 0.63
+wren 0.24076 2.13
+lua 0.32172 0.82
index 61bef3ec6039069d5aeda98ab419d7e4b3907c79..26a4742220992df87a1481a0c21515c3c0bad71b 100644 (file)
Binary files a/docs/assets/benchmark/binary-trees.png and b/docs/assets/benchmark/binary-trees.png differ
index 2a8f7e6bec3324ec464e03e26bb14e27175c327b..0d9504d64268775e3139feb595cb78d6f56be432 100644 (file)
@@ -1,3 +1,3 @@
-gwion 5.3121 0.52
-wren 13.5283 0.47
-lua 7.4075 0.63
+gwion 5.4137 0.34
+wren 13.5268 0.22
+lua 7.2720 0.33
index 085ab844c176b8f8eab80f9694413443f9a3743f..7b7cc503459669a49970f4f9e253f8428482a9b5 100644 (file)
Binary files a/docs/assets/benchmark/fib-recurs.png and b/docs/assets/benchmark/fib-recurs.png differ
index fa2a73ca1bd984f44673037dd736afb0d4ab5752..92e1c1ff494f692ba6f5a592b1c35be4f9df9f6c 100644 (file)
@@ -1,3 +1,3 @@
-gwion 0.086447 0.50
-wren 0.22208 0.66
-lua 0.21990 0.76
+gwion 0.086401 0.30
+wren 0.220461 0.23
+lua 0.22028 0.93
index 67fe777e040039018546cf8c31553c71d7f5b1de..4cafb8af470e55c3d27a4db70678cbe336cb0e57 100644 (file)
Binary files a/docs/assets/benchmark/fib.png and b/docs/assets/benchmark/fib.png differ
index 721144b65587206db7337fe8b82efcabf1889ccc..efe2c151dc72e741dd76617382de54a7bceaa95c 100644 (file)
@@ -1,3 +1,3 @@
-gwion 0.091942 0.20
-wren 0.108581 0.42
-lua 0.25822 1.11
+gwion 0.091115 0.35
+wren 0.107178 0.46
+lua 0.25818 1.72
index 90dfb94feb34d3f7a4953e29d037337396866c68..e95476e58eae0450e5cb36a0cddf24c8aeb68e8c 100644 (file)
Binary files a/docs/assets/benchmark/method-call.png and b/docs/assets/benchmark/method-call.png differ
index ad6013b46c9b768863a752397d28ba306e07343b..af3486c1de4f8999bde2eafca944e6e56175f2f1 100644 (file)
@@ -1,4 +1,4 @@
-// Ported from the Wren version.
+#! Ported from the Wren version.
 
 class Tree {
   int item;
@@ -32,7 +32,7 @@ maxDepth + 1 => int stretchDepth;
 
 Tree.new_Tree(0, maxDepth) @=> Tree@ longLivedTree;
 
-// iterations = 2 ** maxDepth
+#! iterations = 2 ** maxDepth
 1 => int iterations;
 for (int d; d < maxDepth; ++d)
   2 *=> iterations;
index cb667e967a50791d9e840604d7ccd39e30c620d6..be2c4ab7162d604f16b198791a707eb18f305937 100644 (file)
@@ -4,5 +4,5 @@ fun int recursive_fib(int n) {
     else
         return recursive_fib(n - 2) + recursive_fib(n - 1);
 }
-//<<< 5 => recursive_fib >>>;
+#!<<< 5 => recursive_fib >>>;
 <<< 40 => recursive_fib >>>;
index bba45d65f6ccfbb9308ee3da36ac6a0d74504bf6..ad9e9ab71b24917ed53839c84088770d1c991b48 100644 (file)
@@ -8,8 +8,8 @@ Tester t;
 Object o;
 Object @ref;
 "test" => string s;
-//<<< t.assert_equal("test", 1, 1) >>>;
-//<<< t.assert_equal("test", 2, 1) >>>;
+#!<<< t.assert_equal("test", 1, 1) >>>;
+#!<<< t.assert_equal("test", 2, 1) >>>;
 <<< t.assert_equal(s, 1, 1) >>>;
 <<< t.assert_equal(s, 2, 1 + 1) >>>;
 <<< t.assert_equal(s, 2, 1) >>>;
index 7946c2ff06ee7526165792250840242c04cff1b6..f4598a8c56c3f2f3380d3c4e3386a660d7e39b13 100644 (file)
@@ -1,11 +1,11 @@
-//! doc for class 'C'
+#!! doc for class 'C'
 class C
 {
-       //! has an int
+       #!! has an int
        int i;
-       //! a fun
+       #!! a fun
        fun void test() {}
-       //! operator
+       #!! operator
        operator => void(C c, C d){
       <<< c, " ", d >>>;
     }
index a93a5cf1a15fe3b942e135c3d7239a88aa579f21..83573d25376ddd221aa285eccbaa2a818a9a57e8 100644 (file)
@@ -2,9 +2,9 @@
 do { <<< i-- >>>; } while(i);
 5 => float f;
 do { <<<  1 -=> f  >>>; } while(f > 0.0);
-// do { <<<  1 -=> f  >>>; } while(f > 0);
+#! do { <<<  1 -=> f  >>>; } while(f > 0);
 5 => f;
 do { <<<  1 -=> f  >>>; } until(f == 0);
-//do { <<<  1 -=> f  >>>; } until(f == 0.0);
+#!do { <<<  1 -=> f  >>>; } until(f == 0.0);
 5 => i;
 do { <<<  i--  >>>; } until(!i);
index c3df878a54e01461008a82bcd0d4f40a05966e8b..24a85023dc61470d01eacc742bcc0dac797fe4a2 100644 (file)
@@ -1,4 +1,4 @@
-// thanks to afl-fuzz
+#! thanks to afl-fuzz
 SinOsc@s, t;
 Gain g => dac;
 1 => t.freq;
index 7197eed75a09074e2a39885eebfda18a10ebad4b..7dddd43dc69e9988806d300932f577f02df9e665 100644 (file)
-// coverage for 'float'. (generated by util/coverage.sh)
+#! coverage for 'float'. (generated by util/coverage.sh)
 
 float a;
 
-//testing operator for float and float
+#!testing operator for float and float
 {
        float   variable1;
        float   variable2;
 <<<  variable1=variable2  >>>;
 }
 
-//testing operator for float and float
+#!testing operator for float and float
 {
        float   variable1;
        float   variable2;
 <<<  variable1+variable2  >>>;
 }
 
-//testing operator for float and float
+#!testing operator for float and float
 {
        float   variable1;
        float   variable2;
 <<<  variable1-variable2  >>>;
 }
 
-//testing operator for float and float
+#!testing operator for float and float
 {
        float   variable1;
        float   variable2;
 <<<  variable1*variable2  >>>;
 }
 
-//testing operator for float and float
+#!testing operator for float and float
 {
        float   variable1;
        1 => float      variable2;
 <<<  variable1/variable2  >>>;
 }
 
-//testing operator for float and float
+#!testing operator for float and float
 {
        float   variable1;
        float   variable2;
 <<<  variable1&&variable2  >>>;
 }
 
-//testing operator for float and float
+#!testing operator for float and float
 {
        float   variable1;
        float   variable2;
 <<<  variable1||variable2  >>>;
 }
 
-//testing operator for float and float
+#!testing operator for float and float
 {
        float   variable1;
        float   variable2;
 <<<  variable1==variable2  >>>;
 }
 
-//testing operator for float and float
+#!testing operator for float and float
 {
        float   variable1;
        float   variable2;
 <<<  variable1!=variable2  >>>;
 }
 
-//testing operator for float and float
+#!testing operator for float and float
 {
        float   variable1;
        float   variable2;
 <<<  variable1>variable2  >>>;
 }
 
-//testing operator for float and float
+#!testing operator for float and float
 {
        float   variable1;
        float   variable2;
 <<<  variable1>=variable2  >>>;
 }
 
-//testing operator for float and float
+#!testing operator for float and float
 {
        float   variable1;
        float   variable2;
 <<<  variable1<variable2  >>>;
 }
 
-//testing operator for float and float
+#!testing operator for float and float
 {
        float   variable1;
        float   variable2;
 <<<  variable1<=variable2  >>>;
 }
 
-//testing operator for  and float
+#!testing operator for  and float
 {
        float   variable2;
 <<<  -variable2  >>>;
 }
 
-//testing operator for  and int
+#!testing operator for  and int
 {
        int     variable2;
 <<<  !variable2  >>>;
 }
 
-//testing operator for float and float
+#!testing operator for float and float
 {
        float   variable1;
        float   variable2;
 <<<  variable1=>variable2  >>>;
 }
 
-//testing operator for float and float
+#!testing operator for float and float
 {
        float   variable1;
        float   variable2;
 <<<  variable1+=>variable2  >>>;
 }
 
-//testing operator for float and float
+#!testing operator for float and float
 {
        float   variable1;
        float   variable2;
 <<<  variable1-=>variable2  >>>;
 }
 
-//testing operator for float and float
+#!testing operator for float and float
 {
        float   variable1;
        float   variable2;
 <<<  variable1*=>variable2  >>>;
 }
-//testing operator for float and float
+#!testing operator for float and float
 {
        float   variable1;
        float   variable2;
 <<<  variable1/=>variable2  >>>;
 }
 
-//testing operator for int and float
+#!testing operator for int and float
 {
        int     variable1;
        float   variable2;
 <<<  variable1=variable2  >>>;
 }
 
-//testing operator for int and float
+#!testing operator for int and float
 {
        int     variable1;
        float   variable2;
 <<<  variable1+variable2  >>>;
 }
 
-//testing operator for int and float
+#!testing operator for int and float
 {
        int     variable1;
        float   variable2;
 <<<  variable1-variable2  >>>;
 }
 
-//testing operator for int and float
+#!testing operator for int and float
 {
        int     variable1;
        float   variable2;
 <<<  variable1*variable2  >>>;
 }
 
-//testing operator for int and float
+#!testing operator for int and float
 {
        int     variable1;
        float   variable2;
 <<<  variable1/variable2  >>>;
 }
 
-//testing operator for int and float
+#!testing operator for int and float
 {
        int     variable1;
        float   variable2;
 <<<  variable1&&variable2  >>>;
 }
 
-//testing operator for int and float
+#!testing operator for int and float
 {
        int     variable1;
        float   variable2;
 <<<  variable1||variable2  >>>;
 }
 
-//testing operator for int and float
+#!testing operator for int and float
 {
        int     variable1;
        float   variable2;
 <<<  variable1==variable2  >>>;
 }
 
-//testing operator for int and float
+#!testing operator for int and float
 {
        int     variable1;
        float   variable2;
 <<<  variable1!=variable2  >>>;
 }
 
-//testing operator for int and float
+#!testing operator for int and float
 {
        int     variable1;
        float   variable2;
 <<<  variable1>variable2  >>>;
 }
 
-//testing operator for int and float
+#!testing operator for int and float
 {
        int     variable1;
        float   variable2;
 <<<  variable1>=variable2  >>>;
 }
 
-//testing operator for int and float
+#!testing operator for int and float
 {
        int     variable1;
        float   variable2;
 <<<  variable1<variable2  >>>;
 }
 
-//testing operator for int and float
+#!testing operator for int and float
 {
        int     variable1;
        float   variable2;
 <<<  variable1<=variable2  >>>;
 }
 
-//testing operator for int and float
+#!testing operator for int and float
 {
        int     variable1;
        float   variable2;
 <<<  variable1=>variable2  >>>;
 }
 
-//testing operator for int and float
+#!testing operator for int and float
 {
        int     variable1;
        float   variable2;
 <<<  variable1+=>variable2  >>>;
 }
 
-//testing operator for int and float
+#!testing operator for int and float
 {
        int     variable1;
        float   variable2;
 <<<  variable1-=>variable2  >>>;
 }
 
-//testing operator for int and float
+#!testing operator for int and float
 {
        int     variable1;
        float   variable2;
 <<<  variable1*=>variable2  >>>;
 }
 
-//testing operator for int and float
+#!testing operator for int and float
 {
        int     variable1;
        float   variable2;
 <<<  variable1/=>variable2  >>>;
 }
 
-//testing operator for float and int
+#!testing operator for float and int
 {
        float   variable1;
        int     variable2;
 <<<  variable1+variable2  >>>;
 }
 
-//testing operator for float and int
+#!testing operator for float and int
 {
        float   variable1;
        int     variable2;
 <<<  variable1-variable2  >>>;
 }
 
-//testing operator for float and int
+#!testing operator for float and int
 {
        float   variable1;
        int     variable2;
 <<<  variable1*variable2  >>>;
 }
 
-//testing operator for float and int
+#!testing operator for float and int
 {
        float   variable1;
        int     variable2;
 <<<  variable1/variable2  >>>;
 }
 
-//testing operator for float and int
+#!testing operator for float and int
 {
        float   variable1;
        int     variable2;
 <<<  variable1&&variable2  >>>;
 }
 
-//testing operator for float and int
+#!testing operator for float and int
 {
        float   variable1;
        int     variable2;
 <<<  variable1||variable2  >>>;
 }
 
-//testing operator for float and int
+#!testing operator for float and int
 {
        float   variable1;
        int     variable2;
 <<<  variable1==variable2  >>>;
 }
 
-//testing operator for float and int
+#!testing operator for float and int
 {
        float   variable1;
        int     variable2;
 <<<  variable1!=variable2  >>>;
 }
 
-//testing operator for float and int
+#!testing operator for float and int
 {
        float   variable1;
        int     variable2;
 <<<  variable1>variable2  >>>;
 }
 
-//testing operator for float and int
+#!testing operator for float and int
 {
        float   variable1;
        int     variable2;
 <<<  variable1>=variable2  >>>;
 }
 
-//testing operator for float and int
+#!testing operator for float and int
 {
        float   variable1;
        int     variable2;
 <<<  variable1<variable2  >>>;
 }
 
-//testing operator for float and int
+#!testing operator for float and int
 {
        float   variable1;
        int     variable2;
 <<<  variable1<=variable2  >>>;
 }
 
-//testing operator for dur and dur
+#!testing operator for dur and dur
 {
        dur     variable1;
        dur     variable2;
 <<<  variable1=>variable2  >>>;
 }
 
-//testing operator for dur and dur
+#!testing operator for dur and dur
 {
        dur     variable1;
        dur     variable2;
 <<<  variable1+variable2  >>>;
 }
 
-//testing operator for dur and dur
+#!testing operator for dur and dur
 {
        dur     variable1;
        dur     variable2;
 <<<  variable1-variable2  >>>;
 }
 
-//testing operator for dur and dur
+#!testing operator for dur and dur
 {
        dur     variable1;
        dur     variable2;
 <<<  variable1*variable2  >>>;
 }
 
-//testing operator for dur and float
+#!testing operator for dur and float
 {
        dur     variable1;
        float   variable2;
 <<<  variable1*variable2  >>>;
 }
 
-//testing operator for dur and dur
+#!testing operator for dur and dur
 {
        dur     variable1;
        dur     variable2;
 <<<  variable1/variable2  >>>;
 }
 
-//testing operator for dur and float
+#!testing operator for dur and float
 {
        dur     variable1;
        float   variable2;
 <<<  variable1/variable2  >>>;
 }
 
-//testing operator for dur and dur
+#!testing operator for dur and dur
 {
        dur     variable1;
        dur     variable2;
 <<<  variable1>variable2  >>>;
 }
 
-//testing operator for dur and dur
+#!testing operator for dur and dur
 {
        dur     variable1;
        dur     variable2;
 <<<  variable1>=variable2  >>>;
 }
 
-//testing operator for dur and dur
+#!testing operator for dur and dur
 {
        dur     variable1;
        dur     variable2;
 <<<  variable1<variable2  >>>;
 }
 
-//testing operator for dur and dur
+#!testing operator for dur and dur
 {
        dur     variable1;
        dur     variable2;
 <<<  variable1<=variable2  >>>;
 }
 
-//testing operator for time and time
+#!testing operator for time and time
 {
        time    variable1;
        time    variable2;
 <<<  variable1=>variable2  >>>;
 }
 
-//testing operator for dur and time
+#!testing operator for dur and time
 {
        dur     variable1;
        time    variable2;
 <<<  variable1=>variable2  >>>;
 }
 
-//testing operator for dur and 
+#!testing operator for dur and 
 {
        dur     variable1;
 <<<  variable1=> now >>>;
 }
 
-//testing operator for time and dur
+#!testing operator for time and dur
 {
        time    variable1;
        dur     variable2;
 <<<  variable1+variable2  >>>;
 }
 
-//testing operator for dur and time
+#!testing operator for dur and time
 {
        dur     variable1;
        time    variable2;
 <<<  variable1+variable2  >>>;
 }
 
-//testing operator for time and time
+#!testing operator for time and time
 {
        time    variable1;
        time    variable2;
 <<<  variable1>variable2  >>>;
 }
 
-//testing operator for time and time
+#!testing operator for time and time
 {
        time    variable1;
        time    variable2;
 <<<  variable1>=variable2  >>>;
 }
 
-//testing operator for time and time
+#!testing operator for time and time
 {
        time    variable1;
        time    variable2;
 <<<  variable1<variable2  >>>;
 }
 
-//testing operator for time and time
+#!testing operator for time and time
 {
        time    variable1;
        time    variable2;
index 33120f40e33336116c0c93a2bb94dc183d56ef28..59f8352c1a6f4b0378e4afc07acdb5fd2edf0131 100644 (file)
@@ -64,8 +64,8 @@ float f,g;
 <<<  0.0 || i  >>>;
 
 
-//<<<  1.0 == i  >>>;
-//<<<  1.0 != i  >>>;
+#!<<<  1.0 == i  >>>;
+#!<<<  1.0 != i  >>>;
 
 
 <<<  1.0 +=> i  >>>;
index 00249b96ef48b7cd9d962a83edb685705be71b60..4329690a6b1e12af972b405c6a97aa850b0a8c7c 100644 (file)
@@ -1,21 +1,21 @@
 UGen @u;
-//u.last(); // should fail => fails.
+#!u.last(); // should fail => fails.
 SinOsc s => Gain g => dac;
 for(-1 => int i;i < 6; i++)
        i => g.op;
 samp => now;
 s.last();
-//s.chan(2);
-//dac.chan(1);
+#!s.chan(2);
+#!dac.chan(1);
 samp => now;
 
 
-// there a bug somewhere.
-// probably deref 'dac' to many mul  ...
-//dac => blackhole;
-//dac =< blackhole;
-//dac =< s;
-//dac =< s;
+#! there a bug somewhere.
+#! probably deref 'dac' to many mul  ...
+#!dac => blackhole;
+#!dac =< blackhole;
+#!dac =< s;
+#!dac =< s;
 s =< dac;
 s =< dac;
-//dac =< s;
+#!dac =< s;
index d5e4e8d96e66047439d00edcc99e53cd06766789..11ca4d63c0ef6c2c1efaf33d9852951d5f28b3eb 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] cannot
+#! [contains] cannot
 void this_won_t_work;
index 38421718d3933357e17df7fdcfe9c09ae2879684..19930d171a51e3e6e85a085069310bfc9d3985cd 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] is abstract, declare as ref
+#! [contains] is abstract, declare as ref
 Shred shred;
index 16ac6592ffaacdcafb1990a2027af51017feea75..6395902642d3ec233177c6fa468b9997f286eaf7 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] has already been defined in parent class
+#! [contains] has already been defined in parent class
 class C {
   int i;
 }
index 2e78acc6eeea9a3576daa85617a82694f42c762e..a81916683f80683eefbe8f9c30ef59e1723209ed 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] primitive types cannot be used as reference
+#! [contains] primitive types cannot be used as reference
 fun void test(int @i){}
index a94baa5624978d173886619d036e3f00d677ce81..c4988725c4da8a0cda6d5b1b7bdd43cda4796a7f 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] this is reserved
+#! [contains] this is reserved
 fun void test(int this){}
index 15365ef95bfe010d17686fea522a241e42bcaf37..5b44a0f24aaefed06e406c65e0b78739fb22bcff 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] do not provide array
+#! [contains] do not provide array
 [1,2,3,4] @=> int loop[1];
index 4448560280986df51ed2c2d407240fb922d506a5..e411cf94231cdc5493b26a7e70aecdea2610371c 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] array depths do not match
+#! [contains] array depths do not match
 [1,2,3,4] @=> int k[1][1];
index a589e044f61e918f7ffd5c5eb4f105444ada5491..5afa37171b17faa96b4eb0e0144ca322dbca64c7 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] partially empty array init
+#! [contains] partially empty array init
 int i[2][];
index 971933f51ec13bc3c1a29d4074c3132ea0c4e6a2..7f1ed39d9212a3c95071bf84c9ff22560c0e4aac 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] partially empty array init
+#! [contains] partially empty array init
 int i[][3];
index a5366648c8c855733d51e554cfb87b22c525ee83..ebb16797f0b32c48245161d5bee9cc2ad0d7615d 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] exceeds defined dimension
+#! [contains] exceeds defined dimension
  int i[2];
 i[0][0];
index abedb313cc822a1da4c94ec38dd79f09b301aad9..0af41e4ba3456ec1f62dff35b136c8677952165c 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] contains incompatible types
+#! [contains] contains incompatible types
 [null, 1];
index cbc1a1ce222b9047e10fa06fcdff2579772ff8eb..b4e738eeec9f19d49a4a4fc6ff71d65b83708e44 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] must be of type 'int'
+#! [contains] must be of type 'int'
  int i[4];
 i[null];
index abe913b9e15f829febb07e762396483bb22594e5..490d340e9b578fd43aa2480a3c5dd75d4def00f8 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] invalid format for array init
+#! [contains] invalid format for array init
 [ [1,2] [3,4] ];
index 1e28ca76d1e4eb28270da00950e0f6f12958eade..614905e1a2208bd2c990fff68929ab7da6efe073 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] NullPtrException
+#! [contains] NullPtrException
 int i[1][1];
 null @=> i[0];
 <<< i[0][0] >>>;
index b71375c69717182bb9d13316661eb97a9a455f92..0ab571b2bb1d9ec785696a9950ae216456a124be 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] ArrayOutofBounds
+#! [contains] ArrayOutofBounds
 Object o[1][1];
 o[1];
index 744b1936f4e61191b7229d7aea913a457c9c8579..59446465800e74b2f8113edd9a89701ef59e467b 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] non-mutable
+#! [contains] non-mutable
 [1,2,3,4] @=> [1][1];
index 5963e77b916b30677cd5d84b4a6ab26c6f400ad6..de08f1fd672804e85bfd208c7f1bcc2df3ac40af 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] has no member
+#! [contains] has no member
 int i[2][2];
 i[0].test;
index 2f395432e3372a0b1af2b426b8e04acf7d33b1aa..cb186b8559312fdc6dbba96bec6e0a40ae618ef1 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] ArrayOutofBounds
+#! [contains] ArrayOutofBounds
 Object i[1];
 i[1];
index 051efbc602a91edd2cc380473dccd1a33f66d63c..2dcdb4ed30ea97deb367efbbd8d54a74daa2becc 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] ArrayOutofBounds
+#! [contains] ArrayOutofBounds
 Object i[1][1];
 i[1][0];
index 52b7a544feeff8e840003af73aae3bd73cf09434..6370951415c734e6b36fa73d3b2444efa2bd6635 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] array types do not match
+#! [contains] array types do not match
 [1,2,3,4] @=> Object k[1];
index d418d9b4ffeac3efde3f93bf2560979daddc3e62..95170ee8bab6cc3c46a7d888e64341a92e5b2a1e 100644 (file)
@@ -1,4 +1,4 @@
-// [contains]  not allowed in auto loop
+#! [contains]  not allowed in auto loop
 Object i;
 for(auto a: i)
   <<< a >>>;
index 7ff8e15adb3809726d923ebd7a46e3023b0482c4..a48ab2746d3f7e80ea53dc1e4afb330ed90163f9 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] 'break' found outside of for/while/until
+#! [contains] 'break' found outside of for/while/until
 break;
index cbab52eb290032b4c166cebc723af84cb777430b..0513e7b3ab05b45ac23552558e0212fee94938c2 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] cannot find class
+#! [contains] cannot find class
 class C {
   class D {
     int i;
index 03fe98ea63099d5c3e684f2d7c134519d5bce1bd..9613f1478ca60fe89c7aa828ef5745729f1c0d9f 100644 (file)
@@ -1,5 +1,5 @@
-// [contains] is not constant
-// also coverage for 'case'
+#! [contains] is not constant
+#! also coverage for 'case'
 enum {zero, one, a , b, c };
 
 class C {
index aa0b684779b54868a16ae4bced4fa18e24e6f397..bb9654177661bda2aef2b38ecaae152a111b1ad0 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] is not const
+#! [contains] is not const
 int i;
 switch(maybe) {
        case i:
index c5c9f7521e095f44faaf3270a09499832cfe8100..78a00a2c7297a7f7d052c617b25a67b287d0c107 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] unhandled expression type
+#! [contains] unhandled expression type
 int i[1];
 switch(maybe) {
    case i[0]: break;
index b2dbc4edc9ab59bda806265d7c1954986754b8ba..813792818437ce88c26e3498c7c941f07955ea69 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] unknown type
+#! [contains] unknown type
  1 $ UnknownType;
index d4e68cfa4b385e21cd2d8cc8d03f400c33c82ca8..3a16175ffc70e6a1e762833efbc6da05a734243c 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] unary operator '--' cannot be used on non-mutable data-types
+#! [contains] unary operator '--' cannot be used on non-mutable data-types
 class C
 {
   enum { a, b };
index 324772a804cdb86746755ef51ae6611cdb3acf4d..22afc7512fb81e348712e0e07dcf35a7e6f10ccc 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] declared inside itself
+#! [contains] declared inside itself
 class c {
   c var;
 }
index 20f5c56cdc5af75b4992770fbfffa52b3a1816b5..c9c0c1507db90ffb3f1129df847ef863783dc2b8 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] extraneous component of complex value
+#! [contains] extraneous component of complex value
  #(0,0,0,0);
index c9fbeecb7a78189ef8d92f293f74ed68a1090df3..72199c4b1e56b00b3c9a759cd1780dc73ccfc53f 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] function name 'test' conflicts with previously defined value
+#! [contains] function name 'test' conflicts with previously defined value
 class C { int test;
 }
 
index 139238147d672b8419a7c67f6d58c8f3f9cd0088..916fdacde8a84df1aaa2f60d8ec6db74a2e92e78 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] right-side operand is non-mutable
+#! [contains] right-side operand is non-mutable
 fun void test(const int i) {
   10 => i;
 }
index 5b46158e27a17f917af5f5b00f270a3de631dc0c..d7b32ef3c7659094a55cf2bd67906379c657672d 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] right-side operand is non-mutable
+#! [contains] right-side operand is non-mutable
 10 => const int i;
 12 => i;
 <<< i >>>;
index 0c5513c0007b17526cfbd898a0bd86de074413bc..45570ccbdce4d0a664d9196d6a9f1b5bafdb3d72 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] 'continue' found outside of for/while/until
+#! [contains] 'continue' found outside of for/while/until
 continue;
index 73ade6cc861936e47d26dabe3734960ffd798b31..b551a8bf88e05a2b5724235fbf16bda6aa5ea3a9 100644 (file)
@@ -1,4 +1,4 @@
-// (contains] default case already defined
+#! (contains] default case already defined
 switch(maybe) {
        default:
        default:
index 30910dd321ff5f5e79a83651513b793baa219174..10a26a2fa9b0ce806b9b15c5a58f8790cd63771f 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] already defined
+#! [contains] already defined
  class C{}
 class C{}
index 724f36218966b11c63730fdc9704a74699d1ae0c..56a09b04e9f22403f7829486e5eed0e9d6ca3934 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] ZeroDivideException
+#! [contains] ZeroDivideException
 [ #(0.0, 0/0) ];
index 29d1541f859698f78dead15868177775d3da3f1a..e53249052026a8a1941f295f9f622ba21819cf10 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] dtor must be in class def!!
+#! [contains] dtor must be in class def!!
 dtor {}
index ad1092add6de0b097ad74218e0cd03729f272478..6714af145df364826ad9d5248fdf76655c9d9ab0 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] duplicated cases value
+#! [contains] duplicated cases value
 switch(maybe) {
        case 1:
        case 1:
index c82dabeca0e54bd61f032a6fe1e1259132265ad1..f4bf893f79b1a25f20c3fab9a7a152fc278db0b7 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] empty for loop condition
+#! [contains] empty for loop condition
 <<< "test" >>>;
 for(;;){}
index d950e99043ec81555deedafc4ef42c7c1595cbc7..e5a900a24dc02c8b2ae28a39d5ce03b987bfb5eb 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] NullPtrException
+#! [contains] NullPtrException
 class C
 {
        typedef void test();
index 768eceb99bd2a460357bba446aa036e76e169efd..8921e2b9621725f08367abaa4873442ef6ad6dec 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] NullPtrException
+#! [contains] NullPtrException
 class C
 {
        int i;
index 6003476f6c42d098c8b7be237397e7f6b91c998a..9cb712f9d78120b94db2c127f9a0229577d215f1 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] already been defined
+#! [contains] already been defined
 int i;
 enum
 {
index 828a4adf92fbed9018a300418809268cceb33eca..8cc8d79ec929a28b43c1d24140cafe3631a969ee 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] already declared
+#! [contains] already declared
  enum
 {
        first
index 27394d5d7c31da2a924fe6309799c1512f62b9e5..a38d127c1e98b1959ac2ae1f74661987c2260d98 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] already been defined
+#! [contains] already been defined
 int i;
 enum
 {
index bc326655b5602a836c8493624b54ec82c9c6df10..39fc818959d26115a26fed196de697acbc92782a 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] already declared
+#! [contains] already declared
  enum
 {
        first
index 81f144895961f466f3f2df1f1a2df907f7d114f8..5ca1082259d52bd0cd266453e9817bced582e004 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] already declared as variable
+#! [contains] already declared as variable
 enum
 {
        first,
index 37c41f23d052a7e5abfe90a523bfa15562325b8d..f38df7320d8dc4f9c2497d4df7589abfff2c67e7 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] right-side operand is non-mutable
+#! [contains] right-side operand is non-mutable
 const int i;
 12 => i;
 
index 9088957103cf5ab3b29c7f45ad098a0f3ec08b44..45864d294edc585217f2cbf17312bf9d31615b8e 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] NullEventWait
+#! [contains] NullEventWait
 Event @e;
 e => now;
index e697c0e31e9d44165f0fab416edb4ed8c68b8b05..1384a540f73fa6dbb840d57c186aca864f972b3e 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] not allowed
+#! [contains] not allowed
 class C extends Event{}
 Event e @=> C o;
index 70d28d36d24715038309907109b222a9c14c5d57..776033aba8a734475627f7611bac949ca1b4bf59 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] must be defined with empty
+#! [contains] must be defined with empty
 fun int[] my_func(int i[2]){}
index 3b5fbf85a2c913efcf85ebbe76879b623c4a32b7..fbfb35cad529ebce2cf9aa7912146f6de4a21dda 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] already declared
+#! [contains] already declared
 fun void test(int i, int i){}
index c64c738e5983d9a2ea7e1e2427c37b33fa226e52..bde6775b0377f0e96f3c56403a2ae5d603455bb3 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] unknown type
+#! [contains] unknown type
  fun void my_func(unknown_type unknown_arg){}
index 61041f6c8b07468263ca3fb5a6167e95a5949f3f..229933d43bcedd9f8bbd9c93f9223d6ff23319d6 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] in function:
+#! [contains] in function:
 fun void test() { <<< b >>>; }
index 5909dd8b8a1f8d43441ae3e592b6c87ce7edf48c..5b621acef9c9769faa688573ac36a60d75981e2c 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] unknown type
+#! [contains] unknown type
 fun void test() { skfuv sd; }
index b59e3c4b0c0a5b6043603bc3fc189789b8ff38b7..05961a5bf48cc7a58a181e74b4c1776d587677a4 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] argument type(s) do not match for fun
+#! [contains] argument type(s) do not match for fun
 fun void test(){}
 fun void test(int i[], int j[]){}
 test(1,2);
index 39be5236215dbdcf2da4517c48c2fc42b0a8aca1..a4a97f4afa3ba94f9a77c5d60f2f725cd7729ed3 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] function call using a non-function value
+#! [contains] function call using a non-function value
  null();
index e31849738bc1dd37476cbc7138eda3d290420f0a..3b59ce854abf1f341d0d7ed39b5ca26a72352a9a 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] NullPtrException
+#! [contains] NullPtrException
 typedef void Test()
 Test test;
 test();
index 7ff64da717d14a6ccfb274a066703dc647c093ac..dd326cf24e034b5e1087532607ce77cb96f12d09 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] must be defined with empty
+#! [contains] must be defined with empty
  fun int[1] my_func(int i[]){}
index 70fc88b69377ebda00bd4672be12681bd813dc50..5574068cb97a5fc089bc08f58745c2d536202f85 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] unknown type
+#! [contains] unknown type
  fun unknwon_type my_function(){}
index daca37ab1850d62c7ca8173c44875a0f1412f1a8..f3ee9cee65055ac8107344095688031e0fcfd01e 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] cannot declare variables of size
+#! [contains] cannot declare variables of size
  fun void test(void v){}
index 4c7f35aa74dc9871ff7d74ba34b107b418407423..0ce4549be2f0dadf34cebc11c8ab255027b15e31 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] 
+#! [contains] 
  fun void test()
 {
   fun void nested(){}
index df10135737ee80d6c069fd08b249b3cf3797cb68..1dc38819a3882017a4df004c4abb21d9f38f3eb0 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] primitive types cannot be used as reference
+#! [contains] primitive types cannot be used as reference
 fun int@ test(){}
index 9e2e417eb72ac78c187317409326fc3eca3df7e9..65c4163bd8e374e777f5bbcf8e591e6ab2c31113 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] is already used by another value
+#! [contains] is already used by another value
  int i;
 fun void i(){}
index 7678ce1887dac78b1c638fd89ee9bd531e4a8505..57358f7b1005d5f3d63ba9c82e0f57fe1df6e336 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] global function 'test' already defined for those arguments
+#! [contains] global function 'test' already defined for those arguments
 fun void test(){}
 fun void test(){}
index 2b757fc14cdddc40210c5f49a0c00f9aa5f05dd7..2cc6d0456b3e8f86b4a9ea6a7ed856cab29129bb 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] incompatible types
+#! [contains] incompatible types
 maybe ? null : 1;
index 6e600b4088b07755f0b074dc55af609c2e925ea7..98a16df377d6aff37971149675172aba4ce429cc 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] Invalid type
+#! [contains] Invalid type
 null ? <<< 1 >>> : <<< 2 >>>;
index 8f6f2bea9446f1c43d5f9eb403393a035d133fa8..76cfbc3e151ba60f03c1b2541a6f548ac95f0f53 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] invalid array acces expression
+#! [contains] invalid array acces expression
 int j[];
 j[1,2,3,4] @=> i;
index 00aa7f71f36f0a961e10bab91b247d8deeb38c95..0770d9cb524142b2aa6709e3e9c6085da0376490 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] no match found for operator
+#! [contains] no match found for operator
 class C {}
 class D {}
 D d;
index 80044ac9ec54076a5d923aa8ff5a01d0a8a6f0b1..9e8dce9c110bac24c8a17139f8ae74e8d952346f 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] in 'for' condition
+#! [contains] in 'for' condition
 for(;null;);
index 03ebbf66d8e8585e23886ba5c985db08927a62bd..20d5989d5cbe9f185c9b128ecdd7ab4216505798 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] invalid return type
+#! [contains] invalid return type
 fun void test() { return 1; }
index f20ec93a34bb94aa58aecddd36dc4d0e95b5f2ff..b5bd929eb0995ed0ceaee14eeb5cfe0ae6232ee8 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] conditional must be of type
+#! [contains] conditional must be of type
 switch(null){}
index 66f78149a7de3a05e1fd4623195981bebc265fd5..3314df6e4886d20dfe9e7446f81c227e38593f6f 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] in 'until' condition
+#! [contains] in 'until' condition
 until(null);
index 57deda5e031708733e10d8882aecb2d654d5e0c8..bf2235d27d02ab53f3008d4ef66cbef8a3e2c275 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] in 'while' condition
+#! [contains] in 'while' condition
 while(null);
index 108ee94a5c27ea41589bc55fb746d3e7587cefc6..51e6b434be0752af757faf4346a0c100af718d60 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] already defined
+#! [contains] already defined
  test:
 test:
 ;
index 71a276df87949eb97554559663fe6e75fb5f4b3f..e308ad056d5e3f8c714c1e5cc2b29e6f7fc832d6 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] defined but not used
+#! [contains] defined but not used
 test:
 ;
index e0dc264af5bbcb897b23ac0edd2a29266c061eb0..e552ce98563727f03c798d39be32e797955bab7f 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] used but not defined
+#! [contains] used but not defined
 goto test;
index 3a46a9ebbe0f81f1048e19d3c4feba7acc22309f..37db484921bdd6f6ba51746e678cb59428905555 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] used but not defined
+#! [contains] used but not defined
 goto here;
 here:
 goto test;
index 449f052806728fcfe2d8f79a2e6f3e2a9599b215..5635d4cf7ddcde78f573d0e1e1eb61928c499861 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] argument number does not match for lambda
+#! [contains] argument number does not match for lambda
 \a b { <<< a, " ", b >>>; }(1);
index 808c008b23434e9f9fe0ce8ac03a20e873dec471..2f3fb5276d496c86a22a781055b0c4d85d7a49a6 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] argument number does not match for lambda
+#! [contains] argument number does not match for lambda
 typedef void ptr_t(int i);
 \a b { <<< a, " ", b >>>; } @=> ptr_t ptr;
 ptr(2);
index d1de1676be615db7d1ba370240b6d7dad3f18c71..03e785f0034afcb90f58da8359a57271af36e9e4 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] argument number does not match for lambda
+#! [contains] argument number does not match for lambda
 typedef void ptr_t(int i);
 \a b { <<< a, " ", b >>>; } @=> ptr_t ptr;
 fun void test(ptr_t ptr) {
index 538e8a3e528b9191c3ba4831b3356a532d460da0..0ed3ca5dcebf0e152048fb8df1f249157802ee53 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] conditional must be of type
+#! [contains] conditional must be of type
 complex c;
 repeat(c)
        <<< "error" >>>;
index 1c69586f1f699f6670b0be123593c3689f649848..8af9f87d035ff172ca9d88159ea1dabc86616fae 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] 
+#! [contains] 
 class C {
   int i;
   fun static void test() {
index 848ab1544e013995d8415710be577a1a426df76b..1d52ac775a1c8a4dff2cf4612f0d24a03ead5d04 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] ZeroDivideException
+#! [contains] ZeroDivideException
 [ 1%0, 2, 3, 4, 5 ];
index 140b2ca77ee1c46b290d02be55f3e737fe860650..fd79b7e8ae9331c579859eb2e80de5db7865dc5d 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] from/to a multi-variable declaration
+#! [contains] from/to a multi-variable declaration
 int i, ii => float f;
index 48a252fe47f81a5c541045326b28fcb81ebd6cb2..8342f0e66d7880c978cf512842c1af513bb381be 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] conflicts with previously defined value
+#! [contains] conflicts with previously defined value
 class C {
   int test;
 }
index 8b9c7458731ba15d7c79602dbb0284800fe532bb..901cf42484e8dba3f53dfa8d276c84185cdead8e 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] can only be used at class scope.
+#! [contains] can only be used at class scope.
 union private { int i; } u;
index b202b70e18925d13ed605b8070745ef87b897a77..7f8c6c30f01bd6e5c97b57cea074216c45679189 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] can only be used at class scope.
+#! [contains] can only be used at class scope.
 union static private { int i; } u;
index 426ef5772c9ad209393ceb02b065f1a0cab3e959..704217b9e3a95183ccdc60fa5f200f7ffc0acf6d 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] can only be used at class scope.
+#! [contains] can only be used at class scope.
 union static { int i; } u;
index b094b3994ede305b0d3ce08e3e5ab35d0d48af12..66a272ccce55a23c611ea095bbf9f1d0b47df5b5 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] NegativeArraySize: while allocating arrays
+#! [contains] NegativeArraySize: while allocating arrays
 int i[-1];
 <<< i >>>;
index d0646f7dc07c1e846506bfef8b33bc87feac40d9..c7c868dca0195ba589340418e2bf717ba8dd7e80 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] ArrayOutofBounds
+#! [contains] ArrayOutofBounds
 int i[2][2];
 <<< i[1][-1] >>>;
 <<< -1 >>>;
index 1655e517ce398307c15317aab5f4deebcf7b3895..80000dba5d2806deff3f5d77e6d443a215a94c54 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] instantiate with empty
+#! [contains] instantiate with empty
 new Object[];
index 00d30a1236eae4dd284d64c0885cd5190b6aecae..dc7b67782260f63093c96c233758f21bceb62aea 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] primitive types cannot be used as reference
+#! [contains] primitive types cannot be used as reference
 new int;
index 7cff67a04037586666b38797247c95bbd94b775f..c05a98b22fc8110348fdbb32774cd41e85fd6778 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] no match found for operator
+#! [contains] no match found for operator
 class C{}
 class D{}
 
index a32ed0cbe843b41a0076735dcc1662c889effa12..1ce8ae8ed141746da3527497bbbb79370a1c419c 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] must be of type 'int'
+#! [contains] must be of type 'int'
 int i[4];
 Object o;
 i[o];
index 96d759706a42f18fb7a194f5da47939889a9e50c..3473fab10e88dbb9a210cc2ae21ca33464df8c7b 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] incompatible array subscript type
+#! [contains] incompatible array subscript type
  Object o;
 int i[o];
 <<< i >>>;
index 17fcf802c92b649dbc0c3b79e155cf0d4bc6f979..6175713ab81431355caddd9477e0366751e3161a 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] does not have members - invalid use in dot expression
+#! [contains] does not have members - invalid use in dot expression
 int i;
 i.nothing;     
 
index 42d955025b65dc823effe8ade771f006ed1b6e13..78b28ccabf88f668507bb1eda038cd38c0d621c5 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] template call of non-function value
+#! [contains] template call of non-function value
 int test;
 test<~int~>();
index b3234447750d5c56e1c6a9eac5b6a97ece4c4b2a..ec02675653f77442ec143e3fd147bbe075e37396 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] not legit
+#! [contains] not legit
  s;
index fdc5f8239c15956ba6d3c3bb09f48dd907733d90..7b1a534c276e9106beda8d1377555b811f3a1640 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] NullPtrException
+#! [contains] NullPtrException
 int i[];
 i[0];
index bd973cbdba321e2ac089894c8d27c62b1c39412b..03a570bad65a66dc01249d47b5ab26d57f646b7a 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] NullPtrException
+#! [contains] NullPtrException
 int i[][];
 i[0][0];
index eb45296d556465749e3d0ddfd25ec0c3ef707eac..673ee992b90dbf506c72dad29c95490e8d7a7f54 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] NullPtrException
+#! [contains] NullPtrException
 int i[];
 for(auto a : i)
  <<< a >>>;
index 25d3ebfd34b316345d4e497c757426c20586602c..9abaf80c0de61d2681eee88161c6c1887b0640ae 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] no match found for operator
+#! [contains] no match found for operator
  Object o;
 null +=> o;
index 3d2360589db3d01be6734d7c2b12652ae5a01034..0d1777b355b6f919e1f1fdea6970d75904709ff0 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] no match found for operator
+#! [contains] no match found for operator
 class C
 {
 
index 72ece0d79e87a8316a3cd6bde896ba569a1033a5..9b8eb68cedc49ad7ed62d185792b5cbe53bac3bb 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] conflicts with previously defined value
+#! [contains] conflicts with previously defined value
 class C
 {
        int test;
index 47fa35f091578ff4975f9992ba5f6e1048a5f34c..b7b1d4b83bb80c7d85a5ea9ee4086b12e416bacc 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] but cannot override
+#! [contains] but cannot override
 class C
 {
        fun static void test() {}
index 4b326b83c5e0f1759723bb44c75fd5c528e1730d..7fdd71bf4bd8e8e23723b91ec5813369f02a9723 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] but cannot override
+#! [contains] but cannot override
 class C
 {
        fun void test() {}
index 51c099c8bf369baf7c53f7192026e7dad2bb8cb9..cd1c932711505d1d730363d5fdd3d3ebdc569b92 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] can only be used at class scope
+#! [contains] can only be used at class scope
 typedef static void my_fun(){}
index d53fc486c651a9c6f56b384e8ffaf14787c1dd18..66ddfcadb83cf5a337511b780a34847ede1ef2c4 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] unknown type
+#! [contains] unknown type
  typedef unknown_type my_fun(){}
index 3d7ee93f642a601d337536c7863501af686836bf..c31977211e4efa969b1e5d6da3bdc85c4d794fee 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] unknown type
+#! [contains] unknown type
 typedef void my_func(unknown_type type);
index 2a7cccf69c5e2dd8d6274fb70579e401be4815f3..3ecfc3a1f0e20b0bce95f00dac670afafe506277 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] polar value #1
+#! [contains] polar value #1
  %(null, 0);
index acf44abf76c3076f634209a63e975df8aff2f5d5..44470ba0c5165b55386a857b13f54848695a2ade 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] polar value #2
+#! [contains] polar value #2
  %(0, null);
index cb91af9fcaa7ecd2c50a6ddea0c1f2a07782da3d..5ad3b5355e91a64643f07d66ab24518696a0bb18 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] extraneous component of polar value
+#! [contains] extraneous component of polar value
 %(0,0,0,0);
index c71b484298c7af02e21192779f8a032caaf9aa36..dd59edcbeb947a71996a605f7d066fb1e5f5b188 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] cannot be used on non-mutable data-type
+#! [contains] cannot be used on non-mutable data-type
 1++;
index 63c5bb1aa5413ee35c2dcfccf97cfe26e6de0e26..76defe9a485232d04ae211bc6e0337fe647a2e91 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] cannot be used on non-mutable data-type
+#! [contains] cannot be used on non-mutable data-type
 true++;
index 8de5ab9f6ce8c6f39619c0dfd29ac823cfe042ed..f64c79828340e519b764d30b3ff2d166bf21fe21 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] no match found for operator
+#! [contains] no match found for operator
 Object o;
 o++;
index 25f9c40e59ff66d0a9aa5c930a448777dfc052ba..fe6f6b71221cab1c2644988f7ac7949f625dd239 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] cannot extend primitive
+#! [contains] cannot extend primitive
 class C extends int {}
index 4a60e2d6032b780b8bc56e74c8f1b553fc4efb70..3e4b29309d79db66ba862d76ef9f74c396cc3426 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] primitive types cannot be used as reference
+#! [contains] primitive types cannot be used as reference
 int @i;
index e71b04db9aacdf772ec755ce5e25dcb65afe7f67..87909a514e9968d8ba1882369461119c67f9a972 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] can't access private
+#! [contains] can't access private
 class C { private int i;  }
 
 C c;
index a0e286e5d130d48ea91d5cb169d0dc3c706a32e8..b2e66f029914597829d2dffa5f530f5c4c6e7bfd 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] can't access private
+#! [contains] can't access private
 class C {
   fun private void test(){}
 }
index 686c54b2240ad376f279160b4eab0c8f0e97517c..5c0901666d3e5be95fc3b63ce7dfb5ee67906dc8 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] can't access private
+#! [contains] can't access private
 class C {
   fun private void test(){}
 }
index 1d88460c7a8e976f5d3dca296c9246f1194d5869..f87a52351cc552ed6452ade6db398d80dfca595b 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] can only be used at class scope
+#! [contains] can only be used at class scope
 fun private void test(){}
index 7be2bb357cd4160675dcf5cb4a9494a705c2dbfd..b656e00b611fa561f5b8685f04acf3481e8a6a54 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] can only be used at class scope
+#! [contains] can only be used at class scope
 private int i;
index ee7d52ee3a611b9e21139884fa03eed4a418ae82..f9ab4063e340437e407df97f4d0adea1fd8da667 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] can't access private
+#! [contains] can't access private
 class C { private int i;  }
 
 class D {
index 20b4b5b18463c3ac5fe2c0c87172ffb76ce4e2cb..b25cdc5a47fa77253fa1b59ca81cf04af0d8ad6f 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] must provide values/expressions for array
+#! [contains] must provide values/expressions for array
  [ ];
index c9765c941501e5e96f53687acffc42e0ac212668..1f0229b6ce65e1597e8df50108a05f8cd0f30857 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] cannot declare variables of size '0'
+#! [contains] cannot declare variables of size '0'
  typedef void my_func(void arg){}
index b4eef2ec7bd0611514450c53c098e3e525c2218c..ba2ca796ec155097a7887b34a6c79979148fb67e 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] must be defined with empty
+#! [contains] must be defined with empty
  typedef void my_func (int i[4]){}
index 17038c96ed229ff8eca4eebb2230dfcca0e73516..1f5e985e703ab40010d5fb8b1fd13168b8a312aa 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] can't assign non member function to member function pointer
+#! [contains] can't assign non member function to member function pointer
 class C {
   typedef void Test();
   Test test;
index fa68cf44963c402a7787c47b0064f3ebe6ce96ef..b97d13ed494f2db30d7f6699e95e6346c098a6b3 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] can't assign member function to non member function pointer
+#! [contains] can't assign member function to non member function pointer
 typedef void Test();
 Test test;
 class D {
index ca2caa5c6bbb44ca647f87bec726ab6fa949f3bb..4b3e5ee1fe29295cc3b15b1caa9a6da5dcafca7d 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] can't assign member function to a pointer of an other class
+#! [contains] can't assign member function to a pointer of an other class
 class C {
   typedef void Test();
   Test test;
index 99bcf9e71a2a60b3b99a8fe2c56bfbcff861115a..bfb6abf189649f63ee1bfb0d5a1d475866ccc79f 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] has already been defined in the same scope
+#! [contains] has already been defined in the same scope
 int i;
 typedef void i(){}
index 0dc5b75d40dd241d95a97cb23619f3ad2176b69e..0025800802ed73617daf27013268c1c8c08f0424 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] no match found
+#! [contains] no match found
 fun void test(int i){}
 fun void test(float f){}
 
index 4216fe4cfef7fe9109716d323e2a3591cf08184a..d550dc303c4699c254ab35ee11961a16fe83d8d7 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] primitive types cannot be used as reference
+#! [contains] primitive types cannot be used as reference
 typedef void my_func(int @i){}
index e2ba117bee4af884e8b77e933463b5c5683fc38f..c9a3497e649ec15cb19b9c54ac46c1f6d3152b13 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] can only be used at class scope
+#! [contains] can only be used at class scope
 typedef static void Test();
index d4a6c152537677810b2c36f23ceb9dc6dff51818..8d81b3b7b2df452d0737f84dda8003fc230852e8 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] can only be used at class scope
+#! [contains] can only be used at class scope
 typedef static void Test(int i);
index 18bfe4faded2b960ca52963036322e68b201105d..7d78cac3734533d8acb760396f9be7911dcee3b2 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] recursive
+#! [contains] recursive
 class C {}
 class D extends C {}
 class E extends F {}
index 2535c86120ea780dc560be4354d639b6b838b588..10f4c64516a3f382661ef4184874bb9240e8b197 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] 'return' statement found outside function definition
+#! [contains] 'return' statement found outside function definition
 return;
index 9b1d870c88dfed8d9f3927621969d2811620928b..af1357498c90673019420e8b02f0075ff28ec3a3 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] right-side operand is non-mutable
+#! [contains] right-side operand is non-mutable
  2 => 1;
index 6dba49f2637ad2514124a74799121d1c0f3a0a3b..96f996db2e9be0867e8753e38240a30dc940cb8f 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] only function calls can be sporked
+#! [contains] only function calls can be sporked
 int i;
 <<< i >>>;
 spork i;
index 11b948d1a393424061ca19845eaf5a9a8d20ac40..294b07ef6d8364d6a76860ffbabf2746b61801f9 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] can only be used at class scope
+#! [contains] can only be used at class scope
 static int i;
index d1c262707c888651b46858d09b6e34fb4cacb889..ca84fac1ffcd512ff91fb35b5342b0f3e5c197ad 100644 (file)
@@ -1,2 +1,2 @@
-// [contains somewhere] stray in program
+#! [contains somewhere] stray in program
 **µ
index fd81f4ed15bdc449df167d08b59972a6ecf988f7..40b87094ab08fa1e980d9dcfd5da536bf6ead481 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] you must provide template types
+#! [contains] you must provide template types
 class<~A~> C {
   A a;
 }
index af3391acd80a5a0dd3abdd840926d360ad66748b..2c0cef0ec0128ff580cfb78ba037d088bf206f5d 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] 
+#! [contains] 
 fun void test<~A,B~>(){}
 test();
index dbd9a53850f2cf0376aeae94bbddef1bcada6062..74b77c72cddec66a00b92e624d425880438c51d9 100644 (file)
@@ -1,6 +1,6 @@
-// [contains] arguments do not match for template call
+#! [contains] arguments do not match for template call
 fun void test<~A~>(){ <<< "func" >>>;}
 fun void test<~A~>(int i){<<< "other func" >>>;}
 
 test<~int, float, int~>();
-//test<~int~>();
+#!test<~int~>();
index 0868e24a8272608b335eb674cde2f4b7f6210e5f..82fef43a19d8331b7030f833f2810fb90c14d255 100644 (file)
@@ -1,9 +1,9 @@
-// [contains] arguments do not match for template call
+#! [contains] arguments do not match for template call
 class C {
   fun void test<~A~>(float f) {}
   fun void test<~A~>() {}
 }
 C c;
-//c.test<~int~>();
+#!c.test<~int~>();
 c.test<~int~>(2.3);
 c.test<~int~>(2.3, 2.3);
index 1d287d6b2da7bbb8479ada0ff89ede2ed2a1ed3d..6f6f232d01b7f7ac7ca7cfe26ce3cb9f5029f841 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] 
+#! [contains] 
 Math.rand<~int~>();
index 6b99bf58cbaed9f075a6d31fcb92a3f8f39458fd..5c1e04d55644be361fbd3d1d02f1992211c68e69 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] invalid expression for function call
+#! [contains] invalid expression for function call
 fun void test<~A~>(A a){}
 
 (maybe ? test : test)(1);
index f9d96219205a3819980d7bb14aff9df844fc6c5d..e9009fe1fd78e5617102b38618efac3fe9a9ecf1 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] unknown type
+#! [contains] unknown type
 fun void my_function<~A~>() { <<< "test" >>>; }
 
 my_function<~unknown_type~>();
index be8ec7c8b713f419a6a2fea8b2de9a46040e24ce..1ba2b0f3e7d87d221b9e14d403ac446de5774060 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] keyword 'this' can be used only inside class definition
+#! [contains] keyword 'this' can be used only inside class definition
  this;
index a1eed8be6c4095e8a8de1e7fc643737c2056fec4..8822e8e0f7472cfb06476a2c594425c69a327e0a 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] keyword 'this' must be associated with object instance
+#! [contains] keyword 'this' must be associated with object instance
 class C {}
 C.this;
index 8483049bcf7e088b7a34056d175f9023f2b35a4f..8c0c1766446b71962de1713eae0cdd9970feab1c 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] keyword 'this' cannot be used inside static functions
+#! [contains] keyword 'this' cannot be used inside static functions
 class C
 {
   fun static void test(){ <<< this >>>; }
index 4436e0d407e3ac3c0be31940c527b32d6688c327..adbbf23c39969af42c998c6669eacbea9649d236 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] is not template
+#! [contains] is not template
 <~int~>Object o;
index 1e255e092ae317cbe9684fd4243604a375edbbcb..a12af90076caf23a9f65d370ca7f0eeca7e8ce01 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] unknown type
+#! [contains] unknown type
 fun void test(B->C a){}
index d5626a1744b527a74935b6c85f40c94477e1b40e..4c2966073752bd9c7acac453eafc6cd189f59fe8 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] no match found for operator
+#! [contains] no match found for operator
 int i;
 *i;
index 47a83ed31e4ad71929893a28a383daa06677ed46..228a53ad6ced9c91a5a17bb1629929de8079b74b 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] unknown type
+#! [contains] unknown type
 class C extends Undefined {}
 C c;
 <<< c >>>;
\ No newline at end of file
index 1b89e8e18cea3f53386b315ce63741e53cbc2087..2987f24e9051e74f07cb8410ce80e9e4334a3fde 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] 
+#! [contains] 
  union
 {
   one; two;
index e1264e20aed0644696e9569632e2df141d9d2167..cfc880ea942f90aa62c19e63acee2e5b4b59addc 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] must be defined with empty
+#! [contains] must be defined with empty
 union {
   int i;
   int @array[4];
index 8de35d3110df5e37fa500b0aca28f85dae75e858..188ecb2387e57472ccad65354a0e2c635cae2c22 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] can only be used at class scope.
+#! [contains] can only be used at class scope.
 union static { int i; };
index 2564afc9d97fb42ff72eec7328692a98aa7d5bfc..d1661269d4e367f97ce4905176643c3e925cf8b0 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] can only be used at class scope.
+#! [contains] can only be used at class scope.
 union static private  { int i; };
index c9fb106569c8d0327132c87e196c21070ad1679c..76f37242e2430411265cb5ab543515de4b024a73 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] can only be used at class scope.
+#! [contains] can only be used at class scope.
 union private { int i; };
index 4ea2c6588a475d692d03d86547187346018b69db..b170fa0fab958f46618f18f28f3b426942d6eb01 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] Unions should only contain declarations
+#! [contains] Unions should only contain declarations
  union
 {
   one; two;
index 5e626dbf8746f5a401b02712386326a216478c16..e006098d98963f8cfbc18ccc84633aa0988f9045 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] In union, Objects must be declared as reference (use '@')
+#! [contains] In union, Objects must be declared as reference (use '@')
 union
 {
        int i;
index 857977ade9d22e2deab378033a5d7949c576c3bb..b40d7d8ba91fcc6bf91c1fd004093128f4800d8b 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] unknown_type
+#! [contains] unknown_type
 union
 {
        unknown_type unknown_variable;
index 9cdf4e7ea522c243398d5380481bc17ef31cebe1..bf9dc2b685aafc547659be32f00bb8a38b070707 100644 (file)
@@ -1,2 +1,2 @@
-// (contains] unrecognized escape sequence
+#! (contains] unrecognized escape sequence
 '\o';
index 9ced64fe69563ac4b07b136ae3120ccb9780fcd2..b925ca4dd3808eddbb59d8d7bc9d5476952566bf 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] unknown type
+#! [contains] unknown type
 new kugsqd;
index ed9a31d0ab5da75a4bded11d733bf38a4777c972..92c1f3fafe211fa0b6e460bd79266d7def89a3d5 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] unknown type
// hit the error with an unknown type
+#! [contains] unknown type
#! hit the error with an unknown type
 unknown_type variable;
index 286df405d92f18a6d0c4a3c0a5e977c984d88cb4..e4da9b197a9221cf7e06f71b9ab47d9ba9104b3f 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] you are trying to use a upper label
+#! [contains] you are trying to use a upper label
 end:
 goto end;
index 2a4f05c9f6bb142f58740abf5bbfd8bf63f9d699..51811b017c0d5ba7640664a8319dcb120fbbe260 100644 (file)
@@ -1,3 +1,3 @@
-// [contains] has already been defined in the same scope
+#! [contains] has already been defined in the same scope
 int i;
 int i;
index 8c159c8106885c1c00c3df572189000434d979e5..89aed11f3c74e89c066174b9080b8c6a43d26ae0 100644 (file)
@@ -1,7 +1,7 @@
-// [contains] vararg.start not used before vararg.end. this is an error
+#! [contains] vararg.start not used before vararg.end. this is an error
 fun void test(int i, ...) {
        vararg.end;
-//     vararg.start;
+#!     vararg.start;
 }
 
 test(1, 2.3, null);
index ff87db0ecd9fd915b30ecac9a51fe20c42809145..59e93491651abae66517f95f5478fb7810470dde 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] vararg.start already used. this is an error
+#! [contains] vararg.start already used. this is an error
 fun void test(...) { vararg.start; vararg.start;}
index 8c159c8106885c1c00c3df572189000434d979e5..89aed11f3c74e89c066174b9080b8c6a43d26ae0 100644 (file)
@@ -1,7 +1,7 @@
-// [contains] vararg.start not used before vararg.end. this is an error
+#! [contains] vararg.start not used before vararg.end. this is an error
 fun void test(int i, ...) {
        vararg.end;
-//     vararg.start;
+#!     vararg.start;
 }
 
 test(1, 2.3, null);
index e540248e03c837dd23f5a3616cfddad360c66b11..f14ca9ce4058a3aa1ca9d4a7c9321bdb669cec6e 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] in vector value
+#! [contains] in vector value
 @(0,0,0,null);
index 639b0f916407273339f3f375a2e44a8fefd3a269..0d5eb4364eb2b720ab6115f95a7f09c795801e00 100644 (file)
@@ -1,2 +1,2 @@
-// [contains] extraneous component of
+#! [contains] extraneous component of
  @(0,0,0,0,0);
index 9247edb9a2d5819e7dd9b51850348e8f2c79434e..92fc4ec0c4b8483cd1cffceb1b626261502f6038 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] cannot access member
+#! [contains] cannot access member
 class C {
   int i;
 }
index 04df1a4efbd465a619f6053a3ae7de906c91f4ab..0bc054955bc716de1a19ba8be2eb860d268e79da 100644 (file)
@@ -1,4 +1,4 @@
-//[contains] cant't assign
+#![contains] cant't assign
 class C {
   fun static void test(int i) { <<<  "int arg"  >>>; }
   typedef void PtrType(int i);
index 46ebf4449686054eb57eff02048af9b68546e834..f09a5a019a8c3195af34ac06ee5696d394be544b 100644 (file)
@@ -1,4 +1,4 @@
-// [contains] can't assign
+#! [contains] can't assign
 class C {
   fun void test(int i) { <<<  "int arg"  >>>; }
   typedef static void PtrType(int i);
index 91f4f5cb0df5d71bd7598e1fcd97a0a8089c402b..ef2ea3beb1e21f45619b401258b92040ec102858 100644 (file)
@@ -1,14 +1,14 @@
 fun Vec4 test(int i) { <<< "test with arg ", i >>>; }
 
-//typedef Vec4 PT();
-//test @=> 
+#!typedef Vec4 PT();
+#!test @=> 
 PtrTypeI p;
 test @=> p;
-//test @=> PT ti;
+#!test @=> PT ti;
 <<< test >>>;
-//<<< ti >>>;
+#!<<< ti >>>;
 <<< p >>>;
-//ti();
+#!ti();
 <<< "test" >>>;
 p(2);
 <<< "end" >>>;
index 24a29c2c54dea8ea7db8ad43d0c9db84b037790e..cc6dc08384cce3274e2df1e87ed4970682161c1b 100644 (file)
@@ -1,15 +1,15 @@
-//class child {}
-//template<~A, B~>
-//class C{ A key; B value; }
-//<~int, int~>C c1;
-//<float, float>C c2;
-//<<< c1 >>>;
-//<<< c2 >>>;
-//<<< c2.value >>>;
+#!class child {}
+#!template<~A, B~>
+#!class C{ A key; B value; }
+#!<~int, int~>C c1;
+#!<float, float>C c2;
+#!<<< c1 >>>;
+#!<<< c2 >>>;
+#!<<< c2.value >>>;
 
 <~int, int~>ClassTemplate ct;
 <<< ct.key >>>;
-//<float, float>ClassTemplate ct2;
-//<<< ct2.key >>>;
-//<child, float>ClassTemplate ct3;
-//<<< ct3.key >>>;
+#!<float, float>ClassTemplate ct2;
+#!<<< ct2.key >>>;
+#!<child, float>ClassTemplate ct3;
+#!<<< ct3.key >>>;
index 368151d580949d2e3ef227f4bbac7cc3e72881ee..0d8ddb596797b644e8b687818c5a2d47d98b475e 100644 (file)
@@ -1,4 +1,4 @@
-// untyped global enum
+#! untyped global enum
 <<< ENUM0 >>>;
 <<< ENUM1 >>>;
 <<< ENUM2 >>>;
@@ -10,7 +10,7 @@
 <<< ENUM8 >>>;
 <<< ENUM9 >>>;
 
-// typed global enum
+#! typed global enum
 <<< TYPED_ENUM0 >>>;
 <<< TYPED_ENUM1 >>>;
 <<< TYPED_ENUM2 >>>;
@@ -22,8 +22,8 @@
 <<< TYPED_ENUM8 >>>;
 <<< TYPED_ENUM9 >>>;
 
-// in class 
-// untyped global enum
+#! in class 
+#! untyped global enum
 <<< Enum.ENUM0 >>>;
 <<< Enum.ENUM1 >>>;
 <<< Enum.ENUM2 >>>;
@@ -35,7 +35,7 @@
 <<< Enum.ENUM8 >>>;
 <<< Enum.ENUM9 >>>;
 
-// Enum.typed global enum
+#! Enum.typed global enum
 <<< Enum.TYPED_ENUM0 >>>;
 <<< Enum.TYPED_ENUM1 >>>;
 <<< Enum.TYPED_ENUM2 >>>;
index 60da06645d911e5394219fb0174ddf0e8793ed0d..dc3f911a511e3bccf500d338e930d16079c82853 100644 (file)
@@ -1,2 +1,2 @@
-//<<< StaticString.self >>>;
+#!<<< StaticString.self >>>;
 <<< self >>>;
index d3f5f2beece0fb5b5f61fd52887b97748986d372..359bab6893acb281ed2412cd34de63e71cf10a55 100644 (file)
@@ -4,10 +4,10 @@ fun void t(int i) {
     1/i;
   <<< "id: ", (spork t(i-1)).id() >>>;
   me.yield();
-//samp => now;
+#!samp => now;
 }
 10 => t;
-//me.yield();
+#!me.yield();
 second => now;
 me.yield();
 <<< "end" >>>;
index 2773c4fdc4da27ff7f36775c19ab53264288663f..ee373b2ef134d18efb7fecc2c769dc6d1e318e87 100644 (file)
@@ -6,6 +6,6 @@ class global C {
 global C g_c;
 <<< g_c, "->i => ", g_c.i >>>;
 fun global void g_test() { <<< g_i >>>; <<< g_c >>>; <<< g_c.i >>>; <<< "test" >>>; }
-//fun global void g_test() { <<< "test" >>>; }
+#!fun global void g_test() { <<< "test" >>>; }
 <<< g_test >>>;
 <<< g_test() >>>;
index e6935d9cb1042247def9f20c6424c1cd3d5cf4c2..c12ad16ddc5629c7403b31719a93973c0e153475 100644 (file)
@@ -4,5 +4,5 @@
 <<< g_test >>>;
 g_test();
 
-//g_test();
-//g_test();
+#!g_test();
+#!g_test();
index 83b2a3b39f1b871937a322ae7a3fd897c185beaa..8481c1c065fc873b624a8cf21b186e26c8b3bdec 100644 (file)
@@ -1,32 +1,32 @@
 class C {
   typedef void ptr_t(int i,int j);
   \a b { <<< this, " ", a, " ", b, " test" >>>; } @=> ptr_t ptr;
-//  `a,b` { <<< "test" >>>; } @=> 
-//  ptr_t ptr;
-//  ptr(1,2);
+#!  `a,b` { <<< "test" >>>; } @=> 
+#!  ptr_t ptr;
+#!  ptr(1,2);
   fun void test(int i, int j) { <<< this, " ", i, " ", j >>>; }
-//  fun void test(ptr_t t, int i) {
-//<<< t >>>;
-//    t(2,i);
-//  }
-//  test(`a,b` { <<< this, " lambda argument" >>>; }, 2);
+#!  fun void test(ptr_t t, int i) {
+#!<<< t >>>;
+#!    t(2,i);
+#!  }
+#!  test(`a,b` { <<< this, " lambda argument" >>>; }, 2);
 }
-//<<< C c >>>;
+#!<<< C c >>>;
 C c;
 <<< c >>>;
-//<<< c.test >>>;
-//<<< c.ptr >>>;
-//c.ptr(1,2);
-//<<< c.test >>>;
+#!<<< c.test >>>;
+#!<<< c.ptr >>>;
+#!c.ptr(1,2);
+#!<<< c.test >>>;
 c.test @=> c.ptr;
-//c.ptr;
-//<<< c.ptr >>>;
-//c.test(1,2);
+#!c.ptr;
+#!<<< c.ptr >>>;
+#!c.test(1,2);
 c.ptr(1, 2);
-//c.ptr(1, 2);
-//c.ptr(1, 2);
-//(1,2) => c.ptr;
-//c.test(`a,b` { <<< this, "lambda argument" >>>; }, 2);
-//c.test(c.ptr, 2);
-//<<< c.ptr >>>;
-//c.ptr;
+#!c.ptr(1, 2);
+#!c.ptr(1, 2);
+#!(1,2) => c.ptr;
+#!c.test(`a,b` { <<< this, "lambda argument" >>>; }, 2);
+#!c.test(c.ptr, 2);
+#!<<< c.ptr >>>;
+#!c.ptr;
index e8a0474c7f502892929673a8733074552fe34dd7..0ad67254d344a7c4c78a29703fe73330f4073ad8 100644 (file)
@@ -2,18 +2,18 @@ class C {
 typedef void ptr_t(int i);
 \a { <<< this, " ", a >>>; } @=> 
 ptr_t ptr;
-//ptr(3);
+#!ptr(3);
 fun void t1(int i) { <<< this, " t1 ", i >>>; }
 fun void test(ptr_t ptr) {
 <<< this >>>;
  ptr(1);
 }
 t1 @=> ptr_t t1p;
-//test(t1$ptr_t);
+#!test(t1$ptr_t);
 test(t1p);
-//test(ptr);
-//<<< t1 >>>;
-//<<< t1$ptr_t >>>;
+#!test(ptr);
+#!<<< t1 >>>;
+#!<<< t1$ptr_t >>>;
 }
 <<< C c >>>;
 <<< c.test(c.ptr) >>>;
index 6003f577494543ac86fb86b494c7b47d4acc136e..da3462e6347a9d7a0c9f214b453d614d6b477a50 100644 (file)
@@ -1,6 +1,6 @@
 fun void _t() { <<< __func__ >>>; }
 fun int t() {
-//<<< 1 >>>;
+#!<<< 1 >>>;
   spork _t();
 
  spork \a{ <<< __func__, " ", a >>>; }(1);
index 2aebdf8804b1daf652a5fe40837681a93b620fd6..88b852ecdf42f61aeb137c7a3a485e3d3f521b3c 100644 (file)
@@ -1,6 +1,6 @@
 fun void test() {
-//  <<< 1 >>>;
-//spork \{<<< 2 >>>;}();
+#!  <<< 1 >>>;
+#!spork \{<<< 2 >>>;}();
 }
 test(); 
 test(); 
index 7c197ad214f4fffae1bb84c20be74fb230d88ec7..1fffc7588cdfb5c106fd2aae5e9d4e4249b3cc6a 100644 (file)
@@ -10,7 +10,7 @@ fun void launch(int i) {
 }
 
 spork launch(2);
-//second => now;
+#!second => now;
 me.yield();
-//.1::samp => now;
+#!.1::samp => now;
 launch(12);
index 8b948eea77b4dda7b84c38b32805685443bacade..06767a7d23b2594cac94fc75a9391f779b022e5d 100644 (file)
@@ -1,5 +1,5 @@
 fun void launch(int i) {
 <<< " launch ", i >>>;
 }
-//spork launch(2);
+#!spork launch(2);
 me.yield();
index 5ccef63d3636b24f25ee278e47060145adc11ffa..3503c334631ca5ed5df27c1acdd2401ca4ca7709 100644 (file)
@@ -1,4 +1,4 @@
 class C { fun static C t() { C c; <<< c, "  something" >>>; 
 return c; } }
-//C c;
+#!C c;
 <<< C.t() >>>;
index 95aa62345b363085af639944ec3ca1e4f301b3fa..a7de5d3444b3bd704389db7cb28c97deb7924965 100644 (file)
@@ -1,3 +1,3 @@
-//[contains] macro already defined
+#![contains] macro already defined
 #define macro
 #define macro
index 94e5b7ddc2a1806e9c007f0c65795b190d05ae59..404c3e5c3b339e81eb87ddb288b6aa1e8f32eb08 100644 (file)
@@ -1,3 +1,3 @@
-//[contains] not enough arguments
+#![contains] not enough arguments
 #define macro(a, b) a, b
 <<< macro(1) >>>;
index e29f472621312478825291c5ad0f523d8c0f2a60..72753f9e21f880a327e3d725c58a8f79fcc5dd06 100644 (file)
@@ -1,3 +1,3 @@
-//[contains] too many arguments
+#![contains] too many arguments
 #define macro(a) a
 <<< macro(1,2) >>>;
index 30be49b6a16a706b6cefb03394adf16f4ee7ef40..8ba5dcc5a8bb87b44d203e51a30465e6f5beb805 100644 (file)
@@ -1,5 +1,5 @@
-//[contains] 'macro' defined"
-//[contains] 'macro' undefined (after undefining)"
+#![contains] 'macro' defined"
+#![contains] 'macro' undefined (after undefining)"
 #define macro
 #ifdef macro
 <<< "'macro' defined" >>>;
index 754c7b085f5de0a75aa56f0f80b9435124707909..4bce1e1056a1734e4d807b60a4f40a746570af79 100644 (file)
@@ -1,4 +1,4 @@
-//[contains] end of text
+#![contains] end of text
 #define macro
 macro
 
index 2eeeec08d0da892d85c3a8413574de0017e9081d..81e39aefd6c603798aec48cd850dcebc2667b570 100644 (file)
@@ -1,4 +1,4 @@
-//[contains] end of test
+#![contains] end of test
 #define macro(a,b)
 macro(1,2);
 
index a096c61b3e9abc5233f646a2cf479f7f544b649a..ae6fd2b30bc6c6e8634a79f399df6e46e267202e 100644 (file)
@@ -1,3 +1,3 @@
-//[contains] 123
+#![contains] 123
 #define macro(...) __VA_ARGS__
 <<< macro(1,2,3) >>>;
index d91f89e218f910801a33d1b6e846bc5eab4601f0..e7431071e59b64fd0d23467b524490210f457631 100644 (file)
@@ -1,3 +1,3 @@
-//[contains] test
+#![contains] test
 #define macro "test"
 <<< macro >>>;
index 82171662d46e84b1d528dd96225cd9e0a26dcd84..eac94955f0efea7b4ca0ee95cb84e559de7f0620 100644 (file)
@@ -1,3 +1,3 @@
-//[contains] test12
+#![contains] test12
 #define macro(a,b) "test", a, b
 <<< macro(1,2) >>>;
index bef1377d7d06a2890afaa8d770198b7a363de0ee..b1814a2273b07e7b0bbc7b70bb6967f55fe99591 100644 (file)
@@ -1,2 +1,2 @@
-//[contains] file not found
+#![contains] file not found
 #include <non_existant_file>
index 4bc3a3137e2dc4b853d24b4557622356a72f2ec7..608ce297d394f916899b8d53795dfb956ad94278 100644 (file)
@@ -1,2 +1,2 @@
-//[contains] tests/pp/header.gw
+#![contains] tests/pp/header.gw
 #include <tests/pp/header.gw>
index 7a9a7efa8527dd98f6d0de4640d155ccbde23cf7..f6d764a3f17c76388dd441e95329d970c4745b56 100644 (file)
@@ -1,2 +1,2 @@
-//[contains] undefined macro
+#![contains] undefined macro
 #undef macro
index 8601f0f572e2c8fc1f6d6fc266185efdfe57fcfa..3832cefa71036396bddb9a0d8e00c6b82c767930 100644 (file)
@@ -1,3 +1,3 @@
 int i;
 <<< i >>>;
-//! document the AST
+#!! document the AST
index 6bda1429800ecb91bac815c4cd62484fa6506c97..c7c0fe73dce4ffb2b32c16c64cf8550a91506cc5 100644 (file)
@@ -9,7 +9,7 @@ D d;
 E e;
 F f;
 G g;
-//<<< f $ D >>>;
+#!<<< f $ D >>>;
 <<<  [ f, g ]  >>>;
 <<< maybe ? f : D >>>;
 <<< c, " ", d, " ", e, " ", g >>>;
index 829c06bcef6339845ecf64d1af6bb67dbc8bca78..f4437f8c44d75756216785434e79c58e640ea918 100644 (file)
@@ -1,8 +1,8 @@
 class C {
        int i[];
        int j[2];
-//     Machine.shreds() @=> i;
-//     null @=> i;
+#!     Machine.shreds() @=> i;
+#!     null @=> i;
 }
 
 C c;
index ca6b1437497f5b0e7d554d4afac92da61ad5d828..c53724e6b370b62ec4f0689721de8bdda4cb886e 100644 (file)
@@ -9,13 +9,13 @@ class<~A,B~> C {
   }
 }
 
-//<<< C >>>;
+#!<<< C >>>;
 <~int, int~>C c;
 <~float, int~>C d;
 <~polar, int~>C e;
 <~Vec3, int~>C f;
 <~Object, int~>C g;
-//C c;
+#!C c;
 <<< c.a >>>;
 <<< d.a >>>;
 <<< e.a >>>;
index 20d0fed4500970e37e6090213b6f36e6de2b0416..c46e379b3d03e07da27a3e4fefe6cd68ec674c84 100644 (file)
@@ -1,3 +1,3 @@
 int i[];
 Machine.shreds() @=> i;
-//null @=> i;
+#!null @=> i;
index 838cff461fc197dea5a91adc270aa9a36357deb2..24e79a7135fd00506a41750b1c4d1f1fa81d6ed8 100644 (file)
@@ -1,2 +1,2 @@
-// always return 0
+#! always return 0
 <<<  false  >>>;
index 3d39b169e13999d6e2591787c752a92b47ff48ab..1023285543a888b4925f8c606a0b8bb52f45fb0d 100644 (file)
@@ -1,9 +1,9 @@
 class C
 {
        operator => void(C c, int i){<<< c, " ", i >>>;}
-//     this => this;
-//fun void test_op(C c){ this => c; }
+#!     this => this;
+#!fun void test_op(C c){ this => c; }
        this => int i;
 }
 C c;
-//c.test_op(c);
+#!c.test_op(c);
index b317f5997c722daab1da3f7fd44f836ad2b8be77..4306820280542f25d726c9c3797cb38d3989bddb 100644 (file)
@@ -4,6 +4,6 @@ class C {
 }
 C c;
 <<< c.i >>>;
-//<<< ++c.i >>>;
-//1 => c.i;
+#!<<< ++c.i >>>;
+#!1 => c.i;
 2 +=> c.i;
index 190b99312d94f8c47ee9d1b15c9d36421dbbca18..60dbe600147166f1352046216f802bd0aee45c65 100644 (file)
@@ -1,6 +1,6 @@
-// define a simple variable: 'i'.
+#! define a simple variable: 'i'.
 int i;
-// define a funs that returns 1 if 'i' is non zero, and 0 othervise.
+#! define a funs that returns 1 if 'i' is non zero, and 0 othervise.
 fun int test() { return i ? 1 : 0; }
 <<< test() >>>;
 1 => i;
index 29ca5f4b8714e10cfe772fab568ac0d1aa3f63fb..896f4839c5fbd527f028a95ec09ed01b4cd55fa9 100644 (file)
@@ -1,4 +1,4 @@
-// catch free gc
+#! catch free gc
 Event e;
 spork { e => now; };
 spork { samp => now; 4::samp => now;};
index b7c589f936996c1eefed98d26f0d5e67bfd9bc66..137b15a30f76cd2364345e99cc11dd081a35a2dd 100644 (file)
@@ -1,7 +1,7 @@
 fun void test() {
        spork { <<< 2 >>>; }; 
 }
-//spork { <<< 1 >>>; }; 
-//spork test();
+#!spork { <<< 1 >>>; }; 
+#!spork test();
 test(); 
 second => now;
index 1939a9a38c043b95485802760061c8aedecbe776..dcdebe681429216d3c9d5cee951758a2ce611539 100644 (file)
@@ -6,12 +6,12 @@ class C
       <<< "test2" >>>;
     };
   }
-//     spork test(2);
-//     spork  { <<< "test", this >>>; };
+#!     spork test(2);
+#!     spork  { <<< "test", this >>>; };
 }
 C c;
 <<< c >>>;
-//spork 
+#!spork 
 c.test(1);
 c.test(2);
 samp => now;
index 0157635a426b7a2793c65f68f74851f8b421a129..82e30fd771e9616b1a55e4c4f53bf93b569255bf 100644 (file)
@@ -1,4 +1,4 @@
-// just to check uncalled fun to not push the stack
+#! just to check uncalled fun to not push the stack
 
 class C { fun void test(){} fun static void stest() {}}
 C c;
index 894f758441d978b1cfbe6e7269a546e725a345e4..5f6e00bc3ebdb405539a23f0f0519ddc966539d4 100644 (file)
@@ -1,2 +1,2 @@
-// a vec3 with only two expressions
+#! a vec3 with only two expressions
 [ @(0.0- 0.0, 0.0) ];