Merge: Stricter default arguments
authorJean Privat <jean@pryen.org>
Mon, 10 Aug 2015 16:12:51 +0000 (12:12 -0400)
committerJean Privat <jean@pryen.org>
Mon, 10 Aug 2015 16:12:51 +0000 (12:12 -0400)
This change the way that default arguments are handled.

Now, defaults arguments can only follow the used one.
This improve the readability of calls and the association between calls and declarations thus solve a lot of issues of users.

~~~
fun foo(a: nullable Int, b: Int, c: nullable Int) do ...
foo(null,2,null) # OK
foo(null,2) # equivalent
foo(2) # now refused! but previously accepted as equivalent.
~~~

Only exception: the last parameter of an assignment method is always the last argument

~~~
fun foo=(a: nullable Int, b: Int, c: nullable Int, d: nullable Int) do ...
foo(null,2,null) = 0 # OK
foo(null,2) = 0 # equivalent
foo(2) = 0 # now refused! but previously accepted as equivalent
~~~

No specific black magic is added to automatic constructor.
Therefore an optional constructor parameter in a class can becore mandatory in a subclass if a new mandatory attribute is introduced.

~~~
class A
   var a: nullable Int
end
class B
  super A
  var b: Int
end
var a1 = new A(null) # OK
var a2 = new A # equivalent
var b1 = new B(null, 2) # OK
var b2 = new B(2) # now refused! but previously accepted as equivalent
~~~

This issue only required some small adaptation in existing piece of code: nitdoc, sexp, serialization and dom. The latter is PRized independently in #1616 but included here for jenkins.
Most of these changes (first commits) are in fact bugfixes or make the code cleaner so this is an argument in favor of this new stricter specification.

This PR has also the advantage of simplifying the model as the whole policy of the default argument is moved to the typing analysis: it is now just a pure calling convention.

Close #1453

Pull-Request: #1618
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

45 files changed:
contrib/benitlux/Makefile
contrib/benitlux/src/benitlux_db.nit
contrib/benitlux/src/report.nit [new file with mode: 0644]
examples/montecarlo.nit [new file with mode: 0644]
lib/standard/bytes.nit
lib/standard/math.nit
lib/standard/text/native.nit
share/man/nitc.md
src/astbuilder.nit
src/astutil.nit
src/c_tools.nit
src/compiler/abstract_compiler.nit
src/ffi/c_compiler_options.nit
src/frontend/regex_phase.nit
src/metrics/detect_covariance.nit
src/parser/nit.sablecc3xx
src/parser/parser.nit
src/parser/parser_abs.nit
src/parser/parser_nodes.nit
src/parser/parser_prod.nit
src/parser/parser_work.nit
src/pretty.nit
src/semantize/scope.nit
src/semantize/typing.nit
tests/24_game.inputs
tests/pig_the_dice_game.inputs
tests/sav/24_game.res
tests/sav/balanced_brackets.res
tests/sav/bench_complex_sort.res
tests/sav/guess_the_number.res
tests/sav/loops_break.res
tests/sav/montecarlo.res [new file with mode: 0644]
tests/sav/nitmetrics_args1.res
tests/sav/pick_random.res
tests/sav/pig_the_dice_game.res
tests/sav/random_numbers.res
tests/sav/shoot_logic.res
tests/sav/shoot_null.res
tests/sav/test_autoinit_optional.res [new file with mode: 0644]
tests/sav/test_parser_args1.res
tests/sav/test_parser_args6.res
tests/sav/test_parser_args7.res
tests/sav/test_unicode_4bytes.res [new file with mode: 0644]
tests/test_autoinit_optional.nit [new file with mode: 0644]
tests/test_unicode_4bytes.nit [new file with mode: 0644]

index 133019c..9bf30ac 100644 (file)
@@ -6,3 +6,9 @@ server:
 
 src/benitlux_serial.nit:
        ../../bin/nitserial -o $@ src/benitlux_web.nit
+
+bin/report: $(shell ../../bin/nitls -M src/report.nit)
+       ../../bin/nitc -o bin/report src/report.nit
+
+report: bin/report
+       bin/report
index 05a1a81..36906c8 100644 (file)
@@ -118,6 +118,33 @@ class DB
                return events
        end
 
+       # List known beers
+       #
+       # Return `null` on error.
+       fun beers: nullable Array[Beer]
+       do
+               var stmt = select("name, desc FROM beers")
+               if stmt == null then return null
+               return [for row in stmt do row.to_beer]
+       end
+
+       # Days where `beer` was available, all known days if `beer == null`
+       #
+       # Return `null` on error.
+       fun days(beer: nullable Beer): nullable Array[String]
+       do
+               var stmt
+               if beer == null then
+                       stmt = select("DISTINCT day FROM daily")
+               else
+                       stmt = select("""
+DISTINCT day FROM daily WHERE beer=(SELECT ROWID FROM beers WHERE name="{{{beer.name}}}")""")
+               end
+
+               if stmt == null then return null
+               return [for row in stmt do row[0].to_s]
+       end
+
        # All the subscribers to the mailing list
        fun subscribers: Array[String]
        do
diff --git a/contrib/benitlux/src/report.nit b/contrib/benitlux/src/report.nit
new file mode 100644 (file)
index 0000000..54f22ad
--- /dev/null
@@ -0,0 +1,114 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import benitlux_model
+import benitlux_db
+
+# Sort beers by their availability
+class BeerComparator
+       super Comparator
+
+       # 1st sorting priority
+       var map1: HashMap[COMPARED, Comparable]
+
+       # 2nd sorting priority
+       var map2: HashMap[COMPARED, Comparable]
+
+       # Key compare
+       redef fun compare(a, b) do return if map1[a] == map1[b] then
+                                             map2[a] <=> map2[b]
+                                         else map1[a] <=> map1[b]
+end
+
+# Use the local DB
+var db_path = "benitlux_sherbrooke.db"
+var db = new DB.open(db_path)
+
+# All known beers
+var beers = db.beers
+assert beers != null
+print "{beers.length} known beers"
+
+# All days
+var all_days = db.days
+assert all_days != null
+print "{all_days.length} days, from {all_days.first} to {all_days.last}"
+
+# Beers availability by days
+var beer2days = new HashMap[Beer, Array[String]]
+for beer in beers do
+       var days = db.days(beer)
+       assert days != null
+       default_comparator.sort days
+       beer2days[beer] = days
+end
+
+# Sort beers by their availability and first date of appearance
+var availability = new HashMap[Beer, Int]
+var appearances = new HashMap[Beer, String]
+for beer in beers do
+       var days = beer2days[beer]
+       if days.not_empty then
+               appearances[beer] = days.first
+               availability[beer] = -days.length # Opposite for inverse sort
+       else
+               appearances[beer] = "err"
+               availability[beer] = 1
+       end
+end
+
+# Sort by availability then appearance
+var sorter: Comparator = new BeerComparator(availability, appearances)
+sorter.sort beers
+
+# List all beers
+print "\nBeers:"
+for beer in beers do
+       var days = beer2days[beer]
+
+       # Skip never-available beers, usually name errors
+       if days.is_empty then continue
+
+       var from = days.first
+       if from == all_days.first then from = "      ... "
+
+       var to = days.last
+       if to == all_days.last then to = " ...      "
+
+       print "- {days.length}\t{from} {to}\t{beer.name}: {beer.desc}"
+end
+
+# Sort by appearance then availability
+sorter = new BeerComparator(appearances, availability)
+sorter.sort beers
+
+# Display the batch graph
+print "\nBatches:"
+
+# Compute `column_width` days from all the known days
+var column_width = 70
+var days_sample = [for i in column_width.times do all_days[i*all_days.length/column_width]]
+
+for beer in beers do
+       var days = beer2days[beer]
+
+       # Skip never-available beers, usually name errors
+       if days.is_empty then continue
+
+       # Print a line looking like: "  ############ ######         ######## : Beer"
+       for s in days_sample do printn if days.has(s) then "#" else " "
+       print ": {beer.name}"
+end
+
+db.close
diff --git a/examples/montecarlo.nit b/examples/montecarlo.nit
new file mode 100644 (file)
index 0000000..f6291ca
--- /dev/null
@@ -0,0 +1,43 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Approximation of Pi using a Monte Carlo simulation.
+#
+# This is just an example of basic math and random operations.
+module montecarlo
+
+# Number of iterations
+var n = 1000
+if args.not_empty then n = 2 ** args.first.to_i
+
+# Threshold for output
+var j = 1
+
+# Number of hits
+var h = 0
+
+for i in [1..n] do
+       # Random position in the ([0..1[,[0..1[) square
+       var x = 1.0.rand
+       var y = 1.0.rand
+
+       # Hit if in the circle
+       if x*x + y*y <= 1.0 then h += 1
+
+       # Print
+       if i >= j or i == n then
+               print "i={i} h={h} p={(4.0*h.to_f/i.to_f).to_precision(6)}"
+               j *= 2
+       end
+end
index 9843ddc..b8cc1fb 100644 (file)
@@ -169,6 +169,33 @@ private class BytesIterator
        redef fun item do return tgt[index]
 end
 
+redef class Text
+       # Returns a mutable copy of `self`'s bytes
+       #
+       # ~~~nit
+       # assert "String".to_bytes isa Bytes
+       # assert "String".to_bytes == [83u8, 116u8, 114u8, 105u8, 110u8, 103u8]
+       # ~~~
+       fun to_bytes: Bytes do
+               var b = new Bytes.with_capacity(bytelen)
+               for s in substrings do
+                       var from = if s isa FlatString then s.first_byte else 0
+                       b.append_ns_from(s.items, s.bytelen, from)
+               end
+               return b
+       end
+end
+
+redef class FlatText
+       redef fun to_bytes do
+               var len = bytelen
+               var b = new Bytes.with_capacity(len)
+               var from = if self isa FlatString then first_byte else 0
+               b.append_ns_from(items, len, from)
+               return b
+       end
+end
+
 redef class NativeString
        # Creates a new `Bytes` object from `self` with `strlen` as length
        fun to_bytes: Bytes do
index 57f97fd..337355a 100644 (file)
@@ -22,9 +22,45 @@ in "C header" `{
        #include <time.h>
 `}
 
+in "C" `{
+       /* Is rand shortcut? */
+       static int nit_rand_seeded;
+       /* Current rand seed if seeded */
+       static unsigned int nit_rand_seed;
+
+       #define NIT_RAND_MAX 0x7fffffff
+
+       /* This algorithm is mentioned in the ISO C standard, here extended
+       for 32 bits.  */
+       static int
+       nit_rand(void) {
+               unsigned int next = nit_rand_seed;
+               int result;
+
+               next *= 1103515245;
+               next += 12345;
+               result = (unsigned int) (next / 65536) % 2048;
+
+               next *= 1103515245;
+               next += 12345;
+               result <<= 10;
+               result ^= (unsigned int) (next / 65536) % 1024;
+
+               next *= 1103515245;
+               next += 12345;
+               result <<= 10;
+               result ^= (unsigned int) (next / 65536) % 1024;
+
+               nit_rand_seed = next;
+
+               return result;
+       }
+`}
+
 redef class Int
        # Returns a random `Int` in `[0 .. self[`.
        fun rand: Int `{
+               if (nit_rand_seeded) return (long)(((double)self)*nit_rand()/(NIT_RAND_MAX+1.0));
                return (long)(((double)self)*rand()/(RAND_MAX+1.0));
        `}
 
@@ -271,7 +307,10 @@ redef class Float
        fun round: Float `{ return round(self); `}
 
        # Returns a random `Float` in `[0.0 .. self[`.
-       fun rand: Float `{ return ((self)*rand())/(RAND_MAX+1.0); `}
+       fun rand: Float `{
+               if (nit_rand_seeded) return ((self)*nit_rand())/(NIT_RAND_MAX+1.0);
+               return ((self)*rand())/(RAND_MAX+1.0);
+       `}
 
        # Returns the euclidean distance from `b`.
        fun hypot_with(b: Float): Float `{ return hypotf(self, b); `}
@@ -457,9 +496,9 @@ fun pi: Float do return 3.14159265
 # assert 10.rand == a
 # assert 100.rand == b
 # ~~~~
-fun srand_from(x: Int) `{ srand(x); `}
+fun srand_from(x: Int) `{ nit_rand_seeded = 1; nit_rand_seed = x; `}
 
 # Reinitialize the pseudo-random generator used by the method `rand` and other.
 # This method is automatically invoked at the begin of the program, so usually, there is no need to manually invoke it.
 # The only exception is in conjunction with `srand_from` to reset the pseudo-random generator.
-fun srand `{ srand(time(NULL)); `}
+fun srand `{ nit_rand_seeded = 0; srand(time(NULL)); `}
index b2789a0..170b196 100644 (file)
@@ -84,7 +84,7 @@ extern class NativeString `{ char* `}
                if((c & 0x80) == 0x00) return (uint32_t)c;
                if(((c & 0xE0) == 0xC0) && ((self[pos + 1] & 0xC0) == 0x80)) return ((((uint32_t)c) & 0x1F) << 6) + ((((uint32_t)self[pos + 1] & 0x3F)));
                if(((c & 0xF0) == 0xE0) && ((self[pos + 1] & 0xC0) == 0x80) && ((self[pos + 2] & 0xC0) == 0x80)) return ((((uint32_t)c) & 0xF) << 12) + ((((uint32_t)self[pos + 1]) & 0x3F) << 6) + ((((uint32_t)self[pos + 2] & 0x3F)));
-               if(((c & 0xF7) == 0xF0) && ((self[pos + 1] & 0xC0) == 0x80) && ((self[pos + 2] & 0xC0) == 0x80) && ((self[pos + 3] & 0xC0) == 0x80)) return ((((uint32_t)c) & 0x7) << 18) + ((((uint32_t)self[pos + 1]) & 0x3F) << 12) + ((((uint32_t)self[pos + 2]) & 0x3F) << 6) + ((((uint32_t)self[pos + 3] & 0x3F)));
+               if(((c & 0xF8) == 0xF0) && ((self[pos + 1] & 0xC0) == 0x80) && ((self[pos + 2] & 0xC0) == 0x80) && ((self[pos + 3] & 0xC0) == 0x80)) return ((((uint32_t)c) & 0x7) << 18) + ((((uint32_t)self[pos + 1]) & 0x3F) << 12) + ((((uint32_t)self[pos + 2]) & 0x3F) << 6) + ((((uint32_t)self[pos + 3] & 0x3F)));
                return 0xFFFD;
        `}
 
@@ -100,7 +100,7 @@ extern class NativeString `{ char* `}
                        return 2
                else if c & 0xF0u8 == 0xE0u8 and self[pos + 1] & 0xC0u8 == 0x80u8 and self[pos + 2] & 0xC0u8 == 0x80u8 then
                        return 3
-               else if c & 0xF7u8 == 0xF0u8 and self[pos + 1] & 0xC0u8 == 0x80u8 and self[pos + 2] & 0xC0u8 == 0x80u8 and self[pos + 3] & 0xC0u8 == 0x80u8 then
+               else if c & 0xF8u8 == 0xF0u8 and self[pos + 1] & 0xC0u8 == 0x80u8 and self[pos + 2] & 0xC0u8 == 0x80u8 and self[pos + 3] & 0xC0u8 == 0x80u8 then
                        return 4
                else
                        return 1
index 3aa7950..21fb966 100644 (file)
@@ -223,6 +223,14 @@ See the documentation of these specific modules for details.
 
     Currently, this only affect the android platform.
 
+`-g`, `--debug`
+:   Compile in debug mode.
+
+    Currently removes gcc optimizations.
+    Also preserves the source-files directory for C-debuggers.
+
+    For more debugging-related options, see also `--hardening` and `NIT_GC_OPTION`
+
 ## COMPILATION MODES
 
 `nitc` includes distinct compilation modes.
index ef969d7..cc7cd88 100644 (file)
@@ -294,7 +294,8 @@ redef class ACallExpr
        do
                self._n_expr = recv
                _n_args = new AListExprs
-               _n_id = new TId
+               _n_qid = new AQid
+               _n_qid.n_id = new TId
                if args != null then
                        self.n_args.n_exprs.add_all(args)
                end
index 5ab245e..7e3a068 100644 (file)
@@ -71,7 +71,7 @@ redef class Prod
        # var ast = (new ToolContext).parse_something(text)
        # assert ast isa AExpr
        # ast.parentize_tokens
-       # assert ast.to_xml.write_to_string == """<ACallReassignExpr><TId>y</TId> <APlusAssignOp><TPluseq>+=</TPluseq></APlusAssignOp> <ACallExpr><TId>foo</TId></ACallExpr></ACallReassignExpr>"""
+       # assert ast.to_xml.write_to_string == """<ACallReassignExpr><AQid><TId>y</TId></AQid> <APlusAssignOp><TPluseq>+=</TPluseq></APlusAssignOp> <ACallExpr><AQid><TId>foo</TId></AQid></ACallExpr></ACallReassignExpr>"""
        # ~~~
        fun to_xml: HTMLTag
        do
index 24bdf23..5df891e 100644 (file)
@@ -148,7 +148,7 @@ class ExternCFile
                if not pkgconfigs.is_empty then
                        pkg = "`pkg-config --cflags {pkgconfigs.join(" ")}`"
                end
-               return "$(CC) $(CFLAGS) -Wall {self.cflags} {pkg} -c -o {o} {ff}"
+               return "$(CC) $(CFLAGS) -Wno-unused-function -Wall {self.cflags} {pkg} -c -o {o} {ff}"
        end
 
        redef fun compiles_to_o_file do return true
index f0a66ac..b1245d2 100644 (file)
@@ -69,6 +69,8 @@ redef class ToolContext
        var opt_no_gcc_directive = new OptionArray("Disable a advanced gcc directives for optimization", "--no-gcc-directive")
        # --release
        var opt_release = new OptionBool("Compile in release mode and finalize application", "--release")
+       # -g
+       var opt_debug = new OptionBool("Compile in debug mode (no C-side optimization)", "--debug", "-g")
 
        redef init
        do
@@ -80,6 +82,7 @@ redef class ToolContext
                self.option_context.add_option(self.opt_no_gcc_directive)
                self.option_context.add_option(self.opt_release)
                self.option_context.add_option(self.opt_max_c_lines, self.opt_group_c_files)
+               self.option_context.add_option(self.opt_debug)
 
                opt_no_main.hidden = true
        end
@@ -156,10 +159,13 @@ class MakefileToolchain
 
        redef fun write_and_make
        do
+               var debug = toolcontext.opt_debug.value
                var compile_dir = compile_dir
 
                # Remove the compilation directory unless explicitly set
                var auto_remove = toolcontext.opt_compile_dir.value == null
+               # If debug flag is set, do not remove sources
+               if debug then auto_remove = false
 
                # Generate the .h and .c files
                # A single C file regroups many compiled rumtime functions
@@ -341,8 +347,9 @@ class MakefileToolchain
                        var libs = m.collect_linker_libs
                        if libs != null then linker_options.add_all(libs)
                end
+               var debug = toolcontext.opt_debug.value
 
-               makefile.write("CC = ccache cc\nCXX = ccache c++\nCFLAGS = -g -O2 -Wno-unused-value -Wno-switch -Wno-attributes\nCINCL =\nLDFLAGS ?= \nLDLIBS  ?= -lm {linker_options.join(" ")}\n\n")
+               makefile.write("CC = ccache cc\nCXX = ccache c++\nCFLAGS = -g{ if not debug then " -O2 " else " "}-Wno-unused-value -Wno-switch -Wno-attributes\nCINCL =\nLDFLAGS ?= \nLDLIBS  ?= -lm {linker_options.join(" ")}\n\n")
 
                makefile.write "\n# SPECIAL CONFIGURATION FLAGS\n"
                if platform.supports_libunwind then
index 1618f9e..8bb2e44 100644 (file)
@@ -68,7 +68,7 @@ private class CCompilerOptionsPhase
                        else if expr isa ACallExpr then
                                # We support calls to "exec" only
                                var exec_args = expr.n_args.to_a
-                               if expr.n_id.text != "exec" or exec_args.is_empty then
+                               if expr.n_qid.n_id.text != "exec" or exec_args.is_empty then
                                        modelbuilder.error(nat, "Syntax Error: `{annotation_name}` accepts only calls to `exec` with the command as arguments.")
                                        return
                                end
index feafa77..57e8822 100644 (file)
@@ -51,7 +51,7 @@ redef class ACallExpr
 
        redef fun accept_regex_visitor(v)
        do
-               var method = n_id
+               var method = n_qid.n_id
                var receiver = n_expr
 
                # Check only string literals on which `to_re` is called
index ef403a3..746ad9e 100644 (file)
@@ -394,10 +394,15 @@ redef class TypeVisitor
 
                if node isa AArrayExpr then
                        dcp.cpt_explanations.inc("lit-array")
-               else if p isa ACallExpr and (p.n_id.text == "sort" or p.n_id.text == "linearize_mpropdefs") then
-                       dcp.cpt_explanations.inc("generic methods (sort-method)")
-               else if p isa ACallExpr and p.n_id.text == "visit_list" then
-                       dcp.cpt_explanations.inc("use-site covariance (visit_list-method)")
+               else if p isa ACallExpr then
+                       var name = p.n_qid.n_id.text
+                       if name == "sort" or name == "linearize_mpropdefs" then
+                               dcp.cpt_explanations.inc("generic methods (sort-method)")
+                       else if name == "visit_list" then
+                               dcp.cpt_explanations.inc("use-site covariance (visit_list-method)")
+                       else
+                               dcp.cpt_explanations.inc("other covariance")
+                       end
                else
                        dcp.cpt_explanations.inc("other covariance")
                end
index 3466248..ef6260d 100644 (file)
@@ -448,7 +448,7 @@ stmt~withelse~noexpr~nopar {-> expr}
        | {for} for~withelse {-> for~withelse.expr}
        | {with} with~withelse {-> with~withelse.expr}
        | {assert} assert~withelse {-> assert~withelse.expr}
-!noexpr        | {call} recv qid args_nopar {-> New expr.call(recv.expr, qid.id, args_nopar.exprs)}
+!noexpr        | {call} recv qid args_nopar {-> New expr.call(recv.expr, qid, args_nopar.exprs)}
 !noexpr        | {super} qualified_o kwsuper args_nopar {-> New expr.super(qualified_o.qualified, kwsuper, args_nopar.exprs)}
 !noexpr        | {init} recv qualified? kwinit args_nopar {-> New expr.init(recv.expr, kwinit, args_nopar.exprs)}
        | {debug_type_is} kwdebug kwtype type column expr {-> New expr.debug_type(kwdebug, kwtype, expr.expr, type) }
@@ -463,10 +463,10 @@ vardecl{-> expr}
 
 assignment~nopar {-> expr}
        = {attr} recv~nopar qualified_o attrid assign expr {-> New expr.attr_assign(recv~nopar.expr, attrid, assign, expr)}
-       | {call} recv~nopar qid args assign expr {-> New expr.call_assign(recv~nopar.expr, qid.id, args.exprs, assign,  expr)}
+       | {call} recv~nopar qid args assign expr {-> New expr.call_assign(recv~nopar.expr, qid, args.exprs, assign,  expr)}
        | {bra} expr_atom~nopar braargs assign expr {-> New expr.bra_assign(expr_atom~nopar.expr, braargs.exprs, assign,  expr)}
        | {attr_re} recv~nopar qualified_o attrid assign_op expr {-> New expr.attr_reassign(recv~nopar.expr, attrid, assign_op,  expr)}
-       | {call_re} recv~nopar qid args assign_op expr {-> New expr.call_reassign(recv~nopar.expr, qid.id, args.exprs, assign_op,  expr)}
+       | {call_re} recv~nopar qid args assign_op expr {-> New expr.call_reassign(recv~nopar.expr, qid, args.exprs, assign_op,  expr)}
        | {bra_re} expr_atom~nopar braargs assign_op expr {-> New expr.bra_reassign(expr_atom~nopar.expr, braargs.exprs, assign_op,  expr)}
        ;
 assign_op
@@ -619,11 +619,11 @@ expr_new~nopar~nobra {-> expr}
 expr_atom~nopar~nobra {-> expr}
        = expr_single~nopar~nobra {-> expr_single~nopar~nobra.expr}
        | {attr} recv~nopar~nobra qualified_o attrid {-> New expr.attr(recv~nopar~nobra.expr, attrid)}
-       | {call} recv~nopar~nobra qid args {-> New expr.call(recv~nopar~nobra.expr, qid.id, args.exprs)}
+       | {call} recv~nopar~nobra qid args {-> New expr.call(recv~nopar~nobra.expr, qid, args.exprs)}
        | {super} qualified_o kwsuper args {-> New expr.super(qualified_o.qualified, kwsuper, args.exprs)}
        | {init} recv~nopar~nobra kwinit args {-> New expr.init(recv~nopar~nobra.expr, kwinit, args.exprs)}
 !nobra | {bra} expr_atom~nopar braargs {-> New expr.bra(expr_atom~nopar.expr, braargs.exprs)}
-       | {new} kwnew no type~nobra_nopar dot [n2]:no qid args {-> New expr.new(kwnew, type~nobra_nopar.type, qid.id, args.exprs)}
+       | {new} kwnew no type~nobra_nopar dot [n2]:no qid args {-> New expr.new(kwnew, type~nobra_nopar.type, qid, args.exprs)}
         | {as_cast} expr_atom~nopar~nobra dot no kwas [n2]:no opar [n3]:no type [n4]:no cpar {-> New expr.as_cast(expr_atom~nopar~nobra.expr, kwas, opar, type, cpar)}
         | {as_notnull} expr_atom~nopar~nobra dot no kwas [n2]:no opar [n3]:no kwnot [n4]:no kwnull [n5]:no cpar {-> New expr.as_notnull(expr_atom~nopar~nobra.expr, kwas, opar, kwnot, kwnull, cpar)}
         | {as_notnull2}expr_atom~nopar~nobra dot no kwas [n2]:no kwnot [n4]:no kwnull {-> New expr.as_notnull(expr_atom~nopar~nobra.expr, kwas, Null, kwnot, kwnull, Null)}
@@ -813,8 +813,8 @@ qualified_o {-> qualified?}
        = qualified {-> qualified}
        | {null} {-> Null}
        ;
-qid {-> id}
-       = qualified? id {-> id}
+qid
+       = qualified? id
        ;
 qclassid {-> classid}
        = qualified? classid {-> classid}
@@ -927,6 +927,10 @@ methid
        | {braassign} obra cbra assign
        ;
 
+qid
+       = qualified? id
+       ;
+
 signature = opar? [params]:param* cpar? type?;
 
 param  = id type? dotdotdot? annotations?
@@ -980,13 +984,13 @@ expr      = {block} expr* kwend?
        | {uminus} [op]:minus expr
        | {uplus} [op]:plus expr
        | {utilde} [op]:tilde expr
-       | {new} kwnew type id? [args]:exprs
+       | {new} kwnew type qid? [args]:exprs
        | {attr} expr [id]:attrid 
        | {attr_assign} expr [id]:attrid assign [value]:expr 
        | {attr_reassign} expr [id]:attrid assign_op [value]:expr 
-       | {call} expr id [args]:exprs
-       | {call_assign} expr id [args]:exprs assign [value]:expr
-       | {call_reassign} expr id [args]:exprs assign_op [value]:expr 
+       | {call} expr qid [args]:exprs
+       | {call_assign} expr qid [args]:exprs assign [value]:expr
+       | {call_reassign} expr qid [args]:exprs assign_op [value]:expr
        | {super} qualified? kwsuper [args]:exprs
        | {init} expr kwinit [args]:exprs 
        | {bra} expr [args]:exprs
index 34237c2..334cf08 100644 (file)
@@ -197,11 +197,11 @@ redef class Parser
                reduce_table.add new ReduceAction183(44)
                reduce_table.add new ReduceAction184(44)
                reduce_table.add new ReduceAction185(44)
-               reduce_table.add new ReduceAction184(44)
+               reduce_table.add new ReduceAction186(44)
                reduce_table.add new ReduceAction187(44)
                reduce_table.add new ReduceAction188(44)
                reduce_table.add new ReduceAction189(44)
-               reduce_table.add new ReduceAction188(44)
+               reduce_table.add new ReduceAction190(44)
                reduce_table.add new ReduceAction191(44)
                reduce_table.add new ReduceAction192(44)
                reduce_table.add new ReduceAction193(44)
@@ -226,16 +226,16 @@ redef class Parser
                reduce_table.add new ReduceAction212(47)
                reduce_table.add new ReduceAction213(47)
                reduce_table.add new ReduceAction214(47)
-               reduce_table.add new ReduceAction211(47)
-               reduce_table.add new ReduceAction212(47)
+               reduce_table.add new ReduceAction215(47)
+               reduce_table.add new ReduceAction216(47)
                reduce_table.add new ReduceAction217(47)
                reduce_table.add new ReduceAction218(47)
                reduce_table.add new ReduceAction219(47)
                reduce_table.add new ReduceAction220(47)
                reduce_table.add new ReduceAction221(47)
                reduce_table.add new ReduceAction222(47)
-               reduce_table.add new ReduceAction219(47)
-               reduce_table.add new ReduceAction220(47)
+               reduce_table.add new ReduceAction223(47)
+               reduce_table.add new ReduceAction224(47)
                reduce_table.add new ReduceAction225(47)
                reduce_table.add new ReduceAction226(47)
                reduce_table.add new ReduceAction227(47)
@@ -245,16 +245,16 @@ redef class Parser
                reduce_table.add new ReduceAction231(47)
                reduce_table.add new ReduceAction232(47)
                reduce_table.add new ReduceAction233(47)
-               reduce_table.add new ReduceAction230(47)
-               reduce_table.add new ReduceAction231(47)
+               reduce_table.add new ReduceAction234(47)
+               reduce_table.add new ReduceAction235(47)
                reduce_table.add new ReduceAction236(47)
                reduce_table.add new ReduceAction237(47)
                reduce_table.add new ReduceAction238(47)
                reduce_table.add new ReduceAction239(47)
                reduce_table.add new ReduceAction240(47)
                reduce_table.add new ReduceAction241(47)
-               reduce_table.add new ReduceAction238(47)
-               reduce_table.add new ReduceAction239(47)
+               reduce_table.add new ReduceAction242(47)
+               reduce_table.add new ReduceAction243(47)
                reduce_table.add new ReduceAction244(47)
                reduce_table.add new ReduceAction245(48)
                reduce_table.add new ReduceAction246(48)
@@ -349,16 +349,16 @@ redef class Parser
                reduce_table.add new ReduceAction335(72)
                reduce_table.add new ReduceAction185(72)
                reduce_table.add new ReduceAction337(72)
-               reduce_table.add new ReduceAction184(72)
-               reduce_table.add new ReduceAction335(72)
+               reduce_table.add new ReduceAction186(72)
+               reduce_table.add new ReduceAction339(72)
                reduce_table.add new ReduceAction187(72)
                reduce_table.add new ReduceAction341(72)
                reduce_table.add new ReduceAction188(72)
                reduce_table.add new ReduceAction343(72)
                reduce_table.add new ReduceAction189(72)
                reduce_table.add new ReduceAction345(72)
-               reduce_table.add new ReduceAction188(72)
-               reduce_table.add new ReduceAction343(72)
+               reduce_table.add new ReduceAction190(72)
+               reduce_table.add new ReduceAction347(72)
                reduce_table.add new ReduceAction191(72)
                reduce_table.add new ReduceAction349(72)
                reduce_table.add new ReduceAction192(72)
@@ -372,8 +372,8 @@ redef class Parser
                reduce_table.add new ReduceAction358(72)
                reduce_table.add new ReduceAction359(72)
                reduce_table.add new ReduceAction360(72)
-               reduce_table.add new ReduceAction357(72)
-               reduce_table.add new ReduceAction358(72)
+               reduce_table.add new ReduceAction361(72)
+               reduce_table.add new ReduceAction362(72)
                reduce_table.add new ReduceAction363(72)
                reduce_table.add new ReduceAction364(72)
                reduce_table.add new ReduceAction365(72)
@@ -597,10 +597,10 @@ redef class Parser
                reduce_table.add new ReduceAction189(137)
                reduce_table.add new ReduceAction337(137)
                reduce_table.add new ReduceAction345(137)
-               reduce_table.add new ReduceAction184(137)
-               reduce_table.add new ReduceAction188(137)
-               reduce_table.add new ReduceAction335(137)
-               reduce_table.add new ReduceAction343(137)
+               reduce_table.add new ReduceAction186(137)
+               reduce_table.add new ReduceAction190(137)
+               reduce_table.add new ReduceAction339(137)
+               reduce_table.add new ReduceAction347(137)
                reduce_table.add new ReduceAction191(137)
                reduce_table.add new ReduceAction349(137)
                reduce_table.add new ReduceAction192(137)
@@ -613,8 +613,8 @@ redef class Parser
                reduce_table.add new ReduceAction358(137)
                reduce_table.add new ReduceAction359(137)
                reduce_table.add new ReduceAction360(137)
-               reduce_table.add new ReduceAction357(137)
-               reduce_table.add new ReduceAction358(137)
+               reduce_table.add new ReduceAction361(137)
+               reduce_table.add new ReduceAction362(137)
                reduce_table.add new ReduceAction363(137)
                reduce_table.add new ReduceAction364(137)
                reduce_table.add new ReduceAction365(137)
@@ -654,11 +654,11 @@ redef class Parser
                reduce_table.add new ReduceAction183(141)
                reduce_table.add new ReduceAction184(141)
                reduce_table.add new ReduceAction185(141)
-               reduce_table.add new ReduceAction184(141)
+               reduce_table.add new ReduceAction186(141)
                reduce_table.add new ReduceAction187(141)
                reduce_table.add new ReduceAction188(141)
                reduce_table.add new ReduceAction189(141)
-               reduce_table.add new ReduceAction188(141)
+               reduce_table.add new ReduceAction190(141)
                reduce_table.add new ReduceAction191(141)
                reduce_table.add new ReduceAction192(141)
                reduce_table.add new ReduceAction193(141)
@@ -677,16 +677,16 @@ redef class Parser
                reduce_table.add new ReduceAction212(142)
                reduce_table.add new ReduceAction213(142)
                reduce_table.add new ReduceAction214(142)
-               reduce_table.add new ReduceAction211(142)
-               reduce_table.add new ReduceAction212(142)
+               reduce_table.add new ReduceAction215(142)
+               reduce_table.add new ReduceAction216(142)
                reduce_table.add new ReduceAction217(142)
                reduce_table.add new ReduceAction218(142)
                reduce_table.add new ReduceAction219(142)
                reduce_table.add new ReduceAction220(142)
                reduce_table.add new ReduceAction221(142)
                reduce_table.add new ReduceAction222(142)
-               reduce_table.add new ReduceAction219(142)
-               reduce_table.add new ReduceAction220(142)
+               reduce_table.add new ReduceAction223(142)
+               reduce_table.add new ReduceAction224(142)
                reduce_table.add new ReduceAction225(142)
                reduce_table.add new ReduceAction226(142)
                reduce_table.add new ReduceAction227(142)
@@ -696,16 +696,16 @@ redef class Parser
                reduce_table.add new ReduceAction231(142)
                reduce_table.add new ReduceAction232(142)
                reduce_table.add new ReduceAction233(142)
-               reduce_table.add new ReduceAction230(142)
-               reduce_table.add new ReduceAction231(142)
+               reduce_table.add new ReduceAction234(142)
+               reduce_table.add new ReduceAction235(142)
                reduce_table.add new ReduceAction236(142)
                reduce_table.add new ReduceAction237(142)
                reduce_table.add new ReduceAction238(142)
                reduce_table.add new ReduceAction239(142)
                reduce_table.add new ReduceAction240(142)
                reduce_table.add new ReduceAction241(142)
-               reduce_table.add new ReduceAction238(142)
-               reduce_table.add new ReduceAction239(142)
+               reduce_table.add new ReduceAction242(142)
+               reduce_table.add new ReduceAction243(142)
                reduce_table.add new ReduceAction244(142)
                reduce_table.add new ReduceAction159(143)
                reduce_table.add new ReduceAction284(143)
@@ -762,16 +762,16 @@ redef class Parser
                reduce_table.add new ReduceAction335(156)
                reduce_table.add new ReduceAction185(156)
                reduce_table.add new ReduceAction337(156)
-               reduce_table.add new ReduceAction184(156)
-               reduce_table.add new ReduceAction335(156)
+               reduce_table.add new ReduceAction186(156)
+               reduce_table.add new ReduceAction339(156)
                reduce_table.add new ReduceAction187(156)
                reduce_table.add new ReduceAction341(156)
                reduce_table.add new ReduceAction188(156)
                reduce_table.add new ReduceAction343(156)
                reduce_table.add new ReduceAction189(156)
                reduce_table.add new ReduceAction345(156)
-               reduce_table.add new ReduceAction188(156)
-               reduce_table.add new ReduceAction343(156)
+               reduce_table.add new ReduceAction190(156)
+               reduce_table.add new ReduceAction347(156)
                reduce_table.add new ReduceAction191(156)
                reduce_table.add new ReduceAction349(156)
                reduce_table.add new ReduceAction192(156)
@@ -785,8 +785,8 @@ redef class Parser
                reduce_table.add new ReduceAction358(156)
                reduce_table.add new ReduceAction359(156)
                reduce_table.add new ReduceAction360(156)
-               reduce_table.add new ReduceAction357(156)
-               reduce_table.add new ReduceAction358(156)
+               reduce_table.add new ReduceAction361(156)
+               reduce_table.add new ReduceAction362(156)
                reduce_table.add new ReduceAction363(156)
                reduce_table.add new ReduceAction364(156)
                reduce_table.add new ReduceAction365(156)
@@ -868,10 +868,10 @@ redef class Parser
                reduce_table.add new ReduceAction854(179)
                reduce_table.add new ReduceAction855(179)
                reduce_table.add new ReduceAction856(179)
-               reduce_table.add new ReduceAction183(179)
-               reduce_table.add new ReduceAction333(179)
-               reduce_table.add new ReduceAction855(179)
-               reduce_table.add new ReduceAction856(179)
+               reduce_table.add new ReduceAction857(179)
+               reduce_table.add new ReduceAction858(179)
+               reduce_table.add new ReduceAction859(179)
+               reduce_table.add new ReduceAction860(179)
                reduce_table.add new ReduceAction191(179)
                reduce_table.add new ReduceAction349(179)
                reduce_table.add new ReduceAction863(179)
@@ -882,8 +882,8 @@ redef class Parser
                reduce_table.add new ReduceAction358(179)
                reduce_table.add new ReduceAction359(179)
                reduce_table.add new ReduceAction360(179)
-               reduce_table.add new ReduceAction357(179)
-               reduce_table.add new ReduceAction358(179)
+               reduce_table.add new ReduceAction361(179)
+               reduce_table.add new ReduceAction362(179)
                reduce_table.add new ReduceAction363(179)
                reduce_table.add new ReduceAction364(179)
                reduce_table.add new ReduceAction365(179)
@@ -924,11 +924,11 @@ redef class Parser
                reduce_table.add new ReduceAction183(184)
                reduce_table.add new ReduceAction184(184)
                reduce_table.add new ReduceAction185(184)
-               reduce_table.add new ReduceAction184(184)
+               reduce_table.add new ReduceAction186(184)
                reduce_table.add new ReduceAction187(184)
                reduce_table.add new ReduceAction188(184)
                reduce_table.add new ReduceAction189(184)
-               reduce_table.add new ReduceAction188(184)
+               reduce_table.add new ReduceAction190(184)
                reduce_table.add new ReduceAction191(184)
                reduce_table.add new ReduceAction192(184)
                reduce_table.add new ReduceAction193(184)
@@ -971,11 +971,11 @@ redef class Parser
                reduce_table.add new ReduceAction183(192)
                reduce_table.add new ReduceAction184(192)
                reduce_table.add new ReduceAction185(192)
-               reduce_table.add new ReduceAction184(192)
+               reduce_table.add new ReduceAction186(192)
                reduce_table.add new ReduceAction187(192)
                reduce_table.add new ReduceAction188(192)
                reduce_table.add new ReduceAction189(192)
-               reduce_table.add new ReduceAction188(192)
+               reduce_table.add new ReduceAction190(192)
                reduce_table.add new ReduceAction191(192)
                reduce_table.add new ReduceAction192(192)
                reduce_table.add new ReduceAction193(192)
@@ -5284,14 +5284,18 @@ private class ReduceAction183
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist4
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist5
-                                       assert pexprsnode4 isa nullable AExprs
+                                       var tidnode5 = nodearraylist4
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
+                                       )
+                                       var pexprsnode6 = nodearraylist5
+                                       assert pexprsnode6 isa nullable AExprs
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode6
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -5310,14 +5314,25 @@ private class ReduceAction184
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist5
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist6
-                                       assert pexprsnode4 isa nullable AExprs
+                                       var listnode5 = new Array[Object]
+                                       var tclassidnode6 = nodearraylist4
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
+                                       )
+                                       var tidnode7 = nodearraylist5
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var pexprsnode8 = nodearraylist6
+                                       assert pexprsnode8 isa nullable AExprs
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode8
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -5337,14 +5352,66 @@ private class ReduceAction185
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist6
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist7
-                                       assert pexprsnode4 isa nullable AExprs
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist5
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist6
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist7
+                                       assert pexprsnode9 isa nullable AExprs
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode9
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction186
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist5
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist6
+                                       assert pexprsnode9 isa nullable AExprs
+                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -5358,14 +5425,18 @@ private class ReduceAction187
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist1
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist2
-                                       assert pexprsnode4 isa nullable AExprs
+                                       var tidnode5 = nodearraylist1
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
+                                       )
+                                       var pexprsnode6 = nodearraylist2
+                                       assert pexprsnode6 isa nullable AExprs
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode6
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -5380,14 +5451,25 @@ private class ReduceAction188
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist2
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist3
-                                       assert pexprsnode4 isa nullable AExprs
+                                       var listnode5 = new Array[Object]
+                                       var tclassidnode6 = nodearraylist1
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
+                                       )
+                                       var tidnode7 = nodearraylist2
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var pexprsnode8 = nodearraylist3
+                                       assert pexprsnode8 isa nullable AExprs
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode8
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -5403,14 +5485,62 @@ private class ReduceAction189
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist4
-                                       assert pexprsnode4 isa nullable AExprs
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist2
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist3
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist4
+                                       assert pexprsnode9 isa nullable AExprs
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode9
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction190
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist2
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist3
+                                       assert pexprsnode9 isa nullable AExprs
+                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -5840,20 +5970,24 @@ private class ReduceAction209
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist4
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist5
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var tassignnode5 = nodearraylist6
-                                       assert tassignnode5 isa nullable TAssign
-                                       var pexprnode6 = nodearraylist7
-                                       assert pexprnode6 isa nullable AExpr
+                                       var tidnode5 = nodearraylist4
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
+                                       )
+                                       var pexprsnode6 = nodearraylist5
+                                       assert pexprsnode6 isa nullable AExprs
+                                       var tassignnode7 = nodearraylist6
+                                       assert tassignnode7 isa nullable TAssign
+                                       var pexprnode8 = nodearraylist7
+                                       assert pexprnode8 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode6,
+                                               tassignnode7,
+                                               pexprnode8
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -5872,22 +6006,26 @@ private class ReduceAction210
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist4
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var tidnode5 = nodearraylist4
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
                                        )
-                                       var tassignnode6 = nodearraylist5
-                                       assert tassignnode6 isa nullable TAssign
-                                       var pexprnode7 = nodearraylist6
-                                       assert pexprnode7 isa nullable AExpr
+                                       var listnode7 = new Array[Object]
+                                       var pexprsnode6: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode7
+                                       )
+                                       var tassignnode8 = nodearraylist5
+                                       assert tassignnode8 isa nullable TAssign
+                                       var pexprnode9 = nodearraylist6
+                                       assert pexprnode9 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode6,
+                                               tassignnode8,
+                                               pexprnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -5908,20 +6046,31 @@ private class ReduceAction211
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist5
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist6
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var tassignnode5 = nodearraylist7
-                                       assert tassignnode5 isa nullable TAssign
-                                       var pexprnode6 = nodearraylist8
-                                       assert pexprnode6 isa nullable AExpr
+                                       var listnode5 = new Array[Object]
+                                       var tclassidnode6 = nodearraylist4
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
+                                       )
+                                       var tidnode7 = nodearraylist5
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var pexprsnode8 = nodearraylist6
+                                       assert pexprsnode8 isa nullable AExprs
+                                       var tassignnode9 = nodearraylist7
+                                       assert tassignnode9 isa nullable TAssign
+                                       var pexprnode10 = nodearraylist8
+                                       assert pexprnode10 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode8,
+                                               tassignnode9,
+                                               pexprnode10
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -5941,22 +6090,33 @@ private class ReduceAction212
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist5
-                                       assert tidnode3 isa nullable TId
                                        var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var tclassidnode6 = nodearraylist4
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
                                        )
-                                       var tassignnode6 = nodearraylist6
-                                       assert tassignnode6 isa nullable TAssign
-                                       var pexprnode7 = nodearraylist7
-                                       assert pexprnode7 isa nullable AExpr
+                                       var tidnode7 = nodearraylist5
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var listnode9 = new Array[Object]
+                                       var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode9
+                                       )
+                                       var tassignnode10 = nodearraylist6
+                                       assert tassignnode10 isa nullable TAssign
+                                       var pexprnode11 = nodearraylist7
+                                       assert pexprnode11 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode8,
+                                               tassignnode10,
+                                               pexprnode11
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -5978,20 +6138,34 @@ private class ReduceAction213
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist6
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist7
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var tassignnode5 = nodearraylist8
-                                       assert tassignnode5 isa nullable TAssign
-                                       var pexprnode6 = nodearraylist9
-                                       assert pexprnode6 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist5
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist6
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist7
+                                       assert pexprsnode9 isa nullable AExprs
+                                       var tassignnode10 = nodearraylist8
+                                       assert tassignnode10 isa nullable TAssign
+                                       var pexprnode11 = nodearraylist9
+                                       assert pexprnode11 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               tassignnode10,
+                                               pexprnode11
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -6012,51 +6186,162 @@ private class ReduceAction214
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist6
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist5
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
                                        )
-                                       var tassignnode6 = nodearraylist7
-                                       assert tassignnode6 isa nullable TAssign
-                                       var pexprnode7 = nodearraylist8
-                                       assert pexprnode7 isa nullable AExpr
+                                       var tidnode8 = nodearraylist6
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
+                                       )
+                                       var tassignnode11 = nodearraylist7
+                                       assert tassignnode11 isa nullable TAssign
+                                       var pexprnode12 = nodearraylist8
+                                       assert pexprnode12 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               tassignnode11,
+                                               pexprnode12
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction217
+private class ReduceAction215
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist1
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist2
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var tassignnode5 = nodearraylist3
-                                       assert tassignnode5 isa nullable TAssign
-                                       var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable AExpr
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist5
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist6
+                                       assert pexprsnode9 isa nullable AExprs
+                                       var tassignnode10 = nodearraylist7
+                                       assert tassignnode10 isa nullable TAssign
+                                       var pexprnode11 = nodearraylist8
+                                       assert pexprnode11 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               tassignnode10,
+                                               pexprnode11
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction216
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist5
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
+                                       )
+                                       var tassignnode11 = nodearraylist6
+                                       assert tassignnode11 isa nullable TAssign
+                                       var pexprnode12 = nodearraylist7
+                                       assert pexprnode12 isa nullable AExpr
+                                       var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               tassignnode11,
+                                               pexprnode12
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction217
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
+                                       var tidnode5 = nodearraylist1
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
+                                       )
+                                       var pexprsnode6 = nodearraylist2
+                                       assert pexprsnode6 isa nullable AExprs
+                                       var tassignnode7 = nodearraylist3
+                                       assert tassignnode7 isa nullable TAssign
+                                       var pexprnode8 = nodearraylist4
+                                       assert pexprnode8 isa nullable AExpr
+                                       var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode6,
+                                               tassignnode7,
+                                               pexprnode8
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -6071,22 +6356,26 @@ private class ReduceAction218
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist1
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var tidnode5 = nodearraylist1
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
                                        )
-                                       var tassignnode6 = nodearraylist2
-                                       assert tassignnode6 isa nullable TAssign
-                                       var pexprnode7 = nodearraylist3
-                                       assert pexprnode7 isa nullable AExpr
+                                       var listnode7 = new Array[Object]
+                                       var pexprsnode6: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode7
+                                       )
+                                       var tassignnode8 = nodearraylist2
+                                       assert tassignnode8 isa nullable TAssign
+                                       var pexprnode9 = nodearraylist3
+                                       assert pexprnode9 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode6,
+                                               tassignnode8,
+                                               pexprnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -6103,20 +6392,31 @@ private class ReduceAction219
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist2
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist3
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var tassignnode5 = nodearraylist4
-                                       assert tassignnode5 isa nullable TAssign
-                                       var pexprnode6 = nodearraylist5
-                                       assert pexprnode6 isa nullable AExpr
+                                       var listnode5 = new Array[Object]
+                                       var tclassidnode6 = nodearraylist1
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
+                                       )
+                                       var tidnode7 = nodearraylist2
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var pexprsnode8 = nodearraylist3
+                                       assert pexprsnode8 isa nullable AExprs
+                                       var tassignnode9 = nodearraylist4
+                                       assert tassignnode9 isa nullable TAssign
+                                       var pexprnode10 = nodearraylist5
+                                       assert pexprnode10 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode8,
+                                               tassignnode9,
+                                               pexprnode10
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -6132,22 +6432,33 @@ private class ReduceAction220
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist2
-                                       assert tidnode3 isa nullable TId
                                        var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var tclassidnode6 = nodearraylist1
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
                                        )
-                                       var tassignnode6 = nodearraylist3
-                                       assert tassignnode6 isa nullable TAssign
-                                       var pexprnode7 = nodearraylist4
-                                       assert pexprnode7 isa nullable AExpr
+                                       var tidnode7 = nodearraylist2
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var listnode9 = new Array[Object]
+                                       var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode9
+                                       )
+                                       var tassignnode10 = nodearraylist3
+                                       assert tassignnode10 isa nullable TAssign
+                                       var pexprnode11 = nodearraylist4
+                                       assert pexprnode11 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode8,
+                                               tassignnode10,
+                                               pexprnode11
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -6165,20 +6476,34 @@ private class ReduceAction221
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist4
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var tassignnode5 = nodearraylist5
-                                       assert tassignnode5 isa nullable TAssign
-                                       var pexprnode6 = nodearraylist6
-                                       assert pexprnode6 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist2
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist3
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist4
+                                       assert pexprsnode9 isa nullable AExprs
+                                       var tassignnode10 = nodearraylist5
+                                       assert tassignnode10 isa nullable TAssign
+                                       var pexprnode11 = nodearraylist6
+                                       assert pexprnode11 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               tassignnode10,
+                                               pexprnode11
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -6195,22 +6520,121 @@ private class ReduceAction222
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist2
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
                                        )
-                                       var tassignnode6 = nodearraylist4
-                                       assert tassignnode6 isa nullable TAssign
-                                       var pexprnode7 = nodearraylist5
-                                       assert pexprnode7 isa nullable AExpr
+                                       var tidnode8 = nodearraylist3
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
+                                       )
+                                       var tassignnode11 = nodearraylist4
+                                       assert tassignnode11 isa nullable TAssign
+                                       var pexprnode12 = nodearraylist5
+                                       assert pexprnode12 isa nullable AExpr
                                        var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               tassignnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               tassignnode11,
+                                               pexprnode12
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction223
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist2
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist3
+                                       assert pexprsnode9 isa nullable AExprs
+                                       var tassignnode10 = nodearraylist4
+                                       assert tassignnode10 isa nullable TAssign
+                                       var pexprnode11 = nodearraylist5
+                                       assert pexprnode11 isa nullable AExpr
+                                       var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               tassignnode10,
+                                               pexprnode11
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction224
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist2
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
+                                       )
+                                       var tassignnode11 = nodearraylist3
+                                       assert tassignnode11 isa nullable TAssign
+                                       var pexprnode12 = nodearraylist4
+                                       assert pexprnode12 isa nullable AExpr
+                                       var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               tassignnode11,
+                                               pexprnode12
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -6313,20 +6737,24 @@ private class ReduceAction228
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist4
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist5
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var passignopnode5 = nodearraylist6
-                                       assert passignopnode5 isa nullable AAssignOp
-                                       var pexprnode6 = nodearraylist7
-                                       assert pexprnode6 isa nullable AExpr
+                                       var tidnode5 = nodearraylist4
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
+                                       )
+                                       var pexprsnode6 = nodearraylist5
+                                       assert pexprsnode6 isa nullable AExprs
+                                       var passignopnode7 = nodearraylist6
+                                       assert passignopnode7 isa nullable AAssignOp
+                                       var pexprnode8 = nodearraylist7
+                                       assert pexprnode8 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode6,
+                                               passignopnode7,
+                                               pexprnode8
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -6345,22 +6773,26 @@ private class ReduceAction229
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist4
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var tidnode5 = nodearraylist4
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
                                        )
-                                       var passignopnode6 = nodearraylist5
-                                       assert passignopnode6 isa nullable AAssignOp
-                                       var pexprnode7 = nodearraylist6
-                                       assert pexprnode7 isa nullable AExpr
+                                       var listnode7 = new Array[Object]
+                                       var pexprsnode6: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode7
+                                       )
+                                       var passignopnode8 = nodearraylist5
+                                       assert passignopnode8 isa nullable AAssignOp
+                                       var pexprnode9 = nodearraylist6
+                                       assert pexprnode9 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode6,
+                                               passignopnode8,
+                                               pexprnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -6381,20 +6813,31 @@ private class ReduceAction230
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist5
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist6
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var passignopnode5 = nodearraylist7
-                                       assert passignopnode5 isa nullable AAssignOp
-                                       var pexprnode6 = nodearraylist8
-                                       assert pexprnode6 isa nullable AExpr
+                                       var listnode5 = new Array[Object]
+                                       var tclassidnode6 = nodearraylist4
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
+                                       )
+                                       var tidnode7 = nodearraylist5
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var pexprsnode8 = nodearraylist6
+                                       assert pexprsnode8 isa nullable AExprs
+                                       var passignopnode9 = nodearraylist7
+                                       assert passignopnode9 isa nullable AAssignOp
+                                       var pexprnode10 = nodearraylist8
+                                       assert pexprnode10 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode8,
+                                               passignopnode9,
+                                               pexprnode10
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -6414,22 +6857,33 @@ private class ReduceAction231
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist5
-                                       assert tidnode3 isa nullable TId
                                        var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var tclassidnode6 = nodearraylist4
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
                                        )
-                                       var passignopnode6 = nodearraylist6
-                                       assert passignopnode6 isa nullable AAssignOp
-                                       var pexprnode7 = nodearraylist7
-                                       assert pexprnode7 isa nullable AExpr
+                                       var tidnode7 = nodearraylist5
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var listnode9 = new Array[Object]
+                                       var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode9
+                                       )
+                                       var passignopnode10 = nodearraylist6
+                                       assert passignopnode10 isa nullable AAssignOp
+                                       var pexprnode11 = nodearraylist7
+                                       assert pexprnode11 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode8,
+                                               passignopnode10,
+                                               pexprnode11
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -6451,239 +6905,503 @@ private class ReduceAction232
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist6
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist7
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var passignopnode5 = nodearraylist8
-                                       assert passignopnode5 isa nullable AAssignOp
-                                       var pexprnode6 = nodearraylist9
-                                       assert pexprnode6 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist5
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist6
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist7
+                                       assert pexprsnode9 isa nullable AExprs
+                                       var passignopnode10 = nodearraylist8
+                                       assert passignopnode10 isa nullable AAssignOp
+                                       var pexprnode11 = nodearraylist9
+                                       assert pexprnode11 isa nullable AExpr
+                                       var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               passignopnode10,
+                                               pexprnode11
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction233
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist5
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist6
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
+                                       )
+                                       var passignopnode11 = nodearraylist7
+                                       assert passignopnode11 isa nullable AAssignOp
+                                       var pexprnode12 = nodearraylist8
+                                       assert pexprnode12 isa nullable AExpr
+                                       var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               passignopnode11,
+                                               pexprnode12
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction234
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist5
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist6
+                                       assert pexprsnode9 isa nullable AExprs
+                                       var passignopnode10 = nodearraylist7
+                                       assert passignopnode10 isa nullable AAssignOp
+                                       var pexprnode11 = nodearraylist8
+                                       assert pexprnode11 isa nullable AExpr
+                                       var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               passignopnode10,
+                                               pexprnode11
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction235
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist5
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
+                                       )
+                                       var passignopnode11 = nodearraylist6
+                                       assert passignopnode11 isa nullable AAssignOp
+                                       var pexprnode12 = nodearraylist7
+                                       assert pexprnode12 isa nullable AExpr
+                                       var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               passignopnode11,
+                                               pexprnode12
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction236
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
+                                       var tidnode5 = nodearraylist1
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
+                                       )
+                                       var pexprsnode6 = nodearraylist2
+                                       assert pexprsnode6 isa nullable AExprs
+                                       var passignopnode7 = nodearraylist3
+                                       assert passignopnode7 isa nullable AAssignOp
+                                       var pexprnode8 = nodearraylist4
+                                       assert pexprnode8 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode6,
+                                               passignopnode7,
+                                               pexprnode8
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction233
+private class ReduceAction237
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist8 = p.pop
-                                       var nodearraylist7 = p.pop
-                                       var nodearraylist6 = p.pop
-                                       var nodearraylist5 = p.pop
-                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
-                                       var pexprnode2 = nodearraylist1
-                                       assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist6
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
+                                       var tidnode5 = nodearraylist1
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
                                        )
-                                       var passignopnode6 = nodearraylist7
-                                       assert passignopnode6 isa nullable AAssignOp
-                                       var pexprnode7 = nodearraylist8
-                                       assert pexprnode7 isa nullable AExpr
+                                       var listnode7 = new Array[Object]
+                                       var pexprsnode6: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode7
+                                       )
+                                       var passignopnode8 = nodearraylist2
+                                       assert passignopnode8 isa nullable AAssignOp
+                                       var pexprnode9 = nodearraylist3
+                                       assert pexprnode9 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode6,
+                                               passignopnode8,
+                                               pexprnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction236
+private class ReduceAction238
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist1
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist2
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var passignopnode5 = nodearraylist3
-                                       assert passignopnode5 isa nullable AAssignOp
-                                       var pexprnode6 = nodearraylist4
-                                       assert pexprnode6 isa nullable AExpr
+                                       var listnode5 = new Array[Object]
+                                       var tclassidnode6 = nodearraylist1
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
+                                       )
+                                       var tidnode7 = nodearraylist2
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var pexprsnode8 = nodearraylist3
+                                       assert pexprsnode8 isa nullable AExprs
+                                       var passignopnode9 = nodearraylist4
+                                       assert passignopnode9 isa nullable AAssignOp
+                                       var pexprnode10 = nodearraylist5
+                                       assert pexprnode10 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode8,
+                                               passignopnode9,
+                                               pexprnode10
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction237
+private class ReduceAction239
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist1
-                                       assert tidnode3 isa nullable TId
                                        var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var tclassidnode6 = nodearraylist1
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
                                        )
-                                       var passignopnode6 = nodearraylist2
-                                       assert passignopnode6 isa nullable AAssignOp
-                                       var pexprnode7 = nodearraylist3
-                                       assert pexprnode7 isa nullable AExpr
+                                       var tidnode7 = nodearraylist2
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var listnode9 = new Array[Object]
+                                       var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode9
+                                       )
+                                       var passignopnode10 = nodearraylist3
+                                       assert passignopnode10 isa nullable AAssignOp
+                                       var pexprnode11 = nodearraylist4
+                                       assert pexprnode11 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode8,
+                                               passignopnode10,
+                                               pexprnode11
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction238
+private class ReduceAction240
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist6 = p.pop
                                        var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist2
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist3
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var passignopnode5 = nodearraylist4
-                                       assert passignopnode5 isa nullable AAssignOp
-                                       var pexprnode6 = nodearraylist5
-                                       assert pexprnode6 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist2
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist3
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist4
+                                       assert pexprsnode9 isa nullable AExprs
+                                       var passignopnode10 = nodearraylist5
+                                       assert passignopnode10 isa nullable AAssignOp
+                                       var pexprnode11 = nodearraylist6
+                                       assert pexprnode11 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               passignopnode10,
+                                               pexprnode11
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction239
+private class ReduceAction241
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
+                                       var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist2
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist2
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
                                        )
-                                       var passignopnode6 = nodearraylist3
-                                       assert passignopnode6 isa nullable AAssignOp
-                                       var pexprnode7 = nodearraylist4
-                                       assert pexprnode7 isa nullable AExpr
+                                       var tidnode8 = nodearraylist3
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
+                                       )
+                                       var passignopnode11 = nodearraylist4
+                                       assert passignopnode11 isa nullable AAssignOp
+                                       var pexprnode12 = nodearraylist5
+                                       assert pexprnode12 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               passignopnode11,
+                                               pexprnode12
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction240
+private class ReduceAction242
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist6 = p.pop
                                        var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist4
-                                       assert pexprsnode4 isa nullable AExprs
-                                       var passignopnode5 = nodearraylist5
-                                       assert passignopnode5 isa nullable AAssignOp
-                                       var pexprnode6 = nodearraylist6
-                                       assert pexprnode6 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist2
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist3
+                                       assert pexprsnode9 isa nullable AExprs
+                                       var passignopnode10 = nodearraylist4
+                                       assert passignopnode10 isa nullable AAssignOp
+                                       var pexprnode11 = nodearraylist5
+                                       assert pexprnode11 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode5,
-                                               pexprnode6
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               passignopnode10,
+                                               pexprnode11
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
        end
 end
-private class ReduceAction241
+private class ReduceAction243
        super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
-                                       var nodearraylist5 = p.pop
                                        var nodearraylist4 = p.pop
                                        var nodearraylist3 = p.pop
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
                                        )
-                                       var passignopnode6 = nodearraylist4
-                                       assert passignopnode6 isa nullable AAssignOp
-                                       var pexprnode7 = nodearraylist5
-                                       assert pexprnode7 isa nullable AExpr
+                                       var tidnode8 = nodearraylist2
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
+                                       )
+                                       var passignopnode11 = nodearraylist3
+                                       assert passignopnode11 isa nullable AAssignOp
+                                       var pexprnode12 = nodearraylist4
+                                       assert pexprnode12 isa nullable AExpr
                                        var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4,
-                                               passignopnode6,
-                                               pexprnode7
+                                               pqidnode3,
+                                               pexprsnode9,
+                                               passignopnode11,
+                                               pexprnode12
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -8477,16 +9195,20 @@ private class ReduceAction333
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist4
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var tidnode5 = nodearraylist4
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
+                                       )
+                                       var listnode7 = new Array[Object]
+                                       var pexprsnode6: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode7
                                        )
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode6
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -8504,16 +9226,27 @@ private class ReduceAction335
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist5
-                                       assert tidnode3 isa nullable TId
                                        var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var tclassidnode6 = nodearraylist4
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
+                                       )
+                                       var tidnode7 = nodearraylist5
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var listnode9 = new Array[Object]
+                                       var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode9
                                        )
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode8
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -8532,16 +9265,69 @@ private class ReduceAction337
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist6
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist5
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist6
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
                                        )
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode9
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction339
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist4
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist5
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
+                                       )
+                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -8554,16 +9340,20 @@ private class ReduceAction341
                                        var node_list: nullable Object = null
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist1
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var tidnode5 = nodearraylist1
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
+                                       )
+                                       var listnode7 = new Array[Object]
+                                       var pexprsnode6: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode7
                                        )
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode6
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -8577,16 +9367,27 @@ private class ReduceAction343
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist2
-                                       assert tidnode3 isa nullable TId
                                        var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var tclassidnode6 = nodearraylist1
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
+                                       )
+                                       var tidnode7 = nodearraylist2
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var listnode9 = new Array[Object]
+                                       var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode9
                                        )
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode8
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -8601,16 +9402,65 @@ private class ReduceAction345
                                        var nodearraylist2 = p.pop
                                        var nodearraylist1 = p.pop
                                        var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist2
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist3
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
+                                       )
+                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction347
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist1
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist2
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
                                        )
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -8723,15 +9573,19 @@ private class ReduceAction355
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
                                        assert ptypenode3 isa nullable AType
-                                       var tidnode4 = nodearraylist6
-                                       assert tidnode4 isa nullable TId
-                                       var pexprsnode5 = nodearraylist7
-                                       assert pexprsnode5 isa nullable AExprs
+                                       var tidnode6 = nodearraylist6
+                                       assert tidnode6 isa nullable TId
+                                       var pqidnode4: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode6
+                                       )
+                                       var pexprsnode7 = nodearraylist7
+                                       assert pexprsnode7 isa nullable AExprs
                                        var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
                                                tkwnewnode2,
                                                ptypenode3,
-                                               tidnode4,
-                                               pexprsnode5
+                                               pqidnode4,
+                                               pexprsnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -8752,17 +9606,21 @@ private class ReduceAction356
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
                                        assert ptypenode3 isa nullable AType
-                                       var tidnode4 = nodearraylist6
-                                       assert tidnode4 isa nullable TId
-                                       var listnode6 = new Array[Object]
-                                       var pexprsnode5: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode6
+                                       var tidnode6 = nodearraylist6
+                                       assert tidnode6 isa nullable TId
+                                       var pqidnode4: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode6
+                                       )
+                                       var listnode8 = new Array[Object]
+                                       var pexprsnode7: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode8
                                        )
                                        var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
                                                tkwnewnode2,
                                                ptypenode3,
-                                               tidnode4,
-                                               pexprsnode5
+                                               pqidnode4,
+                                               pexprsnode7
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -8785,15 +9643,26 @@ private class ReduceAction357
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
                                        assert ptypenode3 isa nullable AType
-                                       var tidnode4 = nodearraylist7
-                                       assert tidnode4 isa nullable TId
-                                       var pexprsnode5 = nodearraylist8
-                                       assert pexprsnode5 isa nullable AExprs
+                                       var listnode6 = new Array[Object]
+                                       var tclassidnode7 = nodearraylist6
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist7
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode4: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode5,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist8
+                                       assert pexprsnode9 isa nullable AExprs
                                        var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
                                                tkwnewnode2,
                                                ptypenode3,
-                                               tidnode4,
-                                               pexprsnode5
+                                               pqidnode4,
+                                               pexprsnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -8815,17 +9684,28 @@ private class ReduceAction358
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
                                        assert ptypenode3 isa nullable AType
-                                       var tidnode4 = nodearraylist7
-                                       assert tidnode4 isa nullable TId
                                        var listnode6 = new Array[Object]
-                                       var pexprsnode5: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode6
+                                       var tclassidnode7 = nodearraylist6
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist7
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode4: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode5,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
                                        )
                                        var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
                                                tkwnewnode2,
                                                ptypenode3,
-                                               tidnode4,
-                                               pexprsnode5
+                                               pqidnode4,
+                                               pexprsnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -8849,15 +9729,29 @@ private class ReduceAction359
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
                                        assert ptypenode3 isa nullable AType
-                                       var tidnode4 = nodearraylist8
-                                       assert tidnode4 isa nullable TId
-                                       var pexprsnode5 = nodearraylist9
-                                       assert pexprsnode5 isa nullable AExprs
+                                       var listnode7 = new Array[Object]
+                                       var listnode6 = nodearraylist6
+                                       assert listnode6 isa Array[Object]
+                                       listnode7 = concat(listnode7, listnode6)
+                                       var tclassidnode8 = nodearraylist7
+                                       assert tclassidnode8 isa nullable TClassid
+                                       var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode7,
+                                               tclassidnode8
+                                       )
+                                       var tidnode9 = nodearraylist8
+                                       assert tidnode9 isa nullable TId
+                                       var pqidnode4: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode5,
+                                               tidnode9
+                                       )
+                                       var pexprsnode10 = nodearraylist9
+                                       assert pexprsnode10 isa nullable AExprs
                                        var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
                                                tkwnewnode2,
                                                ptypenode3,
-                                               tidnode4,
-                                               pexprsnode5
+                                               pqidnode4,
+                                               pexprsnode10
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -8880,17 +9774,118 @@ private class ReduceAction360
                                        assert tkwnewnode2 isa nullable TKwnew
                                        var ptypenode3 = nodearraylist3
                                        assert ptypenode3 isa nullable AType
-                                       var tidnode4 = nodearraylist8
-                                       assert tidnode4 isa nullable TId
-                                       var listnode6 = new Array[Object]
-                                       var pexprsnode5: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode6
+                                       var listnode7 = new Array[Object]
+                                       var listnode6 = nodearraylist6
+                                       assert listnode6 isa Array[Object]
+                                       listnode7 = concat(listnode7, listnode6)
+                                       var tclassidnode8 = nodearraylist7
+                                       assert tclassidnode8 isa nullable TClassid
+                                       var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode7,
+                                               tclassidnode8
+                                       )
+                                       var tidnode9 = nodearraylist8
+                                       assert tidnode9 isa nullable TId
+                                       var pqidnode4: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode5,
+                                               tidnode9
+                                       )
+                                       var listnode11 = new Array[Object]
+                                       var pexprsnode10: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode11
                                        )
                                        var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
                                                tkwnewnode2,
                                                ptypenode3,
-                                               tidnode4,
-                                               pexprsnode5
+                                               pqidnode4,
+                                               pexprsnode10
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction361
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist8 = p.pop
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var tkwnewnode2 = nodearraylist1
+                                       assert tkwnewnode2 isa nullable TKwnew
+                                       var ptypenode3 = nodearraylist3
+                                       assert ptypenode3 isa nullable AType
+                                       var listnode7 = new Array[Object]
+                                       var listnode6 = nodearraylist6
+                                       assert listnode6 isa Array[Object]
+                                       listnode7 = concat(listnode7, listnode6)
+                                       var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode7,
+                                               null
+                                       )
+                                       var tidnode9 = nodearraylist7
+                                       assert tidnode9 isa nullable TId
+                                       var pqidnode4: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode5,
+                                               tidnode9
+                                       )
+                                       var pexprsnode10 = nodearraylist8
+                                       assert pexprsnode10 isa nullable AExprs
+                                       var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
+                                               tkwnewnode2,
+                                               ptypenode3,
+                                               pqidnode4,
+                                               pexprsnode10
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction362
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist7 = p.pop
+                                       var nodearraylist6 = p.pop
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var tkwnewnode2 = nodearraylist1
+                                       assert tkwnewnode2 isa nullable TKwnew
+                                       var ptypenode3 = nodearraylist3
+                                       assert ptypenode3 isa nullable AType
+                                       var listnode7 = new Array[Object]
+                                       var listnode6 = nodearraylist6
+                                       assert listnode6 isa Array[Object]
+                                       listnode7 = concat(listnode7, listnode6)
+                                       var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode7,
+                                               null
+                                       )
+                                       var tidnode9 = nodearraylist7
+                                       assert tidnode9 isa nullable TId
+                                       var pqidnode4: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode5,
+                                               tidnode9
+                                       )
+                                       var listnode11 = new Array[Object]
+                                       var pexprsnode10: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode11
+                                       )
+                                       var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
+                                               tkwnewnode2,
+                                               ptypenode3,
+                                               pqidnode4,
+                                               pexprsnode10
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -10947,14 +11942,18 @@ private class ReduceAction853
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist2
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist3
-                                       assert pexprsnode4 isa nullable AExprs
+                                       var tidnode5 = nodearraylist2
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
+                                       )
+                                       var pexprsnode6 = nodearraylist3
+                                       assert pexprsnode6 isa nullable AExprs
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode6
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -10969,16 +11968,20 @@ private class ReduceAction854
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist2
-                                       assert tidnode3 isa nullable TId
-                                       var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var tidnode5 = nodearraylist2
+                                       assert tidnode5 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               null,
+                                               tidnode5
+                                       )
+                                       var listnode7 = new Array[Object]
+                                       var pexprsnode6: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode7
                                        )
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode6
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -10995,14 +11998,25 @@ private class ReduceAction855
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
-                                       var pexprsnode4 = nodearraylist4
-                                       assert pexprsnode4 isa nullable AExprs
+                                       var listnode5 = new Array[Object]
+                                       var tclassidnode6 = nodearraylist2
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
+                                       )
+                                       var tidnode7 = nodearraylist3
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var pexprsnode8 = nodearraylist4
+                                       assert pexprsnode8 isa nullable AExprs
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode8
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
@@ -11018,16 +12032,179 @@ private class ReduceAction856
                                        var nodearraylist1 = p.pop
                                        var pexprnode2 = nodearraylist1
                                        assert pexprnode2 isa nullable AExpr
-                                       var tidnode3 = nodearraylist3
-                                       assert tidnode3 isa nullable TId
                                        var listnode5 = new Array[Object]
-                                       var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
-                                               listnode5
+                                       var tclassidnode6 = nodearraylist2
+                                       assert tclassidnode6 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode5,
+                                               tclassidnode6
+                                       )
+                                       var tidnode7 = nodearraylist3
+                                       assert tidnode7 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode7
+                                       )
+                                       var listnode9 = new Array[Object]
+                                       var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode9
                                        )
                                        var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
                                                pexprnode2,
-                                               tidnode3,
-                                               pexprsnode4
+                                               pqidnode3,
+                                               pexprsnode8
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction857
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist5 = p.pop
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist2
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist3
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist4
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist5
+                                       assert pexprsnode9 isa nullable AExprs
+                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction858
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist2
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var tclassidnode7 = nodearraylist3
+                                       assert tclassidnode7 isa nullable TClassid
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               tclassidnode7
+                                       )
+                                       var tidnode8 = nodearraylist4
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
+                                       )
+                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction859
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist4 = p.pop
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist2
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist3
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var pexprsnode9 = nodearraylist4
+                                       assert pexprsnode9 isa nullable AExprs
+                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9
+                                       )
+                                       node_list = pexprnode1
+                                       p.push(p.go_to(_goto), node_list)
+       end
+end
+private class ReduceAction860
+       super ReduceAction
+       redef fun action(p: Parser)
+       do
+                                       var node_list: nullable Object = null
+                                       var nodearraylist3 = p.pop
+                                       var nodearraylist2 = p.pop
+                                       var nodearraylist1 = p.pop
+                                       var pexprnode2 = nodearraylist1
+                                       assert pexprnode2 isa nullable AExpr
+                                       var listnode6 = new Array[Object]
+                                       var listnode5 = nodearraylist2
+                                       assert listnode5 isa Array[Object]
+                                       listnode6 = concat(listnode6, listnode5)
+                                       var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
+                                               listnode6,
+                                               null
+                                       )
+                                       var tidnode8 = nodearraylist3
+                                       assert tidnode8 isa nullable TId
+                                       var pqidnode3: nullable AQid = new AQid.init_aqid(
+                                               pqualifiednode4,
+                                               tidnode8
+                                       )
+                                       var listnode10 = new Array[Object]
+                                       var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
+                                               listnode10
+                                       )
+                                       var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
+                                               pexprnode2,
+                                               pqidnode3,
+                                               pexprsnode9
                                        )
                                        node_list = pexprnode1
                                        p.push(p.go_to(_goto), node_list)
index 0110c86..4f7dc47 100644 (file)
@@ -353,6 +353,7 @@ class AClasskind super Prod end
 class AFormaldef super Prod end
 class APropdef super Prod end
 class AMethid super Prod end
+class AQid super Prod end
 class ASignature super Prod end
 class AParam super Prod end
 class AType super Prod end
@@ -629,6 +630,11 @@ class ABraassignMethid
        var n_cbra: TCbra is writable, noinit
        var n_assign: TAssign is writable, noinit
 end
+class AQid
+       super AQid
+       var n_qualified: nullable AQualified = null is writable
+       var n_id: TId is writable, noinit
+end
 class ASignature
        super ASignature
        var n_opar: nullable TOpar = null is writable
@@ -931,7 +937,7 @@ class ANewExpr
        super AExpr
        var n_kwnew: TKwnew is writable, noinit
        var n_type: AType is writable, noinit
-       var n_id: nullable TId = null is writable
+       var n_qid: nullable AQid = null is writable
        var n_args: AExprs is writable, noinit
 end
 class AAttrExpr
@@ -956,13 +962,13 @@ end
 class ACallExpr
        super AExpr
        var n_expr: AExpr is writable, noinit
-       var n_id: TId is writable, noinit
+       var n_qid: AQid is writable, noinit
        var n_args: AExprs is writable, noinit
 end
 class ACallAssignExpr
        super AExpr
        var n_expr: AExpr is writable, noinit
-       var n_id: TId is writable, noinit
+       var n_qid: AQid is writable, noinit
        var n_args: AExprs is writable, noinit
        var n_assign: TAssign is writable, noinit
        var n_value: AExpr is writable, noinit
@@ -970,7 +976,7 @@ end
 class ACallReassignExpr
        super AExpr
        var n_expr: AExpr is writable, noinit
-       var n_id: TId is writable, noinit
+       var n_qid: AQid is writable, noinit
        var n_args: AExprs is writable, noinit
        var n_assign_op: AAssignOp is writable, noinit
        var n_value: AExpr is writable, noinit
index 06a18a2..7e3f7ff 100644 (file)
@@ -1648,6 +1648,16 @@ class ABraassignMethid
        var n_assign: TAssign is writable, noinit
 end
 
+# A potentially qualified simple identifier `foo::bar::baz`
+class AQid
+       super Prod
+       # The qualifier, if any
+       var n_qualified: nullable AQualified = null is writable
+
+       # The final identifier
+       var n_id: TId is writable, noinit
+end
+
 # A signature in a method definition. eg `(x,y:X,z:Z):T`
 class ASignature
        super Prod
@@ -2228,7 +2238,7 @@ class ANewExpr
        var n_type: AType is writable, noinit
 
        # The name of the named-constructor, if any
-       var n_id: nullable TId = null is writable
+       var n_qid: nullable AQid = null is writable
 
        # The arguments of the `new`
        var n_args: AExprs is writable, noinit
@@ -2262,7 +2272,7 @@ abstract class ACallFormExpr
        super ASendExpr
 
        # The name of the method
-       var n_id: TId is writable, noinit
+       var n_qid: AQid is writable, noinit
 
        # The arguments of the call
        var n_args: AExprs is writable, noinit
index 3e5de8c..9f2d4f2 100644 (file)
@@ -2230,6 +2230,48 @@ redef class ABraassignMethid
                v.enter_visit(_n_assign)
        end
 end
+redef class AQid
+       init init_aqid (
+               n_qualified: nullable AQualified,
+               n_id: nullable TId
+       )
+       do
+               _n_qualified = n_qualified
+               if n_qualified != null then n_qualified.parent = self
+               _n_id = n_id.as(not null)
+               n_id.parent = self
+       end
+
+       redef fun replace_child(old_child: ANode, new_child: nullable ANode)
+       do
+               if _n_qualified == old_child then
+                       n_qualified = new_child.as(nullable AQualified)
+                       return
+               end
+               if _n_id == old_child then
+                       n_id = new_child.as(TId)
+                       return
+               end
+       end
+
+       redef fun n_qualified=(node)
+       do
+               _n_qualified = node
+               if node != null then node.parent = self
+       end
+       redef fun n_id=(node)
+       do
+               _n_id = node
+               node.parent = self
+       end
+
+
+       redef fun visit_all(v: Visitor)
+       do
+               v.enter_visit(_n_qualified)
+               v.enter_visit(_n_id)
+       end
+end
 redef class ASignature
        init init_asignature (
                n_opar: nullable TOpar,
@@ -4968,7 +5010,7 @@ redef class ANewExpr
        init init_anewexpr (
                n_kwnew: nullable TKwnew,
                n_type: nullable AType,
-               n_id: nullable TId,
+               n_qid: nullable AQid,
                n_args: nullable AExprs
        )
        do
@@ -4976,8 +5018,8 @@ redef class ANewExpr
                n_kwnew.parent = self
                _n_type = n_type.as(not null)
                n_type.parent = self
-               _n_id = n_id
-               if n_id != null then n_id.parent = self
+               _n_qid = n_qid
+               if n_qid != null then n_qid.parent = self
                _n_args = n_args.as(not null)
                n_args.parent = self
        end
@@ -4992,8 +5034,8 @@ redef class ANewExpr
                        n_type = new_child.as(AType)
                        return
                end
-               if _n_id == old_child then
-                       n_id = new_child.as(nullable TId)
+               if _n_qid == old_child then
+                       n_qid = new_child.as(nullable AQid)
                        return
                end
                if _n_args == old_child then
@@ -5012,9 +5054,9 @@ redef class ANewExpr
                _n_type = node
                node.parent = self
        end
-       redef fun n_id=(node)
+       redef fun n_qid=(node)
        do
-               _n_id = node
+               _n_qid = node
                if node != null then node.parent = self
        end
        redef fun n_args=(node)
@@ -5028,7 +5070,7 @@ redef class ANewExpr
        do
                v.enter_visit(_n_kwnew)
                v.enter_visit(_n_type)
-               v.enter_visit(_n_id)
+               v.enter_visit(_n_qid)
                v.enter_visit(_n_args)
        end
 end
@@ -5213,14 +5255,14 @@ end
 redef class ACallExpr
        init init_acallexpr (
                n_expr: nullable AExpr,
-               n_id: nullable TId,
+               n_qid: nullable AQid,
                n_args: nullable AExprs
        )
        do
                _n_expr = n_expr.as(not null)
                n_expr.parent = self
-               _n_id = n_id.as(not null)
-               n_id.parent = self
+               _n_qid = n_qid.as(not null)
+               n_qid.parent = self
                _n_args = n_args.as(not null)
                n_args.parent = self
        end
@@ -5231,8 +5273,8 @@ redef class ACallExpr
                        n_expr = new_child.as(AExpr)
                        return
                end
-               if _n_id == old_child then
-                       n_id = new_child.as(TId)
+               if _n_qid == old_child then
+                       n_qid = new_child.as(AQid)
                        return
                end
                if _n_args == old_child then
@@ -5246,9 +5288,9 @@ redef class ACallExpr
                _n_expr = node
                node.parent = self
        end
-       redef fun n_id=(node)
+       redef fun n_qid=(node)
        do
-               _n_id = node
+               _n_qid = node
                node.parent = self
        end
        redef fun n_args=(node)
@@ -5261,14 +5303,14 @@ redef class ACallExpr
        redef fun visit_all(v: Visitor)
        do
                v.enter_visit(_n_expr)
-               v.enter_visit(_n_id)
+               v.enter_visit(_n_qid)
                v.enter_visit(_n_args)
        end
 end
 redef class ACallAssignExpr
        init init_acallassignexpr (
                n_expr: nullable AExpr,
-               n_id: nullable TId,
+               n_qid: nullable AQid,
                n_args: nullable AExprs,
                n_assign: nullable TAssign,
                n_value: nullable AExpr
@@ -5276,8 +5318,8 @@ redef class ACallAssignExpr
        do
                _n_expr = n_expr.as(not null)
                n_expr.parent = self
-               _n_id = n_id.as(not null)
-               n_id.parent = self
+               _n_qid = n_qid.as(not null)
+               n_qid.parent = self
                _n_args = n_args.as(not null)
                n_args.parent = self
                _n_assign = n_assign.as(not null)
@@ -5292,8 +5334,8 @@ redef class ACallAssignExpr
                        n_expr = new_child.as(AExpr)
                        return
                end
-               if _n_id == old_child then
-                       n_id = new_child.as(TId)
+               if _n_qid == old_child then
+                       n_qid = new_child.as(AQid)
                        return
                end
                if _n_args == old_child then
@@ -5315,9 +5357,9 @@ redef class ACallAssignExpr
                _n_expr = node
                node.parent = self
        end
-       redef fun n_id=(node)
+       redef fun n_qid=(node)
        do
-               _n_id = node
+               _n_qid = node
                node.parent = self
        end
        redef fun n_args=(node)
@@ -5340,7 +5382,7 @@ redef class ACallAssignExpr
        redef fun visit_all(v: Visitor)
        do
                v.enter_visit(_n_expr)
-               v.enter_visit(_n_id)
+               v.enter_visit(_n_qid)
                v.enter_visit(_n_args)
                v.enter_visit(_n_assign)
                v.enter_visit(_n_value)
@@ -5349,7 +5391,7 @@ end
 redef class ACallReassignExpr
        init init_acallreassignexpr (
                n_expr: nullable AExpr,
-               n_id: nullable TId,
+               n_qid: nullable AQid,
                n_args: nullable AExprs,
                n_assign_op: nullable AAssignOp,
                n_value: nullable AExpr
@@ -5357,8 +5399,8 @@ redef class ACallReassignExpr
        do
                _n_expr = n_expr.as(not null)
                n_expr.parent = self
-               _n_id = n_id.as(not null)
-               n_id.parent = self
+               _n_qid = n_qid.as(not null)
+               n_qid.parent = self
                _n_args = n_args.as(not null)
                n_args.parent = self
                _n_assign_op = n_assign_op.as(not null)
@@ -5373,8 +5415,8 @@ redef class ACallReassignExpr
                        n_expr = new_child.as(AExpr)
                        return
                end
-               if _n_id == old_child then
-                       n_id = new_child.as(TId)
+               if _n_qid == old_child then
+                       n_qid = new_child.as(AQid)
                        return
                end
                if _n_args == old_child then
@@ -5396,9 +5438,9 @@ redef class ACallReassignExpr
                _n_expr = node
                node.parent = self
        end
-       redef fun n_id=(node)
+       redef fun n_qid=(node)
        do
-               _n_id = node
+               _n_qid = node
                node.parent = self
        end
        redef fun n_args=(node)
@@ -5421,7 +5463,7 @@ redef class ACallReassignExpr
        redef fun visit_all(v: Visitor)
        do
                v.enter_visit(_n_expr)
-               v.enter_visit(_n_id)
+               v.enter_visit(_n_qid)
                v.enter_visit(_n_args)
                v.enter_visit(_n_assign_op)
                v.enter_visit(_n_value)
index 66941c2..a5bef33 100644 (file)
@@ -311,6 +311,6 @@ redef class AExpr
                if not self isa ACallExpr then return null
                if not self.n_expr isa AImplicitSelfExpr then return null
                if not self.n_args.n_exprs.is_empty then return null
-               return self.n_id.text
+               return self.n_qid.n_id.text
        end
 end
index e4d848d..d55e248 100644 (file)
@@ -1586,7 +1586,7 @@ redef class ACallExpr
                        v.addt
                end
 
-               v.visit n_id
+               v.visit n_qid
 
                if not n_args.n_exprs.is_empty then
                        if is_stmt and n_args.n_exprs.length == 1 then
@@ -1607,7 +1607,7 @@ end
 redef class ACallAssignExpr
        redef fun accept_pretty_printer(v) do
                v.visit_recv n_expr
-               v.visit n_id
+               v.visit n_qid
 
                if not n_args.n_exprs.is_empty then
                        v.consume "("
@@ -1625,7 +1625,7 @@ end
 redef class ACallReassignExpr
        redef fun accept_pretty_printer(v) do
                v.visit_recv n_expr
-               v.visit n_id
+               v.visit n_qid
 
                if not n_args.n_exprs.is_empty then
                        v.consume "("
@@ -1727,7 +1727,7 @@ redef class ANewExpr
                v.adds
                v.visit n_type
 
-               if n_id != null then
+               if n_qid != null then
                        v.consume "."
 
                        if not can_inline then
@@ -1737,7 +1737,7 @@ redef class ANewExpr
                                v.indent -= 1
                        end
 
-                       v.visit n_id
+                       v.visit n_qid
                end
 
                v.visit_args n_args.n_exprs
index 4106660..fa10118 100644 (file)
@@ -446,7 +446,7 @@ redef class ACallFormExpr
        redef fun accept_scope_visitor(v)
        do
                if n_expr isa AImplicitSelfExpr then
-                       var name = n_id.text
+                       var name = n_qid.n_id.text
                        var variable = v.search_variable(name)
                        if variable != null then
                                var n: AExpr
@@ -473,14 +473,14 @@ redef class ACallExpr
        redef fun variable_create(variable)
        do
                variable.warn_unread = false
-               return new AVarExpr.init_avarexpr(n_id)
+               return new AVarExpr.init_avarexpr(n_qid.n_id)
        end
 end
 
 redef class ACallAssignExpr
        redef fun variable_create(variable)
        do
-               return new AVarAssignExpr.init_avarassignexpr(n_id, n_assign, n_value)
+               return new AVarAssignExpr.init_avarassignexpr(n_qid.n_id, n_assign, n_value)
        end
 end
 
@@ -488,6 +488,6 @@ redef class ACallReassignExpr
        redef fun variable_create(variable)
        do
                variable.warn_unread = false
-               return new AVarReassignExpr.init_avarreassignexpr(n_id, n_assign_op, n_value)
+               return new AVarReassignExpr.init_avarreassignexpr(n_qid.n_id, n_assign_op, n_value)
        end
 end
index 9b0d841..b5f5d0c 100644 (file)
@@ -1778,14 +1778,14 @@ end
 
 
 redef class ACallExpr
-       redef fun property_name do return n_id.text
-       redef fun property_node do return n_id
+       redef fun property_name do return n_qid.n_id.text
+       redef fun property_node do return n_qid
        redef fun compute_raw_arguments do return n_args.to_a
 end
 
 redef class ACallAssignExpr
-       redef fun property_name do return n_id.text + "="
-       redef fun property_node do return n_id
+       redef fun property_name do return n_qid.n_id.text + "="
+       redef fun property_node do return n_qid
        redef fun compute_raw_arguments
        do
                var res = n_args.to_a
@@ -1853,8 +1853,8 @@ redef class ASendReassignFormExpr
 end
 
 redef class ACallReassignExpr
-       redef fun property_name do return n_id.text
-       redef fun property_node do return n_id
+       redef fun property_name do return n_qid.n_id.text
+       redef fun property_node do return n_qid.n_id
        redef fun compute_raw_arguments do return n_args.to_a
 end
 
@@ -2026,11 +2026,11 @@ redef class ANewExpr
                var kind = recvtype.mclass.kind
 
                var name: String
-               var nid = self.n_id
+               var nqid = self.n_qid
                var node: ANode
-               if nid != null then
-                       name = nid.text
-                       node = nid
+               if nqid != null then
+                       name = nqid.n_id.text
+                       node = nqid
                else
                        name = "new"
                        node = self.n_kwnew
index 7b80b80..571c46f 100644 (file)
@@ -1,3 +1,3 @@
-8/4
-8*2
-16+8
+8-1
+7-1
+8*6
index b338c4c..adbe2c2 100644 (file)
@@ -1,6 +1,6 @@
 1
 1
-1
+0
 1
 1
 1
@@ -19,7 +19,7 @@
 1
 1
 1
-0
+1
 1
 1
 1
index bcbdec9..4d89a88 100644 (file)
@@ -1,4 +1,4 @@
-numbers: 8, 4, 8, 8
-numbers: 8, 8, 2
-numbers: 8, 16
-CONGRATULATIONS
+numbers: 1, 8, 8, 1
+numbers: 8, 1, 7
+numbers: 8, 6
+YOU LOSE
index ea08659..b0d6762 100644 (file)
@@ -1,10 +1,10 @@
-][[]][ is not well-balanced
 [[]][] is well-balanced
-[]][][ is not well-balanced
-[[[]]] is well-balanced
-[][]][ is not well-balanced
-]][[][ is not well-balanced
-[]]][[ is not well-balanced
-[]][][ is not well-balanced
-[][][] is well-balanced
+[][[]] is well-balanced
+][[]][ is not well-balanced
+]][][[ is not well-balanced
+][]][[ is not well-balanced
+][[][] is not well-balanced
+]][][[ is not well-balanced
 ][]][[ is not well-balanced
+[[][]] is well-balanced
+[[]]][ is not well-balanced
index 3f09c96..38a009c 100644 (file)
@@ -1,2 +1,2 @@
-Eb3, Da7b9, Aa3, Da2b5, Cc6d3, Cc9d9, Da7b1, Da0b2, Aa8, Aa4, Aa1, Eb2, Cc8d6, Bb6, Cc4d9, Bb7, Cc7d4, Eb2, Bb8, Eb0
-Da0b2, Aa1, Da2b5, Bb6, Aa3, Bb7, Bb8, Aa4, Cc4d9, Eb3, Eb2, Eb2, Eb0, Cc6d3, Cc7d4, Da7b1, Da7b9, Cc8d6, Aa8, Cc9d9
+Aa7, Eb1, Da6b4, Eb6, Bb2, Cc2d3, Cc2d7, Bb2, Eb8, Aa8, Bb9, Eb3, Eb9, Eb9, Eb5, Eb0, Aa8, Cc5d1, Eb5, Da6b6
+Bb2, Bb2, Cc2d7, Cc2d3, Bb9, Eb3, Eb1, Cc5d1, Eb5, Eb5, Eb6, Eb0, Eb8, Eb9, Eb9, Da6b6, Da6b4, Aa7, Aa8, Aa8
index e3b8211..a1abd34 100644 (file)
@@ -1,4 +1,2 @@
 enter a guess :
-enter a guess :
-enter a guess :
 Well guessed
index 13600be..6a129c0 100644 (file)
@@ -1,31 +1,15 @@
-16
-7
-15
-15
-18
-3
-6
+0
 15
-5
-11
-9
-12
-7
-10
-19
-18
-12
-14
+16
 2
+15
 12
-0
-4
-2
-16
-3
 8
-2
-2
 19
+13
+6
+5
+11
 4
+6
 10
diff --git a/tests/sav/montecarlo.res b/tests/sav/montecarlo.res
new file mode 100644 (file)
index 0000000..58ad327
--- /dev/null
@@ -0,0 +1,11 @@
+i=1 h=1 p=4.000000
+i=2 h=2 p=4.000000
+i=4 h=3 p=3.000000
+i=8 h=7 p=3.500000
+i=16 h=11 p=2.750000
+i=32 h=19 p=2.375000
+i=64 h=45 p=2.812500
+i=128 h=95 p=2.968750
+i=256 h=197 p=3.078125
+i=512 h=385 p=3.007813
+i=1000 h=765 p=3.060000
index 50a8863..9b3545d 100644 (file)
@@ -275,41 +275,41 @@ Distribution of direct smallers
   <=8: sub-population=1 (14.28%); cumulated value=6 (100.00%)
 --- AST Metrics ---
 ## All nodes of the AST
- population: 50
+ population: 51
  minimum value: 1
  maximum value: 40
- total value: 270
- average value: 5.40
+ total value: 289
+ average value: 5.66
  distribution:
-  <=1: sub-population=16 (32.00%); cumulated value=16 (5.92%)
-  <=2: sub-population=5 (10.00%); cumulated value=10 (3.70%)
-  <=4: sub-population=9 (18.00%); cumulated value=28 (10.37%)
-  <=8: sub-population=12 (24.00%); cumulated value=76 (28.14%)
-  <=16: sub-population=4 (8.00%); cumulated value=44 (16.29%)
-  <=32: sub-population=3 (6.00%); cumulated value=56 (20.74%)
-  <=64: sub-population=1 (2.00%); cumulated value=40 (14.81%)
+  <=1: sub-population=16 (31.37%); cumulated value=16 (5.53%)
+  <=2: sub-population=5 (9.80%); cumulated value=10 (3.46%)
+  <=4: sub-population=9 (17.64%); cumulated value=28 (9.68%)
+  <=8: sub-population=12 (23.52%); cumulated value=76 (26.29%)
+  <=16: sub-population=4 (7.84%); cumulated value=44 (15.22%)
+  <=32: sub-population=4 (7.84%); cumulated value=75 (25.95%)
+  <=64: sub-population=1 (1.96%); cumulated value=40 (13.84%)
  list:
-  TId: 40 (14.81%)
-  APublicVisibility: 19 (7.03%)
-  AListExprs: 19 (7.03%)
-  ACallExpr: 18 (6.66%)
-  TClassid: 15 (5.55%)
-  TInteger: 10 (3.70%)
-  AIntegerExpr: 10 (3.70%)
-  AType: 9 (3.33%)
-  TKwend: 8 (2.96%)
-  ASignature: 8 (2.96%)
+  TId: 40 (13.84%)
+  APublicVisibility: 19 (6.57%)
+  AQid: 19 (6.57%)
+  AListExprs: 19 (6.57%)
+  ACallExpr: 18 (6.22%)
+  TClassid: 15 (5.19%)
+  TInteger: 10 (3.46%)
+  AIntegerExpr: 10 (3.46%)
+  AType: 9 (3.11%)
+  TKwend: 8 (2.76%)
   ...
-  ASelfExpr: 1 (0.37%)
-  AAnnotations: 1 (0.37%)
-  ACallAssignExpr: 1 (0.37%)
-  TKwreturn: 1 (0.37%)
-  AInterfaceClasskind: 1 (0.37%)
-  TKwinterface: 1 (0.37%)
-  ANoImport: 1 (0.37%)
-  AMainMethPropdef: 1 (0.37%)
-  AMainClassdef: 1 (0.37%)
-  TKwimport: 1 (0.37%)
+  ACallAssignExpr: 1 (0.34%)
+  AAnnotations: 1 (0.34%)
+  TKwreturn: 1 (0.34%)
+  AReturnExpr: 1 (0.34%)
+  AInterfaceClasskind: 1 (0.34%)
+  TKwinterface: 1 (0.34%)
+  ANoImport: 1 (0.34%)
+  AMainMethPropdef: 1 (0.34%)
+  AMainClassdef: 1 (0.34%)
+  TKwimport: 1 (0.34%)
 ## All identifiers of the AST
  population: 20
  minimum value: 1
index d9a44a4..9e69727 100644 (file)
 Player 1
 Total score : 0
 What do you want to do? ("1" to roll, "0" to hold)
-rolled: 6
-score this turn: 6
-
-Player 1
-Total score : 0
-What do you want to do? ("1" to roll, "0" to hold)
-rolled: 3
-score this turn: 9
+You rolled 1! all points lost for this turn
 
-Player 1
+Player 2
 Total score : 0
 What do you want to do? ("1" to roll, "0" to hold)
 rolled: 5
-score this turn: 14
+score this turn: 5
 
-Player 1
+Player 2
 Total score : 0
 What do you want to do? ("1" to roll, "0" to hold)
-rolled: 5
-score this turn: 19
+Scored: 5
+New Score: 5
 
 Player 1
 Total score : 0
 What do you want to do? ("1" to roll, "0" to hold)
 rolled: 6
-score this turn: 25
-
-Player 1
-Total score : 0
-What do you want to do? ("1" to roll, "0" to hold)
-rolled: 2
-score this turn: 27
+score this turn: 6
 
 Player 1
 Total score : 0
 What do you want to do? ("1" to roll, "0" to hold)
-rolled: 3
-score this turn: 30
+You rolled 1! all points lost for this turn
 
-Player 1
-Total score : 0
+Player 2
+Total score : 5
 What do you want to do? ("1" to roll, "0" to hold)
 rolled: 5
-score this turn: 35
-
-Player 1
-Total score : 0
-What do you want to do? ("1" to roll, "0" to hold)
-rolled: 2
-score this turn: 37
+score this turn: 5
 
-Player 1
-Total score : 0
+Player 2
+Total score : 5
 What do you want to do? ("1" to roll, "0" to hold)
 rolled: 4
-score this turn: 41
+score this turn: 9
 
-Player 1
-Total score : 0
+Player 2
+Total score : 5
 What do you want to do? ("1" to roll, "0" to hold)
 rolled: 3
-score this turn: 44
+score this turn: 12
 
-Player 1
-Total score : 0
+Player 2
+Total score : 5
 What do you want to do? ("1" to roll, "0" to hold)
-rolled: 4
-score this turn: 48
+rolled: 6
+score this turn: 18
 
-Player 1
-Total score : 0
+Player 2
+Total score : 5
+What do you want to do? ("1" to roll, "0" to hold)
+rolled: 5
+score this turn: 23
+
+Player 2
+Total score : 5
 What do you want to do? ("1" to roll, "0" to hold)
 rolled: 3
-score this turn: 51
+score this turn: 26
 
-Player 1
-Total score : 0
+Player 2
+Total score : 5
+What do you want to do? ("1" to roll, "0" to hold)
+rolled: 2
+score this turn: 28
+
+Player 2
+Total score : 5
 What do you want to do? ("1" to roll, "0" to hold)
 rolled: 4
-score this turn: 55
+score this turn: 32
 
-Player 1
-Total score : 0
+Player 2
+Total score : 5
 What do you want to do? ("1" to roll, "0" to hold)
-rolled: 6
-score this turn: 61
+rolled: 2
+score this turn: 34
 
-Player 1
-Total score : 0
+Player 2
+Total score : 5
 What do you want to do? ("1" to roll, "0" to hold)
-rolled: 6
-score this turn: 67
+rolled: 3
+score this turn: 37
 
-Player 1
-Total score : 0
+Player 2
+Total score : 5
 What do you want to do? ("1" to roll, "0" to hold)
 rolled: 4
-score this turn: 71
+score this turn: 41
 
-Player 1
-Total score : 0
+Player 2
+Total score : 5
 What do you want to do? ("1" to roll, "0" to hold)
-Scored: 71
-New Score: 71
+rolled: 2
+score this turn: 43
 
 Player 2
+Total score : 5
+What do you want to do? ("1" to roll, "0" to hold)
+Scored: 43
+New Score: 48
+
+Player 1
 Total score : 0
 What do you want to do? ("1" to roll, "0" to hold)
 rolled: 5
 score this turn: 5
 
-Player 2
+Player 1
 Total score : 0
 What do you want to do? ("1" to roll, "0" to hold)
-You rolled 1! all points lost for this turn
+rolled: 3
+score this turn: 8
 
 Player 1
-Total score : 71
+Total score : 0
 What do you want to do? ("1" to roll, "0" to hold)
-rolled: 4
-score this turn: 4
+rolled: 2
+score this turn: 10
 
 Player 1
-Total score : 71
-What do you want to do? ("1" to roll, "0" to hold)
-Scored: 4
-New Score: 75
-
-Player 2
 Total score : 0
 What do you want to do? ("1" to roll, "0" to hold)
-You rolled 1! all points lost for this turn
+rolled: 6
+score this turn: 16
 
 Player 1
-Total score : 75
+Total score : 0
 What do you want to do? ("1" to roll, "0" to hold)
-rolled: 2
-score this turn: 2
+rolled: 6
+score this turn: 22
 
 Player 1
-Total score : 75
+Total score : 0
 What do you want to do? ("1" to roll, "0" to hold)
 You rolled 1! all points lost for this turn
 
 Player 2
-Total score : 0
+Total score : 48
 What do you want to do? ("1" to roll, "0" to hold)
 rolled: 5
 score this turn: 5
 
 Player 2
-Total score : 0
-What do you want to do? ("1" to roll, "0" to hold)
-You rolled 1! all points lost for this turn
-
-Player 1
-Total score : 75
-What do you want to do? ("1" to roll, "0" to hold)
-rolled: 3
-score this turn: 3
-
-Player 1
-Total score : 75
+Total score : 48
 What do you want to do? ("1" to roll, "0" to hold)
-You rolled 1! all points lost for this turn
+rolled: 2
+score this turn: 7
 
 Player 2
-Total score : 0
+Total score : 48
 What do you want to do? ("1" to roll, "0" to hold)
-You rolled 1! all points lost for this turn
+rolled: 6
+score this turn: 13
 
-Player 1
-Total score : 75
+Player 2
+Total score : 48
 What do you want to do? ("1" to roll, "0" to hold)
 rolled: 6
-score this turn: 6
+score this turn: 19
 
-Player 1
-Total score : 75
+Player 2
+Total score : 48
 What do you want to do? ("1" to roll, "0" to hold)
-rolled: 2
-score this turn: 8
+rolled: 3
+score this turn: 22
 
-Player 1
-Total score : 75
+Player 2
+Total score : 48
 What do you want to do? ("1" to roll, "0" to hold)
-rolled: 4
-score this turn: 12
+rolled: 6
+score this turn: 28
 
-Player 1
-Total score : 75
+Player 2
+Total score : 48
 What do you want to do? ("1" to roll, "0" to hold)
 rolled: 6
-score this turn: 18
+score this turn: 34
 
-Player 1
-Total score : 75
+Player 2
+Total score : 48
 What do you want to do? ("1" to roll, "0" to hold)
-rolled: 4
-score this turn: 22
+rolled: 6
+score this turn: 40
 
-Player 1
-Total score : 75
+Player 2
+Total score : 48
 What do you want to do? ("1" to roll, "0" to hold)
-rolled: 2
-score this turn: 24
+rolled: 6
+score this turn: 46
 
-Player 1
-Total score : 75
+Player 2
+Total score : 48
 What do you want to do? ("1" to roll, "0" to hold)
-rolled: 4
-score this turn: 28
+rolled: 6
+score this turn: 52
 
-Congratulation Player 1! You won with 75 points! 
+Congratulation Player 2! You won with 48 points! 
index 2ce4dc4..61cb1b5 100644 (file)
--0.465
-0.21
-0.139
-0.169
--1.509
--0.839
--1.415
-0.271
--0.194
--1.547
-0.128
-0.665
--1.564
-1.567
-0.009
-0.614
--0.282
--0.938
-1.171
-0.21
-0.141
-1.051
--0.953
-0.571
-2.192
-0.972
--0.942
--0.281
-2.325
-1.153
-1.665
-0.269
--1.575
-0.09
--0.571
-1.09
-1.169
--0.069
--0.114
--0.575
-0.436
-0.934
--0.296
-1.346
--0.561
--0.253
-0.578
-1.139
-0.537
-0.738
-0.257
-0.28
-1.435
--0.858
--0.19
--0.245
-0.19
--0.3
--0.937
-1.57
-1.497
-0.078
-0.161
--0.647
--0.515
-0.174
-0.036
--0.217
-0.55
--0.059
-2.168
--2.405
-0.116
--0.073
-0.898
-0.058
-1.441
-1.008
-0.648
-0.527
-0.037
-1.331
-0.001
-0.34
-0.063
-0.473
-2.932
-0.432
--1.48
-0.181
--1.354
--0.999
-0.702
-0.052
-1.541
-0.754
+1.198
+0.471
+-0.487
+1.303
+-0.45
+-1.55
+-0.859
+-0.192
+-0.408
+1.603
+0.321
+-0.019
+0.262
+1.408
+0.245
+0.279
+1.086
+2.093
+-0.473
+0.666
+-0.409
+-0.707
+0.956
+-0.109
+-0.01
+0.213
+-0.681
 -0.526
--0.036
-0.539
-0.254
--0.008
+1.201
+0.209
+-0.206
+1.479
+-1.229
+1.283
+-1.479
+-1.342
+-1.352
+-0.553
+-1.03
+-0.975
+-0.181
+0.902
+0.88
+0.726
+0.412
+0.422
+-0.13
+0.288
+-0.721
+-1.362
+-0.461
+-1.638
+0.353
+-0.146
+0.591
+-0.462
+-0.761
+-1.351
+0.18
+2.008
+-2.072
+-1.681
+-0.341
+0.101
+-0.31
+0.344
 0.448
--0.9
-0.916
-0.43
-0.011
-0.126
--0.344
-0.174
--1.529
--1.007
-1.141
--1.529
-0.615
--1.025
+0.077
+-1.525
+-0.866
 -0.323
-0.85
-1.291
--1.189
-0.061
--0.881
--0.409
-0.339
-0.943
--0.442
--0.576
-0.581
--0.694
--0.374
-0.229
+0.45
+-0.273
+-1.415
+-0.6
+-0.292
+-0.81
+0.201
+2.129
+0.408
+0.555
+1.009
+2.149
+-0.778
+1.22
+0.707
+-2.198
+-1.429
 -0.162
--0.042
-0.957
-1.177
-0.722
--1.352
--0.874
--0.217
--0.17
-0.551
-0.177
--0.302
--1.684
-0.254
--0.23
--0.807
-0.21
-0.296
-0.157
--0.649
-1.288
-0.306
--1.048
--0.285
--0.539
-0.722
--0.302
--0.744
-0.512
--1.005
--0.096
-0.325
-0.854
--1.272
-1.364
--0.315
-0.248
--0.603
--0.739
--0.056
-1.745
--1.27
--0.339
-1.249
-1.195
--0.101
-0.068
-0.66
--0.351
-0.3
--0.967
--0.481
--0.772
--0.512
--0.092
-0.305
-1.333
-0.107
-1.176
--0.097
--2.33
--0.043
--1.741
-0.447
--1.592
--0.853
+0.327
+-1.494
+0.126
+-0.309
+-0.468
+0.326
+0.96
+0.564
+-0.075
+0.783
+0.918
+0.985
+0.122
+-0.241
+-1.217
+-1.775
+1.829
+-1.248
+1.809
+-0.023
+-0.047
+0.955
+1.387
+-1.193
+0.429
+-0.374
+1.212
+-0.32
+1.43
+0.61
+-2.903
 0.44
-2.3
-0.241
--0.803
--1.744
--1.028
--0.659
-1.181
-0.588
--0.982
--0.806
-0.82
-1.875
-0.193
-0.185
--0.157
-1.035
-0.579
-0.889
-0.291
-0.498
-0.278
--1.369
--0.959
--0.134
--1.459
--1.39
--1.289
-0.632
-1.08
--1.027
--0.122
--0.967
-0.953
-0.319
--0.322
-0.934
-0.624
--0.612
--0.93
--0.277
--0.291
-1.897
--0.923
--1.342
--0.769
-3.683
--0.112
-0.575
--1.004
-0.652
--0.357
-0.193
+-1.016
+-1.207
+-0.209
+-1.712
+-0.236
+-0.638
+-0.551
+1.367
+1.166
+-0.939
+0.391
+0.725
+-0.42
+-0.298
+0.671
+-1.044
+-0.824
+-0.628
+1.244
+0.51
+-1.053
+1.541
+1.04
+1.776
+-0.395
+0.478
+-0.272
+-0.839
+0.102
+0.736
+-1.251
+0.126
+-0.935
+-0.992
+1.484
+-0.305
+2.112
+0.737
+-1.477
+0.201
+1.411
+-1.312
+-3.227
+-2.323
+0.98
+-1.413
+-1.366
+1.709
+-0.484
+-0.052
+0.887
+-1.008
+-0.875
+0.661
+1.482
+0.617
+-0.468
+1.239
+-1.562
+0.553
+0.495
+-0.236
+0.829
+-2.057
+-0.987
+-0.147
+0.906
 -1.923
--0.276
-0.162
--0.372
--0.507
-0.709
-1.528
-0.997
--1.123
-0.109
--0.532
-0.916
--0.164
--0.439
-0.056
-0.199
--1.296
-0.612
-0.448
--0.267
--1.015
--0.62
-0.663
-1.023
--0.838
--0.603
--2.085
-1.106
--0.48
--0.906
--1.682
--1.393
--0.575
-0.406
--0.982
-1.216
-2.127
--0.773
-0.327
-0.852
--0.758
-0.759
-0.296
-0.049
--1.443
--1.725
--0.314
-0.485
--1.777
+-0.393
+-1.132
+-1.219
+0.56
+2.811
+-1.105
+-0.339
+-1.738
+-0.877
+-0.434
+0.124
+-0.761
+1.104
+0.953
+0.083
+0.374
+0.951
+-0.034
+-0.945
+0.865
+-0.162
+1.316
+-1.108
+-0.02
+-0.253
+0.996
+0.809
+0.51
+1.1
+2.652
+-0.094
+0.17
+0.057
+-0.839
+1.428
+2.287
+0.536
+-0.072
+-0.44
+-0.348
+0.601
+0.01
+1.061
+-1.169
+0.589
+0.318
+0.301
+0.791
+0.284
+0.26
+0.391
+2.664
+-0.429
+1.407
+-1.082
+-2.333
+-0.103
+-0.766
 0.073
--0.021
-0.719
--1.215
--1.013
-0.353
--0.775
-0.798
--1.384
-0.415
-0.442
--0.78
--0.727
--2.208
-0.05
--1.566
-2.721
-0.131
-0.447
--1.774
-0.336
-0.924
--0.514
--0.334
--0.007
--0.175
-0.238
--0.384
-0.723
--0.371
-0.551
-0.433
-0.286
-0.329
-1.394
--0.74
-0.339
-0.892
--1.365
--0.345
+-0.955
+-0.925
+0.587
+-0.563
+-0.29
+-0.26
+0.372
+-2.192
+-0.486
+0.556
+0.748
+1.079
+0.234
+-0.789
+-0.257
+0.358
+-1.099
+0.981
+0.86
+0.506
+2.168
+-0.146
 1.431
-0.388
--2.358
-0.014
-1.436
--2.554
--0.943
--0.396
--0.293
-1.394
-0.24
--0.351
--0.173
--0.224
-0.243
-0.968
-1.177
-1.101
-0.961
-0.456
-2.141
--0.054
-0.504
--1.025
-0.571
--0.985
-0.123
--1.09
-1.107
--0.217
--1.76
--0.475
--0.538
--0.152
--0.418
-0.101
--0.667
-1.616
--0.456
+1.198
 -0.743
-0.654
--0.065
--2.277
--0.37
-0.488
--0.024
--0.931
-2.472
--3.24
--0.406
--0.629
-1.087
--1.81
-0.385
-0.072
--0.632
-2.117
-0.268
-0.056
-0.709
--0.089
-0.68
-0.507
-0.267
-0.108
-0.537
--0.13
-1.731
-0.607
-0.11
--0.518
--1.147
--0.413
-0.691
--1.614
--1.07
-1.524
-0.253
--0.883
-1.429
-0.523
--2.543
-0.324
-0.674
--1.403
--1.902
--1.977
-0.42
--0.277
-0.291
-2.251
-0.5
-0.299
--1.132
--0.291
--0.925
+-0.014
+-0.456
+0.598
+-0.664
+-0.362
+-0.843
+-0.868
 -0.552
-0.071
--0.484
-1.135
--0.496
-0.699
+1.389
+-0.239
+-0.516
+-1.776
+-0.308
+-0.73
+0.645
+0.175
+0.451
+-1.9
+1.139
+1.107
+-0.211
+0.048
+1.437
 0.28
+0.562
+-2.827
+-0.124
+0.762
+-0.887
+-0.093
+-0.819
+-1.44
+-0.18
+-1.297
+-0.652
+0.064
+-1.113
+-0.324
+-0.227
+0.264
+2.167
+1.541
+-0.348
+1.547
+0.875
+-1.002
+0.379
 -0.542
--0.815
--1.032
-0.877
--0.606
-1.228
-0.309
--0.054
--0.92
-1.201
-0.389
--0.154
--0.422
-0.865
--1.734
-0.652
--0.546
--0.662
-0.056
--0.611
-0.233
-0.706
--0.759
-0.112
-1.405
-0.236
--1.18
--0.923
-0.752
-1.021
-0.792
--0.001
--0.908
--0.19
-0.92
--0.415
--0.229
--1.225
-0.251
--1.484
-1.088
--0.754
-0.425
-0.369
-0.626
-2.781
-0.567
--0.355
-1.793
-0.045
-1.344
-1.773
--0.551
-0.586
--0.113
-0.467
-0.335
+1.06
+0.355
+-0.44
+0.342
+0.356
+-0.318
+-0.314
+-1.352
+1.334
+0.861
+3.008
+-0.579
+1.617
+0.199
+-0.241
+1.441
+-0.347
+0.388
+-1.278
+-0.033
+0.424
+0.45
+-2.352
+-1.047
+-1.621
+1.105
+0.081
+-1.697
+-0.051
+-1.049
+-0.382
+1.037
+-1.782
+0.141
+0.795
+0.704
+-0.394
+-0.115
+-0.293
 -0.398
--1.424
--0.795
--0.79
-1.107
-0.581
--0.804
--0.972
--1.018
--1.032
-1.389
-0.792
-0.506
--0.244
--1.173
-0.779
-0.197
-0.877
-1.039
-0.989
-1.432
-0.622
--1.208
--1.228
-0.754
-0.246
-2.635
-0.375
--2.219
-0.347
--0.507
--2.218
--1.295
+0.084
+-1.465
+1.416
+-0.289
+-0.385
+-0.536
+1.269
+0.746
+-0.262
+1.014
+0.298
+1.756
+-1.526
 0.516
-0.317
 -0.31
-2.235
--0.913
-1.3
-0.332
-0.324
-1.6
-0.325
-0.616
-1.162
--0.423
--0.072
-0.741
--0.477
+-0.739
+3.243
+-0.879
+0.074
+0.194
+1.017
+1.533
+0.749
+0.041
+0.186
+-0.874
+0.153
+-1.446
+0.33
+-0.454
+-0.626
+1.352
+1.011
+2.742
+0.606
+-0.614
+-1.347
+0.979
+0.638
+0.136
+-0.111
+1.62
+0.346
+0.494
+1.702
+-0.567
+0.751
+0.135
+0.744
+0.129
+0.743
+1.274
+-0.483
+-1.921
+-0.588
+-0.964
+-1.263
+0.863
+-0.887
+0.176
+-0.417
+0.458
+-1.65
+0.2
+1.057
+0.048
+-0.827
+0.972
+1.942
+-0.323
+1.055
+0.7
 -0.115
--0.493
--0.209
+0.64
+0.662
+-0.506
+2.474
+1.197
+1.318
+-2.419
+0.642
+-1.653
+-0.957
+1.113
+1.039
+1.138
+0.228
+-1.912
+-0.075
+0.418
+-0.121
+0.369
+0.361
+1.036
+-2.571
+0.64
+0.243
 -0.865
-3.084
-1.269
+0.005
+-0.517
+1.49
+-1.826
+1.261
+-0.547
+0.139
+1.244
+0.139
+-1.424
 -0.197
--0.17
--0.233
-1.388
-0.652
-2.254
--1.194
-1.743
-0.606
--1.533
-0.915
-1.314
-0.807
--1.068
-0.468
-1.326
-0.713
--1.067
 -0.288
--1.059
--0.831
--0.404
--1.665
--0.339
-0.905
--0.762
+1.493
+0.668
+3.134
+-1.269
+-1.565
+1.358
+0.02
+0.365
+0.294
+-0.854
+-0.069
+-0.793
+0.798
 -0.784
-0.307
--0.755
-0.393
-1.661
--1.729
--1.323
-0.486
-1.805
--0.753
-0.022
--1.669
-0.26
--1.476
--0.769
--2.125
-0.255
--0.097
--0.307
--1.223
--1.323
--0.512
--0.136
-0.933
--0.516
--0.506
--0.059
--0.528
-0.84
--0.142
-1.011
--0.687
--0.357
-0.448
-0.091
-1.014
--0.623
-0.29
-1.01
-0.636
--0.278
-0.58
-2.002
--0.596
--0.769
-0.084
--0.117
--0.938
-1.632
-0.442
--1.107
-0.335
--0.432
-0.371
--0.278
-0.333
-2.511
-1.505
-1.586
--0.924
--0.702
--1.49
--1.364
--2.201
-0.599
-1.488
-0.567
-1.633
-0.962
-1.399
-0.723
-0.198
--1.809
--0.566
--0.959
--0.184
-1.418
--0.447
+-0.227
+0.489
+-0.685
+0.297
+-0.319
+0.048
+2.429
+2.203
+-1.465
+-0.871
+-1.068
+0.504
 0.371
--0.499
-0.524
-1.29
--1.467
-2.262
-0.763
--1.208
--0.939
+-0.937
+-0.626
+0.429
+-0.446
+-0.116
+-0.681
+-1.588
+0.925
+1.882
+0.389
+-0.655
+1.092
+0.389
+0.276
+-0.595
+-0.067
+0.862
+-2.017
+-0.989
+-1.839
+-1.079
+0.084
+0.526
+0.901
+-0.115
+-0.067
+-0.152
+2.244
+-0.079
+-1.478
+0.079
+0.932
+-0.089
+0.766
+-0.086
+-0.308
+0.538
+0.899
+0.381
+-1.235
+-1.055
+0.388
+-1.162
+0.609
+0.419
+-1.135
+1.246
+0.952
+-0.856
+-0.91
 -0.089
+0.185
+-0.362
+-1.349
+0.404
+0.507
+-0.523
+0.543
+-0.006
+-1.997
+1.412
+1.001
+-0.004
+-0.031
+-0.948
+0.773
+0.739
+-0.805
+0.22
+0.62
+-0.784
+-0.643
+-0.16
+0.359
+-0.242
+1.089
+-0.159
+-2.348
+0.46
+-0.696
+0.566
+1.356
+0.327
+0.069
+-0.91
+-0.143
+0.267
+-0.471
+-0.939
+0.11
+-0.851
+-1.918
+-0.498
+-1.796
+-1.758
+1.046
+-0.662
+-0.194
+-0.427
+0.346
+-0.108
+-1.206
+1.096
+-0.722
+0.001
+-0.704
+0.589
+-1.089
+0.246
+-1.367
+-0.834
+0.21
+-1.327
+-1.652
+2.392
+-0.854
+0.553
+1.24
+1.064
+0.312
+1.419
+-1.352
+-1.446
+0.527
+-1.756
+-0.371
+-0.89
+0.314
+-0.764
+0.192
+2.152
+0.801
+1.135
+-0.563
+1.638
+-0.715
+-0.354
+-1.264
+1.007
+-0.442
+-3.271
+-0.776
+-2.138
+0.554
 0.406
--0.895
--1.342
--0.517
--0.781
--0.732
--1.308
-0.537
-0.154
-3.057
-0.763
--0.072
-1.835
--0.187
--0.091
-0.005
-0.253
-0.781
--0.712
--1.357
-1.486
--0.374
-0.101
--0.896
--0.142
--0.258
--0.876
--0.019
--0.763
-0.914
--1.252
-2.35
-0.188
--2.494
--1.347
--2.386
-1.016
--0.016
--0.659
--0.248
-0.315
--1.304
--1.095
-1.533
--0.58
--0.75
-0.184
--0.768
--0.976
-1.671
-0.076
--1.428
-0.452
-0.44
--0.926
--1.018
-1.122
-2.336
--0.559
--0.232
+0.453
+0.125
+0.231
+0.105
+0.268
+-0.05
+1.012
+1.044
+-1.158
+-0.824
+0.943
+0.313
+-0.516
+-0.93
+-1.561
+0.866
+0.491
+0.614
+1.515
+0.508
+-1.25
+-0.388
+-1.481
+-0.349
+-1.418
+1.294
+-0.004
+-0.305
+-0.683
+-0.597
+0.332
+-0.609
+-0.117
+-1.565
+-0.849
+-1.794
+-0.742
+0.732
+0.075
+1.458
+-0.093
+0.761
+0.271
+0.348
+-0.463
+-2.308
+-0.354
+0.535
+-0.069
+-0.991
+1.143
+0.107
+0.372
+1.133
+-1.278
 -0.171
--0.116
--1.132
-1.498
--0.524
-2.425
--0.936
--0.769
--0.596
-0.252
-0.64
--0.339
-1.076
--1.426
--0.943
+-2.064
+0.581
+-1.408
+1.267
+0.042
+-0.17
 0.002
-2.431
--1.509
--0.631
--0.813
-0.018
-0.86
-1.441
--0.017
-0.293
--0.025
--0.247
--0.399
-1.037
--0.248
-0.428
--0.596
--0.309
--0.081
--2.23
+-0.215
+1.631
+2.913
+1.533
+-0.15
+-0.883
+0.9
+1.238
+-2.614
+-0.495
+0.673
+-0.563
+0.046
+0.401
+-1.582
+-1.01
+0.781
+0.783
+-1.697
 -0.406
--1.042
--0.774
--1.153
-1.632
-0.192
-1.6
-0.16
--1.641
-0.68
-1.768
--0.409
--0.954
--0.32
--0.18
--0.063
--0.008
--0.678
--0.573
-1.893
-0.581
-0.687
-0.341
-0.902
--0.787
-1.096
-1.165
-0.663
-0.085
--2.039
-2.233
-1.711
--0.708
-0.771
-0.305
--2.523
--0.085
--1.464
-1.264
-0.877
--0.604
-0.219
--0.739
-0.288
-0.675
-0.106
+-1.582
+1.034
+0.432
+0.862
+-1.959
+1.355
+0.607
+-0.218
+0.161
+0.218
+1.78
+0.377
+-0.569
+0.693
+-0.524
+-0.888
+0.754
+-2.603
+-1.615
+-0.235
+2.376
+0.41
+-1.936
+-0.763
+-1.302
+0.688
+0.078
+-1.586
+1.061
+-0.627
+-0.267
+1.05
+-1.231
+-0.879
+0.623
+0.195
+-0.953
+0.235
+-1.497
+1.984
+1.676
+0.576
+1.143
+-0.615
+-1.327
+1.425
+-1.161
+-0.166
+0.293
+-1.25
+0.781
+-0.695
 0.491
-1.368
-1.754
-1.252
-0.241
--0.55
-1.297
-1.206
-0.019
+2.136
+0.636
+0.014
+-0.785
+0.972
+1.255
+-0.09
+0.569
+-0.263
+0.979
+-0.529
+0.96
+0.07
+-0.829
+0.026
+-1.114
+-0.894
+0.122
+1.707
+-1.048
+-0.545
+0.506
+-1.019
+-0.44
+-0.081
+-0.486
+-0.327
+-0.432
+0.225
+0.082
+-0.485
 -0.154
-0.94
-1.726
-1.052
--1.433
-0.828
--0.929
-0.529
-1.004
--0.128
-0.805
-0.318
--0.284
--0.355
-0.416
-1.059
-1.193
--0.05
--0.007
-0.98
-0.417
--0.889
-1.376
-1.356
-0.127
-0.513
--0.208
--2.764
-0.438
-1.686
--0.96
--0.001
-1.429
--0.213
-0.49
-1.075
--2.594
--0.995
--1.2
--1.546
-0.531
--0.858
--1.165
-2.516
-0.836
-0.317
-0.849
-0.588
+-0.987
+0.71
+2.296
+-1.49
+-2.143
+1.712
+1.349
+-1.069
+-1.223
+0.303
+-1.191
+-0.049
+1.238
+0.134
+-0.393
+-1.048
+0.285
+0.57
+-0.075
+-0.008
+-0.453
+0.344
+0.017
+0.701
+-0.476
+-0.512
+-0.405
+0.321
+0.692
+0.116
+0.205
+1.769
+0.754
+1.104
+-0.879
+0.302
+1.311
+1.598
+0.414
+-1.916
+0.659
+0.17
+0.486
+-0.387
+-0.756
+2.044
+0.633
+0.737
+1.243
+0.208
+-0.964
+0.923
 0.328
-1.014
--0.84
-1.789
--0.235
--0.539
--0.191
--1.113
--0.23
-0.221
-1.444
-0.136
-0.864
--0.045
--0.107
--0.455
-0.986
+1.299
+-1.326
+0.88
+2.626
+-0.109
+-0.731
+-0.189
+-0.647
+1.351
+0.557
+1.069
+-0.423
+-1.929
+1.132
+-1.116
+1.09
+1.21
+0.012
+0.637
+3.641
+1.414
+0.247
+-0.912
+1.366
+1.296
+-1.744
+-1.168
+0.841
+-0.098
+-0.188
+-1.318
+1.554
+0.196
+-1.015
+2.687
+1.012
+1.251
+-1.598
+-1.073
+-0.479
+1.218
+1.657
+-1.16
+-1.991
+1.673
+1.401
+-0.064
+-0.712
+-0.691
+0.827
+0.121
+-0.809
+-0.324
+0.097
+0.377
+0.769
+1.056
+1.268
+0.172
+0.808
+-0.418
+-1.271
+-1.242
+-0.376
+-0.674
+-0.049
+-0.084
+0.894
+-0.419
 -0.194
-0.498
-0.492
--0.53
-0.597
--1.324
--1.732
-1.022
--0.121
--0.497
-0.538
--1.858
+-1.207
+0.246
+-1.451
+0.666
+-0.48
+-2.048
+-0.81
+2.336
+-1.176
+0.084
+-0.229
+-0.609
+0.887
+0.773
+0.032
+-0.26
+-0.21
+-1.048
+0.875
+-1.001
+2.022
+-0.683
+-0.225
+0.959
+0.026
+-0.161
 0.245
--1.282
-0.062
--0.255
--0.421
--0.439
--0.057
-0.151
--1.883
--0.28
-1.317
--1.325
--0.999
-0.434
-0.817
--1.042
--0.268
--0.091
-0.509
-0.925
--0.774
--0.776
-0.048
-2.092
--1.363
--1.482
--0.17
-2.807
-0.929
-1.148
--0.261
--1.342
+0.92
+0.573
+-0.088
+0.492
+0.887
+-0.919
+-0.484
+0.416
+-0.545
+1.043
+-1.466
+-0.556
+0.089
+-0.544
+0.015
+-0.431
+0.009
+-0.218
+-0.749
+-0.657
+-0.968
+-1.273
+-0.104
+-0.045
+-1.545
+0.102
+0.881
+1.393
+0.722
+-0.142
+0.165
+-0.974
+0.517
+0.868
+0.478
+1.836
+0.456
+-0.112
 -1.168
-0.355
--0.624
--0.759
-2.684
-0.556
-0.768
-3.095
--0.596
-0.936
--2.139
--0.042
-1.186
-1.094
--0.716
-0.493
--2.028
--0.152
--0.078
-0.757
-0.683
--0.558
-0.042
--0.578
-2.17
-0.922
-0.516
-1.285
--1.61
-1.997
-0.899
-0.897
-0.847
-0.825
--0.07
--0.521
--0.77
--0.297
--1.144
--0.703
-1.354
-0.95
-1.772
--0.328
-0.935
--0.731
--0.369
-0.373
--0.699
--0.791
-1.623
-0.978
-0.309
-1.545
-0.936
-1.196
-1.754
--0.006
-1.505
--0.007
-0.198
-0.731
-0.124
--0.145
-0.297
-1.737
--1.611
-0.506
-0.726
-0.023
--1.576
-0.027
-0.403
--0.516
-0.932
+-0.184
index ed6ef0e..2838cb0 100644 (file)
@@ -1,13 +1,13 @@
 Headless run
 Play
-0: money=65 enemies=3 shoots=15
-1: money=38 enemies=0 shoots=17
-2: money=64 enemies=0 shoots=38
-3: money=36 enemies=3 shoots=28
-4: money=58 enemies=0 shoots=45
-5: money=63 enemies=1 shoots=21
-6: money=55 enemies=2 shoots=36
-7: money=76 enemies=0 shoots=55
-8: money=4 enemies=3 shoots=50
-9: money=22 enemies=0 shoots=60
+0: money=36 enemies=3 shoots=15
+1: money=8 enemies=3 shoots=22
+2: money=100 enemies=0 shoots=33
+3: money=78 enemies=0 shoots=42
+4: money=68 enemies=0 shoots=35
+5: money=20 enemies=3 shoots=44
+6: money=58 enemies=1 shoots=27
+7: money=72 enemies=0 shoots=55
+8: money=77 enemies=0 shoots=58
+9: money=68 enemies=0 shoots=61
 Game Over
index 015bd00..0738479 100644 (file)
@@ -29,2281 +29,2423 @@ INPUT click 492.0 356.0
 read 179 click 472.0 428.0
 WAIT 179 for click 472.0 428.0
 BLIT splash.png (0.0,0.0) -- (0.0,480.0) -- (640.0,480.0) -- (640.0,0.0)
-BLIT star2.png CENTERED (537,217)
-BLIT star0.png CENTERED (511,449)
-BLIT star1.png CENTERED (214,383)
-BLIT star1.png CENTERED (354,253)
-BLIT star2.png CENTERED (233,279)
-BLIT star1.png CENTERED (586,331)
-BLIT star0.png CENTERED (90,298)
-BLIT star2.png CENTERED (155,95)
-BLIT star0.png CENTERED (100,203)
-BLIT star2.png CENTERED (579,-16)
-BLIT star1.png CENTERED (328,426)
-BLIT star1.png CENTERED (189,327)
-BLIT star0.png CENTERED (186,-77)
-BLIT star2.png CENTERED (493,280)
-BLIT star1.png CENTERED (256,442)
-BLIT star2.png CENTERED (225,419)
-BLIT star1.png CENTERED (44,477)
-BLIT star1.png CENTERED (55,117)
-BLIT star0.png CENTERED (569,176)
-BLIT star0.png CENTERED (12,228)
-BLIT star2.png CENTERED (175,-8)
-BLIT star1.png CENTERED (544,149)
-BLIT star1.png CENTERED (240,385)
-BLIT star0.png CENTERED (427,263)
-BLIT star2.png CENTERED (280,479)
-BLIT star2.png CENTERED (461,163)
-BLIT star1.png CENTERED (409,195)
-BLIT star2.png CENTERED (106,242)
-BLIT star1.png CENTERED (530,172)
-BLIT star1.png CENTERED (571,194)
-BLIT star1.png CENTERED (612,307)
-BLIT star2.png CENTERED (549,242)
-BLIT star1.png CENTERED (254,416)
-BLIT star0.png CENTERED (583,244)
-BLIT star0.png CENTERED (608,452)
-BLIT star1.png CENTERED (563,326)
-BLIT star2.png CENTERED (396,163)
-BLIT star1.png CENTERED (196,228)
-BLIT star1.png CENTERED (120,155)
-BLIT star2.png CENTERED (266,113)
-BLIT star1.png CENTERED (66,80)
-BLIT star1.png CENTERED (318,-121)
-BLIT star2.png CENTERED (438,211)
-BLIT star1.png CENTERED (235,154)
-BLIT star0.png CENTERED (374,128)
-BLIT star2.png CENTERED (468,88)
-BLIT star0.png CENTERED (105,366)
-BLIT star1.png CENTERED (608,46)
-BLIT star2.png CENTERED (112,143)
-BLIT star2.png CENTERED (468,348)
-BLIT star0.png CENTERED (409,374)
-BLIT star0.png CENTERED (86,259)
-BLIT star1.png CENTERED (44,117)
-BLIT star2.png CENTERED (524,303)
-BLIT star2.png CENTERED (33,109)
-BLIT star0.png CENTERED (130,438)
-BLIT star2.png CENTERED (638,56)
-BLIT star2.png CENTERED (46,33)
-BLIT star0.png CENTERED (380,98)
-BLIT star2.png CENTERED (250,467)
-BLIT star1.png CENTERED (229,288)
-BLIT star0.png CENTERED (289,339)
-BLIT star1.png CENTERED (339,379)
-BLIT star2.png CENTERED (635,308)
-BLIT star0.png CENTERED (478,310)
-BLIT star2.png CENTERED (478,432)
-BLIT star2.png CENTERED (558,432)
-BLIT star2.png CENTERED (476,467)
-BLIT star0.png CENTERED (426,250)
-BLIT star0.png CENTERED (531,436)
-BLIT star1.png CENTERED (415,143)
-BLIT star1.png CENTERED (146,351)
-BLIT star0.png CENTERED (210,119)
-BLIT star1.png CENTERED (405,132)
-BLIT star0.png CENTERED (465,-107)
-BLIT star0.png CENTERED (349,355)
-BLIT star2.png CENTERED (301,317)
-BLIT star2.png CENTERED (288,191)
-BLIT star1.png CENTERED (278,17)
-BLIT star1.png CENTERED (383,413)
-BLIT star1.png CENTERED (432,252)
-BLIT star0.png CENTERED (195,354)
-BLIT star1.png CENTERED (397,37)
-BLIT star1.png CENTERED (445,347)
-BLIT star1.png CENTERED (222,112)
-BLIT star1.png CENTERED (401,367)
-BLIT star2.png CENTERED (473,129)
-BLIT star1.png CENTERED (438,327)
-BLIT star1.png CENTERED (340,56)
-BLIT star0.png CENTERED (561,338)
-BLIT star1.png CENTERED (71,196)
-BLIT star1.png CENTERED (379,334)
-BLIT star1.png CENTERED (496,154)
-BLIT star0.png CENTERED (121,479)
-BLIT star0.png CENTERED (529,171)
-BLIT star2.png CENTERED (296,-67)
-BLIT star0.png CENTERED (489,345)
-BLIT star2.png CENTERED (438,212)
-BLIT star2.png CENTERED (603,470)
-BLIT star1.png CENTERED (130,402)
+BLIT star2.png CENTERED (0,413)
+BLIT star1.png CENTERED (68,390)
+BLIT star1.png CENTERED (561,-74)
+BLIT star1.png CENTERED (213,142)
+BLIT star1.png CENTERED (155,182)
+BLIT star1.png CENTERED (177,393)
+BLIT star0.png CENTERED (314,-98)
+BLIT star1.png CENTERED (96,408)
+BLIT star1.png CENTERED (616,472)
+BLIT star2.png CENTERED (626,476)
+BLIT star1.png CENTERED (583,436)
+BLIT star0.png CENTERED (622,37)
+BLIT star1.png CENTERED (572,267)
+BLIT star1.png CENTERED (86,456)
+BLIT star1.png CENTERED (402,321)
+BLIT star1.png CENTERED (629,312)
+BLIT star2.png CENTERED (478,392)
+BLIT star1.png CENTERED (575,388)
+BLIT star1.png CENTERED (306,344)
+BLIT star1.png CENTERED (605,197)
+BLIT star1.png CENTERED (626,244)
+BLIT star1.png CENTERED (47,181)
+BLIT star2.png CENTERED (30,-48)
+BLIT star1.png CENTERED (320,214)
+BLIT star1.png CENTERED (6,350)
+BLIT star1.png CENTERED (409,295)
+BLIT star1.png CENTERED (386,247)
+BLIT star2.png CENTERED (181,324)
+BLIT star1.png CENTERED (282,439)
+BLIT star0.png CENTERED (551,246)
+BLIT star2.png CENTERED (199,415)
+BLIT star0.png CENTERED (261,345)
+BLIT star1.png CENTERED (457,219)
+BLIT star1.png CENTERED (324,448)
+BLIT star1.png CENTERED (152,273)
+BLIT star1.png CENTERED (501,388)
+BLIT star2.png CENTERED (482,78)
+BLIT star1.png CENTERED (411,372)
+BLIT star1.png CENTERED (250,272)
+BLIT star2.png CENTERED (494,90)
+BLIT star1.png CENTERED (47,286)
+BLIT star1.png CENTERED (341,209)
+BLIT star1.png CENTERED (163,387)
+BLIT star2.png CENTERED (450,473)
+BLIT star2.png CENTERED (546,83)
+BLIT star1.png CENTERED (84,168)
+BLIT star1.png CENTERED (425,234)
+BLIT star0.png CENTERED (457,421)
+BLIT star0.png CENTERED (310,144)
+BLIT star1.png CENTERED (425,415)
+BLIT star1.png CENTERED (570,335)
+BLIT star2.png CENTERED (287,372)
+BLIT star1.png CENTERED (54,477)
+BLIT star0.png CENTERED (513,129)
+BLIT star0.png CENTERED (293,440)
+BLIT star1.png CENTERED (61,57)
+BLIT star2.png CENTERED (302,34)
+BLIT star1.png CENTERED (603,32)
+BLIT star0.png CENTERED (109,302)
+BLIT star2.png CENTERED (166,369)
+BLIT star2.png CENTERED (83,330)
+BLIT star1.png CENTERED (42,189)
+BLIT star1.png CENTERED (549,218)
+BLIT star2.png CENTERED (130,185)
+BLIT star2.png CENTERED (393,106)
+BLIT star2.png CENTERED (449,382)
+BLIT star1.png CENTERED (225,87)
+BLIT star2.png CENTERED (574,434)
+BLIT star1.png CENTERED (610,310)
+BLIT star1.png CENTERED (301,50)
+BLIT star1.png CENTERED (100,473)
+BLIT star2.png CENTERED (283,60)
+BLIT star1.png CENTERED (316,372)
+BLIT star0.png CENTERED (477,308)
+BLIT star0.png CENTERED (233,471)
+BLIT star0.png CENTERED (210,443)
+BLIT star1.png CENTERED (471,335)
+BLIT star1.png CENTERED (562,269)
+BLIT star2.png CENTERED (178,65)
+BLIT star1.png CENTERED (13,25)
+BLIT star1.png CENTERED (400,106)
+BLIT star1.png CENTERED (347,132)
+BLIT star0.png CENTERED (158,140)
+BLIT star1.png CENTERED (269,472)
+BLIT star1.png CENTERED (521,259)
+BLIT star2.png CENTERED (420,218)
+BLIT star1.png CENTERED (147,79)
+BLIT star2.png CENTERED (406,334)
+BLIT star2.png CENTERED (254,434)
+BLIT star1.png CENTERED (262,415)
+BLIT star1.png CENTERED (370,429)
+BLIT star1.png CENTERED (398,343)
+BLIT star0.png CENTERED (392,184)
+BLIT star0.png CENTERED (557,389)
+BLIT star0.png CENTERED (338,219)
+BLIT star2.png CENTERED (101,306)
+BLIT star1.png CENTERED (6,425)
+BLIT star2.png CENTERED (449,223)
+BLIT star1.png CENTERED (591,193)
+BLIT star1.png CENTERED (219,-61)
 BLIT splash_play.png (0.0,0.0) -- (0.0,480.0) -- (640.0,480.0) -- (640.0,0.0)
 INPUT click 472.0 428.0
 read 31 click 94.0 412.0
 WAIT 31 for click 94.0 412.0
 CLEAR rgb(0.0;0.0;0.0)
-BLIT star1.png CENTERED (252,352)
-BLIT star0.png CENTERED (165,86)
-BLIT star1.png CENTERED (69,336)
-BLIT star0.png CENTERED (184,173)
-BLIT star2.png CENTERED (339,-93)
-BLIT star2.png CENTERED (169,358)
-BLIT star2.png CENTERED (311,122)
-BLIT star0.png CENTERED (400,268)
-BLIT star2.png CENTERED (356,249)
-BLIT star1.png CENTERED (252,142)
-BLIT star2.png CENTERED (466,358)
-BLIT star0.png CENTERED (216,447)
-BLIT star2.png CENTERED (262,45)
-BLIT star0.png CENTERED (495,156)
-BLIT star0.png CENTERED (553,358)
-BLIT star1.png CENTERED (129,4)
-BLIT star2.png CENTERED (134,273)
-BLIT star1.png CENTERED (60,74)
-BLIT star2.png CENTERED (193,359)
-BLIT star0.png CENTERED (84,38)
-BLIT star1.png CENTERED (292,414)
-BLIT star1.png CENTERED (283,92)
-BLIT star1.png CENTERED (370,289)
-BLIT star2.png CENTERED (231,193)
-BLIT star1.png CENTERED (305,117)
-BLIT star1.png CENTERED (336,332)
-BLIT star0.png CENTERED (149,411)
-BLIT star0.png CENTERED (63,460)
-BLIT star2.png CENTERED (308,153)
-BLIT star2.png CENTERED (186,218)
-BLIT star1.png CENTERED (220,429)
-BLIT star2.png CENTERED (23,166)
-BLIT star1.png CENTERED (400,425)
-BLIT star1.png CENTERED (141,131)
-BLIT star2.png CENTERED (70,367)
-BLIT star1.png CENTERED (460,124)
-BLIT star1.png CENTERED (202,228)
-BLIT star0.png CENTERED (246,273)
-BLIT star1.png CENTERED (355,33)
-BLIT star2.png CENTERED (244,187)
-BLIT star1.png CENTERED (166,345)
-BLIT star2.png CENTERED (588,373)
-BLIT star1.png CENTERED (446,186)
-BLIT star2.png CENTERED (3,301)
-BLIT star1.png CENTERED (395,340)
-BLIT star1.png CENTERED (256,214)
-BLIT star0.png CENTERED (513,342)
-BLIT star1.png CENTERED (21,69)
-BLIT star1.png CENTERED (120,337)
-BLIT star0.png CENTERED (363,11)
-BLIT star1.png CENTERED (195,163)
-BLIT star1.png CENTERED (548,111)
-BLIT star1.png CENTERED (427,460)
-BLIT star0.png CENTERED (200,443)
-BLIT star2.png CENTERED (100,287)
-BLIT star0.png CENTERED (432,452)
-BLIT star2.png CENTERED (252,385)
-BLIT star2.png CENTERED (350,404)
-BLIT star1.png CENTERED (149,478)
-BLIT star1.png CENTERED (597,271)
-BLIT star2.png CENTERED (601,428)
-BLIT star2.png CENTERED (380,367)
-BLIT star2.png CENTERED (598,202)
-BLIT star2.png CENTERED (377,348)
-BLIT star1.png CENTERED (496,403)
-BLIT star0.png CENTERED (386,243)
-BLIT star2.png CENTERED (509,461)
-BLIT star1.png CENTERED (425,234)
-BLIT star1.png CENTERED (382,342)
-BLIT star0.png CENTERED (94,290)
-BLIT star2.png CENTERED (448,294)
-BLIT star1.png CENTERED (329,85)
-BLIT star2.png CENTERED (326,67)
-BLIT star1.png CENTERED (246,336)
-BLIT star1.png CENTERED (92,218)
-BLIT star1.png CENTERED (260,48)
-BLIT star1.png CENTERED (367,425)
-BLIT star2.png CENTERED (285,280)
-BLIT star1.png CENTERED (37,72)
-BLIT star0.png CENTERED (382,126)
-BLIT star1.png CENTERED (46,-37)
-BLIT star2.png CENTERED (296,256)
-BLIT star0.png CENTERED (378,-23)
-BLIT star1.png CENTERED (490,193)
-BLIT star2.png CENTERED (140,278)
-BLIT star2.png CENTERED (298,475)
-BLIT star2.png CENTERED (117,263)
-BLIT star1.png CENTERED (490,455)
-BLIT star1.png CENTERED (596,4)
-BLIT star1.png CENTERED (257,303)
-BLIT star1.png CENTERED (398,122)
-BLIT star2.png CENTERED (230,362)
-BLIT star2.png CENTERED (134,337)
-BLIT star0.png CENTERED (70,197)
-BLIT star1.png CENTERED (413,323)
-BLIT star1.png CENTERED (381,62)
-BLIT star0.png CENTERED (360,127)
-BLIT star2.png CENTERED (220,52)
-BLIT star2.png CENTERED (384,417)
-BLIT star1.png CENTERED (597,111)
+BLIT star1.png CENTERED (278,78)
+BLIT star1.png CENTERED (286,204)
+BLIT star0.png CENTERED (145,28)
+BLIT star2.png CENTERED (188,440)
+BLIT star1.png CENTERED (287,450)
+BLIT star1.png CENTERED (377,157)
+BLIT star0.png CENTERED (426,442)
+BLIT star2.png CENTERED (55,71)
+BLIT star1.png CENTERED (372,353)
+BLIT star1.png CENTERED (25,157)
+BLIT star1.png CENTERED (461,95)
+BLIT star1.png CENTERED (112,380)
+BLIT star0.png CENTERED (388,450)
+BLIT star1.png CENTERED (304,306)
+BLIT star1.png CENTERED (168,159)
+BLIT star1.png CENTERED (61,48)
+BLIT star1.png CENTERED (24,161)
+BLIT star1.png CENTERED (363,250)
+BLIT star0.png CENTERED (452,427)
+BLIT star1.png CENTERED (13,289)
+BLIT star0.png CENTERED (388,165)
+BLIT star1.png CENTERED (347,112)
+BLIT star2.png CENTERED (579,272)
+BLIT star1.png CENTERED (523,332)
+BLIT star1.png CENTERED (285,471)
+BLIT star1.png CENTERED (63,-97)
+BLIT star0.png CENTERED (319,108)
+BLIT star1.png CENTERED (491,-132)
+BLIT star0.png CENTERED (313,304)
+BLIT star2.png CENTERED (118,100)
+BLIT star1.png CENTERED (163,458)
+BLIT star2.png CENTERED (262,362)
+BLIT star1.png CENTERED (382,375)
+BLIT star0.png CENTERED (23,336)
+BLIT star0.png CENTERED (542,455)
+BLIT star2.png CENTERED (117,61)
+BLIT star2.png CENTERED (575,184)
+BLIT star1.png CENTERED (120,202)
+BLIT star1.png CENTERED (405,226)
+BLIT star2.png CENTERED (25,86)
+BLIT star2.png CENTERED (547,69)
+BLIT star1.png CENTERED (464,329)
+BLIT star1.png CENTERED (560,216)
+BLIT star1.png CENTERED (561,476)
+BLIT star2.png CENTERED (482,-28)
+BLIT star0.png CENTERED (271,31)
+BLIT star2.png CENTERED (608,49)
+BLIT star2.png CENTERED (43,398)
+BLIT star1.png CENTERED (382,407)
+BLIT star2.png CENTERED (141,294)
+BLIT star1.png CENTERED (10,67)
+BLIT star2.png CENTERED (428,168)
+BLIT star0.png CENTERED (353,262)
+BLIT star1.png CENTERED (343,407)
+BLIT star2.png CENTERED (414,237)
+BLIT star1.png CENTERED (148,252)
+BLIT star2.png CENTERED (415,277)
+BLIT star1.png CENTERED (597,167)
+BLIT star2.png CENTERED (608,251)
+BLIT star0.png CENTERED (440,294)
+BLIT star2.png CENTERED (37,252)
+BLIT star2.png CENTERED (401,300)
+BLIT star0.png CENTERED (404,445)
+BLIT star1.png CENTERED (93,-113)
+BLIT star2.png CENTERED (468,286)
+BLIT star0.png CENTERED (211,133)
+BLIT star1.png CENTERED (349,273)
+BLIT star2.png CENTERED (620,367)
+BLIT star0.png CENTERED (321,407)
+BLIT star1.png CENTERED (605,279)
+BLIT star1.png CENTERED (136,462)
+BLIT star1.png CENTERED (619,384)
+BLIT star2.png CENTERED (568,167)
+BLIT star0.png CENTERED (391,402)
+BLIT star2.png CENTERED (508,299)
+BLIT star1.png CENTERED (417,159)
+BLIT star2.png CENTERED (81,371)
+BLIT star0.png CENTERED (367,66)
+BLIT star2.png CENTERED (30,396)
+BLIT star1.png CENTERED (390,61)
+BLIT star1.png CENTERED (590,226)
+BLIT star2.png CENTERED (265,424)
+BLIT star1.png CENTERED (476,417)
+BLIT star1.png CENTERED (102,110)
+BLIT star1.png CENTERED (263,66)
+BLIT star1.png CENTERED (74,457)
+BLIT star1.png CENTERED (41,139)
+BLIT star2.png CENTERED (582,478)
+BLIT star0.png CENTERED (541,473)
+BLIT star1.png CENTERED (309,425)
+BLIT star1.png CENTERED (285,103)
+BLIT star1.png CENTERED (252,479)
+BLIT star0.png CENTERED (322,196)
+BLIT star1.png CENTERED (247,225)
+BLIT star1.png CENTERED (265,281)
+BLIT star2.png CENTERED (207,420)
+BLIT star2.png CENTERED (194,345)
+BLIT star1.png CENTERED (237,435)
+BLIT star0.png CENTERED (564,414)
+BLIT star2.png CENTERED (586,108)
 BLIT player_shoot.png CENTERED (320,2)
 BLIT player_shoot.png CENTERED (320,126)
 BLIT player_shoot.png CENTERED (320,250)
 BLIT player_shoot.png CENTERED (320,374)
-BLIT enemy1.png CENTERED (220,13)
+BLIT enemy0.png CENTERED (510,169)
+BLIT enemy4.png CENTERED (295,25)
+BLIT enemy4_turret.png CENTERED (295.888,25.056) ROTATED 3.077
 BLIT player.png CENTERED (323,400)
 BLIT player_shoot.png (30,460)
 INPUT click 94.0 412.0
 read 31 click 261.0 512.0
 WAIT 31 for click 261.0 512.0
 CLEAR rgb(0.0;0.0;0.0)
-BLIT star1.png CENTERED (252,361)
-BLIT star0.png CENTERED (165,89)
-BLIT star1.png CENTERED (69,342)
-BLIT star0.png CENTERED (184,176)
-BLIT star2.png CENTERED (339,-82)
-BLIT star2.png CENTERED (169,368)
-BLIT star2.png CENTERED (311,134)
-BLIT star0.png CENTERED (400,272)
-BLIT star2.png CENTERED (356,260)
-BLIT star1.png CENTERED (252,147)
-BLIT star2.png CENTERED (466,370)
-BLIT star0.png CENTERED (216,451)
-BLIT star2.png CENTERED (262,56)
-BLIT star0.png CENTERED (495,160)
-BLIT star0.png CENTERED (553,361)
-BLIT star1.png CENTERED (129,13)
-BLIT star2.png CENTERED (134,285)
-BLIT star1.png CENTERED (60,81)
-BLIT star2.png CENTERED (193,370)
-BLIT star0.png CENTERED (84,41)
-BLIT star1.png CENTERED (292,423)
-BLIT star1.png CENTERED (283,100)
-BLIT star1.png CENTERED (370,297)
-BLIT star2.png CENTERED (231,204)
-BLIT star1.png CENTERED (305,126)
-BLIT star1.png CENTERED (336,340)
-BLIT star0.png CENTERED (149,414)
-BLIT star0.png CENTERED (63,465)
-BLIT star2.png CENTERED (308,164)
-BLIT star2.png CENTERED (186,230)
-BLIT star1.png CENTERED (220,438)
-BLIT star2.png CENTERED (23,177)
-BLIT star1.png CENTERED (400,430)
-BLIT star1.png CENTERED (141,139)
-BLIT star2.png CENTERED (70,377)
-BLIT star1.png CENTERED (460,130)
-BLIT star1.png CENTERED (202,233)
-BLIT star0.png CENTERED (246,277)
-BLIT star1.png CENTERED (355,40)
-BLIT star2.png CENTERED (244,197)
-BLIT star1.png CENTERED (166,354)
-BLIT star2.png CENTERED (588,384)
-BLIT star1.png CENTERED (446,195)
-BLIT star2.png CENTERED (3,312)
-BLIT star1.png CENTERED (395,348)
-BLIT star1.png CENTERED (256,223)
-BLIT star0.png CENTERED (513,347)
-BLIT star1.png CENTERED (21,79)
-BLIT star1.png CENTERED (120,347)
-BLIT star0.png CENTERED (363,14)
-BLIT star1.png CENTERED (195,172)
-BLIT star1.png CENTERED (548,117)
-BLIT star1.png CENTERED (427,469)
-BLIT star0.png CENTERED (200,447)
-BLIT star2.png CENTERED (100,297)
-BLIT star0.png CENTERED (432,457)
-BLIT star2.png CENTERED (252,396)
-BLIT star2.png CENTERED (350,416)
-BLIT star2.png CENTERED (615,-5)
-BLIT star1.png CENTERED (597,279)
-BLIT star2.png CENTERED (601,438)
-BLIT star2.png CENTERED (380,379)
-BLIT star2.png CENTERED (598,213)
-BLIT star2.png CENTERED (377,358)
-BLIT star1.png CENTERED (496,408)
-BLIT star0.png CENTERED (386,247)
-BLIT star2.png CENTERED (509,472)
-BLIT star1.png CENTERED (425,242)
-BLIT star1.png CENTERED (382,350)
-BLIT star0.png CENTERED (94,293)
-BLIT star2.png CENTERED (448,305)
-BLIT star1.png CENTERED (329,92)
-BLIT star2.png CENTERED (326,78)
-BLIT star1.png CENTERED (246,343)
-BLIT star1.png CENTERED (92,223)
-BLIT star1.png CENTERED (260,58)
-BLIT star1.png CENTERED (367,433)
-BLIT star2.png CENTERED (285,293)
-BLIT star1.png CENTERED (37,81)
-BLIT star0.png CENTERED (382,131)
-BLIT star1.png CENTERED (46,-29)
-BLIT star2.png CENTERED (296,268)
-BLIT star0.png CENTERED (378,-19)
-BLIT star1.png CENTERED (490,201)
-BLIT star2.png CENTERED (140,290)
-BLIT star1.png CENTERED (175,-13)
-BLIT star2.png CENTERED (117,273)
-BLIT star1.png CENTERED (490,461)
-BLIT star1.png CENTERED (596,10)
-BLIT star1.png CENTERED (257,311)
-BLIT star1.png CENTERED (398,130)
-BLIT star2.png CENTERED (230,374)
-BLIT star2.png CENTERED (134,348)
-BLIT star0.png CENTERED (70,202)
-BLIT star1.png CENTERED (413,333)
-BLIT star1.png CENTERED (381,70)
-BLIT star0.png CENTERED (360,130)
-BLIT star2.png CENTERED (220,64)
-BLIT star2.png CENTERED (384,428)
-BLIT star1.png CENTERED (597,118)
+BLIT star1.png CENTERED (278,84)
+BLIT star1.png CENTERED (286,212)
+BLIT star0.png CENTERED (145,33)
+BLIT star2.png CENTERED (188,450)
+BLIT star1.png CENTERED (287,457)
+BLIT star1.png CENTERED (377,167)
+BLIT star0.png CENTERED (426,447)
+BLIT star2.png CENTERED (55,81)
+BLIT star1.png CENTERED (372,360)
+BLIT star1.png CENTERED (25,164)
+BLIT star1.png CENTERED (461,103)
+BLIT star1.png CENTERED (112,390)
+BLIT star0.png CENTERED (388,453)
+BLIT star1.png CENTERED (304,313)
+BLIT star1.png CENTERED (168,167)
+BLIT star1.png CENTERED (61,57)
+BLIT star1.png CENTERED (24,168)
+BLIT star1.png CENTERED (363,257)
+BLIT star0.png CENTERED (452,430)
+BLIT star1.png CENTERED (13,296)
+BLIT star0.png CENTERED (388,169)
+BLIT star1.png CENTERED (347,122)
+BLIT star2.png CENTERED (579,284)
+BLIT star1.png CENTERED (523,340)
+BLIT star1.png CENTERED (285,478)
+BLIT star1.png CENTERED (63,-91)
+BLIT star0.png CENTERED (319,111)
+BLIT star1.png CENTERED (491,-126)
+BLIT star0.png CENTERED (313,308)
+BLIT star2.png CENTERED (118,110)
+BLIT star1.png CENTERED (163,464)
+BLIT star2.png CENTERED (262,371)
+BLIT star1.png CENTERED (382,384)
+BLIT star0.png CENTERED (23,339)
+BLIT star0.png CENTERED (542,458)
+BLIT star2.png CENTERED (117,73)
+BLIT star2.png CENTERED (575,195)
+BLIT star1.png CENTERED (120,207)
+BLIT star1.png CENTERED (405,232)
+BLIT star2.png CENTERED (25,99)
+BLIT star2.png CENTERED (547,81)
+BLIT star1.png CENTERED (464,339)
+BLIT star1.png CENTERED (560,226)
+BLIT star1.png CENTERED (578,-16)
+BLIT star2.png CENTERED (482,-18)
+BLIT star0.png CENTERED (271,36)
+BLIT star2.png CENTERED (608,61)
+BLIT star2.png CENTERED (43,410)
+BLIT star1.png CENTERED (382,413)
+BLIT star2.png CENTERED (141,304)
+BLIT star1.png CENTERED (10,76)
+BLIT star2.png CENTERED (428,180)
+BLIT star0.png CENTERED (353,265)
+BLIT star1.png CENTERED (343,412)
+BLIT star2.png CENTERED (414,247)
+BLIT star1.png CENTERED (148,260)
+BLIT star2.png CENTERED (415,288)
+BLIT star1.png CENTERED (597,176)
+BLIT star2.png CENTERED (608,261)
+BLIT star0.png CENTERED (440,299)
+BLIT star2.png CENTERED (37,263)
+BLIT star2.png CENTERED (401,311)
+BLIT star0.png CENTERED (404,450)
+BLIT star1.png CENTERED (93,-105)
+BLIT star2.png CENTERED (468,297)
+BLIT star0.png CENTERED (211,138)
+BLIT star1.png CENTERED (349,282)
+BLIT star2.png CENTERED (620,379)
+BLIT star0.png CENTERED (321,410)
+BLIT star1.png CENTERED (605,284)
+BLIT star1.png CENTERED (136,469)
+BLIT star1.png CENTERED (619,391)
+BLIT star2.png CENTERED (568,178)
+BLIT star0.png CENTERED (391,405)
+BLIT star2.png CENTERED (508,310)
+BLIT star1.png CENTERED (417,165)
+BLIT star2.png CENTERED (81,382)
+BLIT star0.png CENTERED (367,70)
+BLIT star2.png CENTERED (30,407)
+BLIT star1.png CENTERED (390,68)
+BLIT star1.png CENTERED (590,235)
+BLIT star2.png CENTERED (265,436)
+BLIT star1.png CENTERED (476,427)
+BLIT star1.png CENTERED (102,117)
+BLIT star1.png CENTERED (263,72)
+BLIT star1.png CENTERED (74,463)
+BLIT star1.png CENTERED (41,144)
+BLIT star2.png CENTERED (4,-18)
+BLIT star0.png CENTERED (541,475)
+BLIT star1.png CENTERED (309,435)
+BLIT star1.png CENTERED (285,111)
+BLIT star2.png CENTERED (246,-43)
+BLIT star0.png CENTERED (322,200)
+BLIT star1.png CENTERED (247,231)
+BLIT star1.png CENTERED (265,287)
+BLIT star2.png CENTERED (207,430)
+BLIT star2.png CENTERED (194,357)
+BLIT star1.png CENTERED (237,445)
+BLIT star0.png CENTERED (564,417)
+BLIT star2.png CENTERED (586,119)
 BLIT player_shoot.png CENTERED (320,2)
 BLIT player_shoot.png CENTERED (320,126)
 BLIT player_shoot.png CENTERED (320,250)
 BLIT player_shoot.png CENTERED (408,390)
-BLIT enemy1.png CENTERED (220,73)
-BLIT enemy1.png CENTERED (433,43)
+BLIT enemy0.png CENTERED (532,224)
+BLIT enemy4.png CENTERED (295,68)
+BLIT enemy4_turret.png CENTERED (295.888,68.208) ROTATED 2.807
 BLIT player.png CENTERED (414,417)
 BLIT player_shoot.png (30,460)
 INPUT click 261.0 512.0
 read 22 click 274.0 530.0
 WAIT 22 for click 274.0 530.0
 CLEAR rgb(0.0;0.0;0.0)
-BLIT star1.png CENTERED (252,369)
-BLIT star0.png CENTERED (165,92)
-BLIT star1.png CENTERED (69,348)
-BLIT star0.png CENTERED (184,180)
-BLIT star2.png CENTERED (339,-71)
-BLIT star2.png CENTERED (169,378)
-BLIT star2.png CENTERED (311,145)
-BLIT star0.png CENTERED (400,277)
-BLIT star2.png CENTERED (356,271)
-BLIT star1.png CENTERED (252,153)
-BLIT star2.png CENTERED (466,382)
-BLIT star0.png CENTERED (216,455)
-BLIT star2.png CENTERED (262,66)
-BLIT star0.png CENTERED (495,163)
-BLIT star0.png CENTERED (553,364)
-BLIT star1.png CENTERED (129,22)
-BLIT star2.png CENTERED (134,296)
-BLIT star1.png CENTERED (60,87)
-BLIT star2.png CENTERED (193,381)
-BLIT star0.png CENTERED (84,44)
-BLIT star1.png CENTERED (292,432)
-BLIT star1.png CENTERED (283,109)
-BLIT star1.png CENTERED (370,306)
-BLIT star2.png CENTERED (231,216)
-BLIT star1.png CENTERED (305,134)
-BLIT star1.png CENTERED (336,349)
-BLIT star0.png CENTERED (149,418)
-BLIT star0.png CENTERED (63,469)
-BLIT star2.png CENTERED (308,175)
-BLIT star2.png CENTERED (186,241)
-BLIT star1.png CENTERED (220,447)
-BLIT star2.png CENTERED (23,187)
-BLIT star1.png CENTERED (400,436)
-BLIT star1.png CENTERED (141,148)
-BLIT star2.png CENTERED (70,387)
-BLIT star1.png CENTERED (460,137)
-BLIT star1.png CENTERED (202,238)
-BLIT star0.png CENTERED (246,281)
-BLIT star1.png CENTERED (355,46)
-BLIT star2.png CENTERED (244,207)
-BLIT star1.png CENTERED (166,362)
-BLIT star2.png CENTERED (588,394)
-BLIT star1.png CENTERED (446,204)
-BLIT star2.png CENTERED (3,323)
-BLIT star1.png CENTERED (395,355)
-BLIT star1.png CENTERED (256,233)
-BLIT star0.png CENTERED (513,351)
-BLIT star1.png CENTERED (21,88)
-BLIT star1.png CENTERED (120,356)
-BLIT star0.png CENTERED (363,17)
-BLIT star1.png CENTERED (195,182)
-BLIT star1.png CENTERED (548,123)
-BLIT star1.png CENTERED (427,478)
-BLIT star0.png CENTERED (200,452)
-BLIT star2.png CENTERED (100,308)
-BLIT star0.png CENTERED (432,461)
-BLIT star2.png CENTERED (252,407)
-BLIT star2.png CENTERED (350,428)
-BLIT star2.png CENTERED (615,6)
-BLIT star1.png CENTERED (597,287)
-BLIT star2.png CENTERED (601,449)
-BLIT star2.png CENTERED (380,391)
-BLIT star2.png CENTERED (598,224)
-BLIT star2.png CENTERED (377,368)
-BLIT star1.png CENTERED (496,413)
-BLIT star0.png CENTERED (386,251)
-BLIT star0.png CENTERED (277,-47)
-BLIT star1.png CENTERED (425,251)
-BLIT star1.png CENTERED (382,358)
-BLIT star0.png CENTERED (94,296)
-BLIT star2.png CENTERED (448,315)
-BLIT star1.png CENTERED (329,99)
-BLIT star2.png CENTERED (326,88)
-BLIT star1.png CENTERED (246,350)
-BLIT star1.png CENTERED (92,228)
-BLIT star1.png CENTERED (260,67)
-BLIT star1.png CENTERED (367,442)
-BLIT star2.png CENTERED (285,305)
-BLIT star1.png CENTERED (37,90)
-BLIT star0.png CENTERED (382,135)
-BLIT star1.png CENTERED (46,-21)
-BLIT star2.png CENTERED (296,279)
-BLIT star0.png CENTERED (378,-16)
-BLIT star1.png CENTERED (490,209)
-BLIT star2.png CENTERED (140,302)
-BLIT star1.png CENTERED (175,-8)
-BLIT star2.png CENTERED (117,284)
-BLIT star1.png CENTERED (490,466)
-BLIT star1.png CENTERED (596,16)
-BLIT star1.png CENTERED (257,319)
-BLIT star1.png CENTERED (398,137)
-BLIT star2.png CENTERED (230,385)
-BLIT star2.png CENTERED (134,359)
-BLIT star0.png CENTERED (70,206)
-BLIT star1.png CENTERED (413,342)
-BLIT star1.png CENTERED (381,78)
-BLIT star0.png CENTERED (360,133)
-BLIT star2.png CENTERED (220,76)
-BLIT star2.png CENTERED (384,440)
-BLIT star1.png CENTERED (597,125)
+BLIT star1.png CENTERED (278,90)
+BLIT star1.png CENTERED (286,220)
+BLIT star0.png CENTERED (145,38)
+BLIT star2.png CENTERED (188,460)
+BLIT star1.png CENTERED (287,465)
+BLIT star1.png CENTERED (377,176)
+BLIT star0.png CENTERED (426,451)
+BLIT star2.png CENTERED (55,92)
+BLIT star1.png CENTERED (372,367)
+BLIT star1.png CENTERED (25,171)
+BLIT star1.png CENTERED (461,111)
+BLIT star1.png CENTERED (112,399)
+BLIT star0.png CENTERED (388,457)
+BLIT star1.png CENTERED (304,319)
+BLIT star1.png CENTERED (168,175)
+BLIT star1.png CENTERED (61,66)
+BLIT star1.png CENTERED (24,176)
+BLIT star1.png CENTERED (363,264)
+BLIT star0.png CENTERED (452,433)
+BLIT star1.png CENTERED (13,304)
+BLIT star0.png CENTERED (388,173)
+BLIT star1.png CENTERED (347,131)
+BLIT star2.png CENTERED (579,296)
+BLIT star1.png CENTERED (523,349)
+BLIT star1.png CENTERED (531,-151)
+BLIT star1.png CENTERED (63,-85)
+BLIT star0.png CENTERED (319,115)
+BLIT star1.png CENTERED (491,-120)
+BLIT star0.png CENTERED (313,311)
+BLIT star2.png CENTERED (118,119)
+BLIT star1.png CENTERED (163,471)
+BLIT star2.png CENTERED (262,381)
+BLIT star1.png CENTERED (382,392)
+BLIT star0.png CENTERED (23,342)
+BLIT star0.png CENTERED (542,461)
+BLIT star2.png CENTERED (117,85)
+BLIT star2.png CENTERED (575,207)
+BLIT star1.png CENTERED (120,212)
+BLIT star1.png CENTERED (405,238)
+BLIT star2.png CENTERED (25,111)
+BLIT star2.png CENTERED (547,92)
+BLIT star1.png CENTERED (464,348)
+BLIT star1.png CENTERED (560,236)
+BLIT star1.png CENTERED (578,-6)
+BLIT star2.png CENTERED (482,-8)
+BLIT star0.png CENTERED (271,41)
+BLIT star2.png CENTERED (608,73)
+BLIT star2.png CENTERED (43,422)
+BLIT star1.png CENTERED (382,419)
+BLIT star2.png CENTERED (141,315)
+BLIT star1.png CENTERED (10,85)
+BLIT star2.png CENTERED (428,192)
+BLIT star0.png CENTERED (353,269)
+BLIT star1.png CENTERED (343,418)
+BLIT star2.png CENTERED (414,258)
+BLIT star1.png CENTERED (148,269)
+BLIT star2.png CENTERED (415,299)
+BLIT star1.png CENTERED (597,186)
+BLIT star2.png CENTERED (608,271)
+BLIT star0.png CENTERED (440,303)
+BLIT star2.png CENTERED (37,273)
+BLIT star2.png CENTERED (401,322)
+BLIT star0.png CENTERED (404,454)
+BLIT star1.png CENTERED (93,-97)
+BLIT star2.png CENTERED (468,309)
+BLIT star0.png CENTERED (211,143)
+BLIT star1.png CENTERED (349,291)
+BLIT star2.png CENTERED (620,391)
+BLIT star0.png CENTERED (321,413)
+BLIT star1.png CENTERED (605,289)
+BLIT star1.png CENTERED (136,476)
+BLIT star1.png CENTERED (619,398)
+BLIT star2.png CENTERED (568,189)
+BLIT star0.png CENTERED (391,408)
+BLIT star2.png CENTERED (508,321)
+BLIT star1.png CENTERED (417,171)
+BLIT star2.png CENTERED (81,393)
+BLIT star0.png CENTERED (367,73)
+BLIT star2.png CENTERED (30,418)
+BLIT star1.png CENTERED (390,74)
+BLIT star1.png CENTERED (590,245)
+BLIT star2.png CENTERED (265,448)
+BLIT star1.png CENTERED (476,437)
+BLIT star1.png CENTERED (102,125)
+BLIT star1.png CENTERED (263,78)
+BLIT star1.png CENTERED (74,469)
+BLIT star1.png CENTERED (41,148)
+BLIT star2.png CENTERED (4,-6)
+BLIT star0.png CENTERED (541,478)
+BLIT star1.png CENTERED (309,445)
+BLIT star1.png CENTERED (285,119)
+BLIT star2.png CENTERED (246,-31)
+BLIT star0.png CENTERED (322,205)
+BLIT star1.png CENTERED (247,236)
+BLIT star1.png CENTERED (265,293)
+BLIT star2.png CENTERED (207,440)
+BLIT star2.png CENTERED (194,368)
+BLIT star1.png CENTERED (237,454)
+BLIT star0.png CENTERED (564,420)
+BLIT star2.png CENTERED (586,130)
 BLIT player_shoot.png CENTERED (320,2)
 BLIT player_shoot.png CENTERED (320,126)
 BLIT player_shoot.png CENTERED (408,266)
 BLIT player_shoot.png CENTERED (328,390)
-BLIT enemy_shoot.png CENTERED (211,187)
-BLIT enemy_shoot.png CENTERED (229,187)
-BLIT enemy_shoot.png CENTERED (424,126)
-BLIT enemy_shoot.png CENTERED (442,126)
-BLIT enemy1.png CENTERED (220,133)
-BLIT enemy1.png CENTERED (433,105)
+BLIT enemy_shoot.png CENTERED (333,180)
+BLIT enemy_shoot.png CENTERED (321,167)
+BLIT enemy_shoot.png CENTERED (311,153)
+BLIT enemy_shoot.png CENTERED (303,139)
+BLIT enemy_shoot.png CENTERED (298,124)
+BLIT enemy0.png CENTERED (555,279)
+BLIT enemy4.png CENTERED (295,111)
+BLIT enemy4_turret.png CENTERED (295.888,111.36) ROTATED 3.067
 BLIT player.png CENTERED (316,418)
 BLIT player_shoot.png (30,460)
 INPUT click 274.0 530.0
 read 27 click 501.0 556.0
 WAIT 27 for click 501.0 556.0
 CLEAR rgb(0.0;0.0;0.0)
-BLIT star1.png CENTERED (252,375)
-BLIT star0.png CENTERED (165,94)
-BLIT star1.png CENTERED (69,353)
-BLIT star0.png CENTERED (184,182)
-BLIT star2.png CENTERED (339,-64)
-BLIT star2.png CENTERED (169,386)
-BLIT star2.png CENTERED (311,153)
-BLIT star0.png CENTERED (400,280)
-BLIT star2.png CENTERED (356,279)
-BLIT star1.png CENTERED (252,158)
-BLIT star2.png CENTERED (466,391)
-BLIT star0.png CENTERED (216,458)
-BLIT star2.png CENTERED (262,74)
-BLIT star0.png CENTERED (495,166)
-BLIT star0.png CENTERED (553,366)
-BLIT star1.png CENTERED (129,28)
-BLIT star2.png CENTERED (134,304)
-BLIT star1.png CENTERED (60,92)
-BLIT star2.png CENTERED (193,388)
-BLIT star0.png CENTERED (84,46)
-BLIT star1.png CENTERED (292,439)
-BLIT star1.png CENTERED (283,115)
-BLIT star1.png CENTERED (370,312)
-BLIT star2.png CENTERED (231,224)
-BLIT star1.png CENTERED (305,141)
-BLIT star1.png CENTERED (336,355)
-BLIT star0.png CENTERED (149,420)
-BLIT star0.png CENTERED (63,472)
-BLIT star2.png CENTERED (308,183)
-BLIT star2.png CENTERED (186,249)
-BLIT star1.png CENTERED (220,454)
-BLIT star2.png CENTERED (23,195)
-BLIT star1.png CENTERED (400,440)
-BLIT star1.png CENTERED (141,154)
-BLIT star2.png CENTERED (70,395)
-BLIT star1.png CENTERED (460,142)
-BLIT star1.png CENTERED (202,242)
-BLIT star0.png CENTERED (246,284)
-BLIT star1.png CENTERED (355,51)
-BLIT star2.png CENTERED (244,214)
-BLIT star1.png CENTERED (166,368)
-BLIT star2.png CENTERED (588,402)
-BLIT star1.png CENTERED (446,211)
-BLIT star2.png CENTERED (3,330)
-BLIT star1.png CENTERED (395,361)
-BLIT star1.png CENTERED (256,240)
-BLIT star0.png CENTERED (513,354)
-BLIT star1.png CENTERED (21,95)
-BLIT star1.png CENTERED (120,363)
-BLIT star0.png CENTERED (363,19)
-BLIT star1.png CENTERED (195,188)
-BLIT star1.png CENTERED (548,127)
-BLIT star1.png CENTERED (448,-97)
-BLIT star0.png CENTERED (200,455)
-BLIT star2.png CENTERED (100,316)
-BLIT star0.png CENTERED (432,464)
-BLIT star2.png CENTERED (252,415)
-BLIT star2.png CENTERED (350,436)
-BLIT star2.png CENTERED (615,14)
-BLIT star1.png CENTERED (597,293)
-BLIT star2.png CENTERED (601,457)
-BLIT star2.png CENTERED (380,400)
-BLIT star2.png CENTERED (598,232)
-BLIT star2.png CENTERED (377,375)
-BLIT star1.png CENTERED (496,417)
-BLIT star0.png CENTERED (386,254)
-BLIT star0.png CENTERED (277,-45)
-BLIT star1.png CENTERED (425,257)
-BLIT star1.png CENTERED (382,364)
-BLIT star0.png CENTERED (94,298)
-BLIT star2.png CENTERED (448,323)
-BLIT star1.png CENTERED (329,105)
-BLIT star2.png CENTERED (326,96)
-BLIT star1.png CENTERED (246,355)
-BLIT star1.png CENTERED (92,232)
-BLIT star1.png CENTERED (260,74)
-BLIT star1.png CENTERED (367,448)
-BLIT star2.png CENTERED (285,314)
-BLIT star1.png CENTERED (37,96)
-BLIT star0.png CENTERED (382,139)
-BLIT star1.png CENTERED (46,-16)
-BLIT star2.png CENTERED (296,287)
-BLIT star0.png CENTERED (378,-14)
-BLIT star1.png CENTERED (490,214)
-BLIT star2.png CENTERED (140,311)
-BLIT star1.png CENTERED (175,-4)
-BLIT star2.png CENTERED (117,291)
-BLIT star1.png CENTERED (490,470)
-BLIT star1.png CENTERED (596,20)
-BLIT star1.png CENTERED (257,325)
-BLIT star1.png CENTERED (398,142)
-BLIT star2.png CENTERED (230,393)
-BLIT star2.png CENTERED (134,367)
-BLIT star0.png CENTERED (70,209)
-BLIT star1.png CENTERED (413,349)
-BLIT star1.png CENTERED (381,84)
-BLIT star0.png CENTERED (360,135)
-BLIT star2.png CENTERED (220,84)
-BLIT star2.png CENTERED (384,448)
-BLIT star1.png CENTERED (597,130)
+BLIT star1.png CENTERED (278,95)
+BLIT star1.png CENTERED (286,225)
+BLIT star0.png CENTERED (145,41)
+BLIT star2.png CENTERED (188,467)
+BLIT star1.png CENTERED (287,470)
+BLIT star1.png CENTERED (377,182)
+BLIT star0.png CENTERED (426,455)
+BLIT star2.png CENTERED (55,99)
+BLIT star1.png CENTERED (372,371)
+BLIT star1.png CENTERED (25,176)
+BLIT star1.png CENTERED (461,116)
+BLIT star1.png CENTERED (112,406)
+BLIT star0.png CENTERED (388,460)
+BLIT star1.png CENTERED (304,324)
+BLIT star1.png CENTERED (168,181)
+BLIT star1.png CENTERED (61,73)
+BLIT star1.png CENTERED (24,181)
+BLIT star1.png CENTERED (363,269)
+BLIT star0.png CENTERED (452,435)
+BLIT star1.png CENTERED (13,309)
+BLIT star0.png CENTERED (388,177)
+BLIT star1.png CENTERED (347,137)
+BLIT star2.png CENTERED (579,305)
+BLIT star1.png CENTERED (523,355)
+BLIT star1.png CENTERED (531,-147)
+BLIT star1.png CENTERED (63,-81)
+BLIT star0.png CENTERED (319,117)
+BLIT star1.png CENTERED (491,-116)
+BLIT star0.png CENTERED (313,314)
+BLIT star2.png CENTERED (118,127)
+BLIT star1.png CENTERED (163,476)
+BLIT star2.png CENTERED (262,388)
+BLIT star1.png CENTERED (382,398)
+BLIT star0.png CENTERED (23,345)
+BLIT star0.png CENTERED (542,463)
+BLIT star2.png CENTERED (117,94)
+BLIT star2.png CENTERED (575,215)
+BLIT star1.png CENTERED (120,215)
+BLIT star1.png CENTERED (405,242)
+BLIT star2.png CENTERED (25,120)
+BLIT star2.png CENTERED (547,100)
+BLIT star1.png CENTERED (464,355)
+BLIT star1.png CENTERED (560,243)
+BLIT star1.png CENTERED (578,0)
+BLIT star2.png CENTERED (482,-1)
+BLIT star0.png CENTERED (271,44)
+BLIT star2.png CENTERED (608,81)
+BLIT star2.png CENTERED (43,431)
+BLIT star1.png CENTERED (382,424)
+BLIT star2.png CENTERED (141,323)
+BLIT star1.png CENTERED (10,92)
+BLIT star2.png CENTERED (428,200)
+BLIT star0.png CENTERED (353,271)
+BLIT star1.png CENTERED (343,421)
+BLIT star2.png CENTERED (414,265)
+BLIT star1.png CENTERED (148,275)
+BLIT star2.png CENTERED (415,306)
+BLIT star1.png CENTERED (597,192)
+BLIT star2.png CENTERED (608,279)
+BLIT star0.png CENTERED (440,307)
+BLIT star2.png CENTERED (37,280)
+BLIT star2.png CENTERED (401,329)
+BLIT star0.png CENTERED (404,457)
+BLIT star1.png CENTERED (93,-91)
+BLIT star2.png CENTERED (468,316)
+BLIT star0.png CENTERED (211,146)
+BLIT star1.png CENTERED (349,297)
+BLIT star2.png CENTERED (620,400)
+BLIT star0.png CENTERED (321,416)
+BLIT star1.png CENTERED (605,293)
+BLIT star0.png CENTERED (517,-46)
+BLIT star1.png CENTERED (619,403)
+BLIT star2.png CENTERED (568,197)
+BLIT star0.png CENTERED (391,411)
+BLIT star2.png CENTERED (508,328)
+BLIT star1.png CENTERED (417,175)
+BLIT star2.png CENTERED (81,401)
+BLIT star0.png CENTERED (367,76)
+BLIT star2.png CENTERED (30,425)
+BLIT star1.png CENTERED (390,79)
+BLIT star1.png CENTERED (590,252)
+BLIT star2.png CENTERED (265,456)
+BLIT star1.png CENTERED (476,443)
+BLIT star1.png CENTERED (102,130)
+BLIT star1.png CENTERED (263,82)
+BLIT star1.png CENTERED (74,473)
+BLIT star1.png CENTERED (41,152)
+BLIT star2.png CENTERED (4,1)
+BLIT star0.png CENTERED (18,-109)
+BLIT star1.png CENTERED (309,452)
+BLIT star1.png CENTERED (285,125)
+BLIT star2.png CENTERED (246,-23)
+BLIT star0.png CENTERED (322,208)
+BLIT star1.png CENTERED (247,240)
+BLIT star1.png CENTERED (265,298)
+BLIT star2.png CENTERED (207,447)
+BLIT star2.png CENTERED (194,376)
+BLIT star1.png CENTERED (237,461)
+BLIT star0.png CENTERED (564,422)
+BLIT star2.png CENTERED (586,139)
 BLIT player_shoot.png CENTERED (320,38)
 BLIT player_shoot.png CENTERED (408,178)
 BLIT player_shoot.png CENTERED (328,302)
-BLIT enemy_shoot.png CENTERED (211,275)
-BLIT enemy_shoot.png CENTERED (229,275)
-BLIT enemy_shoot.png CENTERED (424,214)
-BLIT enemy_shoot.png CENTERED (442,214)
-BLIT enemy1.png CENTERED (220,175)
-BLIT enemy1.png CENTERED (433,148)
+BLIT enemy_shoot.png CENTERED (361,263)
+BLIT enemy_shoot.png CENTERED (346,251)
+BLIT enemy_shoot.png CENTERED (332,239)
+BLIT enemy_shoot.png CENTERED (320,225)
+BLIT enemy_shoot.png CENTERED (310,211)
+BLIT enemy_shoot.png CENTERED (302,196)
+BLIT enemy_shoot.png CENTERED (298,180)
+BLIT enemy_shoot.png CENTERED (296,165)
+BLIT enemy_shoot.png CENTERED (295,149)
+BLIT enemy0.png CENTERED (570,318)
+BLIT enemy4.png CENTERED (295,141)
+BLIT enemy4_turret.png CENTERED (295.888,141.984) ROTATED -3.101
 BLIT player.png CENTERED (281,479)
 BLIT player_shoot.png (30,460)
 INPUT click 501.0 556.0
 read 34 click 465.0 517.0
 WAIT 34 for click 465.0 517.0
 CLEAR rgb(0.0;0.0;0.0)
-BLIT star1.png CENTERED (252,383)
-BLIT star0.png CENTERED (165,97)
-BLIT star1.png CENTERED (69,358)
-BLIT star0.png CENTERED (184,185)
-BLIT star2.png CENTERED (339,-54)
-BLIT star2.png CENTERED (169,394)
-BLIT star2.png CENTERED (311,163)
-BLIT star0.png CENTERED (400,284)
-BLIT star2.png CENTERED (356,289)
-BLIT star1.png CENTERED (252,163)
-BLIT star2.png CENTERED (466,402)
-BLIT star0.png CENTERED (216,461)
-BLIT star2.png CENTERED (262,83)
-BLIT star0.png CENTERED (495,169)
-BLIT star0.png CENTERED (553,369)
-BLIT star1.png CENTERED (129,36)
-BLIT star2.png CENTERED (134,313)
-BLIT star1.png CENTERED (60,97)
-BLIT star2.png CENTERED (193,397)
-BLIT star0.png CENTERED (84,49)
-BLIT star1.png CENTERED (292,447)
-BLIT star1.png CENTERED (283,122)
-BLIT star1.png CENTERED (370,319)
-BLIT star2.png CENTERED (231,234)
-BLIT star1.png CENTERED (305,148)
-BLIT star1.png CENTERED (336,362)
-BLIT star0.png CENTERED (149,423)
-BLIT star0.png CENTERED (63,476)
-BLIT star2.png CENTERED (308,192)
-BLIT star2.png CENTERED (186,259)
-BLIT star1.png CENTERED (220,462)
-BLIT star2.png CENTERED (23,204)
-BLIT star1.png CENTERED (400,445)
-BLIT star1.png CENTERED (141,162)
-BLIT star2.png CENTERED (70,404)
-BLIT star1.png CENTERED (460,148)
-BLIT star1.png CENTERED (202,246)
-BLIT star0.png CENTERED (246,288)
-BLIT star1.png CENTERED (355,56)
-BLIT star2.png CENTERED (244,223)
-BLIT star1.png CENTERED (166,375)
-BLIT star2.png CENTERED (588,411)
-BLIT star1.png CENTERED (446,218)
-BLIT star2.png CENTERED (3,340)
-BLIT star1.png CENTERED (395,368)
-BLIT star1.png CENTERED (256,248)
-BLIT star0.png CENTERED (513,357)
-BLIT star1.png CENTERED (21,103)
-BLIT star1.png CENTERED (120,371)
-BLIT star0.png CENTERED (363,21)
-BLIT star1.png CENTERED (195,196)
-BLIT star1.png CENTERED (548,133)
-BLIT star1.png CENTERED (448,-90)
-BLIT star0.png CENTERED (200,459)
-BLIT star2.png CENTERED (100,326)
-BLIT star0.png CENTERED (432,468)
-BLIT star2.png CENTERED (252,425)
-BLIT star2.png CENTERED (350,446)
-BLIT star2.png CENTERED (615,23)
-BLIT star1.png CENTERED (597,300)
-BLIT star2.png CENTERED (601,466)
-BLIT star2.png CENTERED (380,411)
-BLIT star2.png CENTERED (598,242)
-BLIT star2.png CENTERED (377,384)
-BLIT star1.png CENTERED (496,421)
-BLIT star0.png CENTERED (386,258)
-BLIT star0.png CENTERED (277,-43)
-BLIT star1.png CENTERED (425,265)
-BLIT star1.png CENTERED (382,371)
-BLIT star0.png CENTERED (94,300)
-BLIT star2.png CENTERED (448,333)
-BLIT star1.png CENTERED (329,111)
-BLIT star2.png CENTERED (326,105)
-BLIT star1.png CENTERED (246,361)
-BLIT star1.png CENTERED (92,236)
-BLIT star1.png CENTERED (260,83)
-BLIT star1.png CENTERED (367,455)
-BLIT star2.png CENTERED (285,325)
-BLIT star1.png CENTERED (37,104)
-BLIT star0.png CENTERED (382,143)
-BLIT star1.png CENTERED (46,-9)
-BLIT star2.png CENTERED (296,296)
-BLIT star0.png CENTERED (378,-11)
-BLIT star1.png CENTERED (490,221)
-BLIT star2.png CENTERED (140,321)
-BLIT star1.png CENTERED (175,0)
-BLIT star2.png CENTERED (117,300)
-BLIT star1.png CENTERED (490,474)
-BLIT star1.png CENTERED (596,26)
-BLIT star1.png CENTERED (257,332)
-BLIT star1.png CENTERED (398,149)
-BLIT star2.png CENTERED (230,404)
-BLIT star2.png CENTERED (134,377)
-BLIT star0.png CENTERED (70,213)
-BLIT star1.png CENTERED (413,357)
-BLIT star1.png CENTERED (381,91)
-BLIT star0.png CENTERED (360,137)
-BLIT star2.png CENTERED (220,94)
-BLIT star2.png CENTERED (384,458)
-BLIT star1.png CENTERED (597,136)
+BLIT star1.png CENTERED (278,100)
+BLIT star1.png CENTERED (286,232)
+BLIT star0.png CENTERED (145,45)
+BLIT star2.png CENTERED (188,476)
+BLIT star1.png CENTERED (287,477)
+BLIT star1.png CENTERED (377,190)
+BLIT star0.png CENTERED (426,459)
+BLIT star2.png CENTERED (55,108)
+BLIT star1.png CENTERED (372,378)
+BLIT star1.png CENTERED (25,183)
+BLIT star1.png CENTERED (461,123)
+BLIT star1.png CENTERED (112,415)
+BLIT star0.png CENTERED (388,463)
+BLIT star1.png CENTERED (304,330)
+BLIT star1.png CENTERED (168,188)
+BLIT star1.png CENTERED (61,80)
+BLIT star1.png CENTERED (24,187)
+BLIT star1.png CENTERED (363,275)
+BLIT star0.png CENTERED (452,437)
+BLIT star1.png CENTERED (13,316)
+BLIT star0.png CENTERED (388,180)
+BLIT star1.png CENTERED (347,145)
+BLIT star2.png CENTERED (579,315)
+BLIT star1.png CENTERED (523,363)
+BLIT star1.png CENTERED (531,-141)
+BLIT star1.png CENTERED (63,-76)
+BLIT star0.png CENTERED (319,120)
+BLIT star1.png CENTERED (491,-111)
+BLIT star0.png CENTERED (313,317)
+BLIT star2.png CENTERED (118,135)
+BLIT star2.png CENTERED (179,-144)
+BLIT star2.png CENTERED (262,397)
+BLIT star1.png CENTERED (382,406)
+BLIT star0.png CENTERED (23,347)
+BLIT star0.png CENTERED (542,466)
+BLIT star2.png CENTERED (117,104)
+BLIT star2.png CENTERED (575,226)
+BLIT star1.png CENTERED (120,220)
+BLIT star1.png CENTERED (405,247)
+BLIT star2.png CENTERED (25,131)
+BLIT star2.png CENTERED (547,110)
+BLIT star1.png CENTERED (464,363)
+BLIT star1.png CENTERED (560,251)
+BLIT star1.png CENTERED (578,8)
+BLIT star2.png CENTERED (482,6)
+BLIT star0.png CENTERED (271,48)
+BLIT star2.png CENTERED (608,92)
+BLIT star2.png CENTERED (43,441)
+BLIT star1.png CENTERED (382,429)
+BLIT star2.png CENTERED (141,332)
+BLIT star1.png CENTERED (10,100)
+BLIT star2.png CENTERED (428,210)
+BLIT star0.png CENTERED (353,274)
+BLIT star1.png CENTERED (343,426)
+BLIT star2.png CENTERED (414,274)
+BLIT star1.png CENTERED (148,283)
+BLIT star2.png CENTERED (415,316)
+BLIT star1.png CENTERED (597,200)
+BLIT star2.png CENTERED (608,288)
+BLIT star0.png CENTERED (440,310)
+BLIT star2.png CENTERED (37,289)
+BLIT star2.png CENTERED (401,339)
+BLIT star0.png CENTERED (404,461)
+BLIT star1.png CENTERED (93,-84)
+BLIT star2.png CENTERED (468,326)
+BLIT star0.png CENTERED (211,150)
+BLIT star1.png CENTERED (349,305)
+BLIT star2.png CENTERED (620,410)
+BLIT star0.png CENTERED (321,418)
+BLIT star1.png CENTERED (605,298)
+BLIT star0.png CENTERED (517,-43)
+BLIT star1.png CENTERED (619,410)
+BLIT star2.png CENTERED (568,206)
+BLIT star0.png CENTERED (391,413)
+BLIT star2.png CENTERED (508,338)
+BLIT star1.png CENTERED (417,180)
+BLIT star2.png CENTERED (81,410)
+BLIT star0.png CENTERED (367,80)
+BLIT star2.png CENTERED (30,435)
+BLIT star1.png CENTERED (390,84)
+BLIT star1.png CENTERED (590,260)
+BLIT star2.png CENTERED (265,467)
+BLIT star1.png CENTERED (476,452)
+BLIT star1.png CENTERED (102,137)
+BLIT star1.png CENTERED (263,87)
+BLIT star1.png CENTERED (74,478)
+BLIT star1.png CENTERED (41,156)
+BLIT star2.png CENTERED (4,11)
+BLIT star0.png CENTERED (18,-106)
+BLIT star1.png CENTERED (309,460)
+BLIT star1.png CENTERED (285,132)
+BLIT star2.png CENTERED (246,-12)
+BLIT star0.png CENTERED (322,211)
+BLIT star1.png CENTERED (247,244)
+BLIT star1.png CENTERED (265,303)
+BLIT star2.png CENTERED (207,456)
+BLIT star2.png CENTERED (194,386)
+BLIT star1.png CENTERED (237,469)
+BLIT star0.png CENTERED (564,425)
+BLIT star2.png CENTERED (586,148)
 BLIT player_shoot.png CENTERED (320,-69)
 BLIT player_shoot.png CENTERED (408,70)
 BLIT player_shoot.png CENTERED (328,194)
 BLIT player_shoot.png CENTERED (279,382)
-BLIT enemy_shoot.png CENTERED (211,383)
-BLIT enemy_shoot.png CENTERED (229,383)
-BLIT enemy_shoot.png CENTERED (424,322)
-BLIT enemy_shoot.png CENTERED (442,322)
-BLIT enemy_shoot.png CENTERED (211,278)
-BLIT enemy_shoot.png CENTERED (229,278)
-BLIT enemy_shoot.png CENTERED (424,219)
-BLIT enemy_shoot.png CENTERED (442,219)
-BLIT enemy1.png CENTERED (220,227)
-BLIT enemy1.png CENTERED (433,202)
+BLIT enemy_shoot.png CENTERED (395,366)
+BLIT enemy_shoot.png CENTERED (376,355)
+BLIT enemy_shoot.png CENTERED (357,343)
+BLIT enemy_shoot.png CENTERED (340,331)
+BLIT enemy_shoot.png CENTERED (324,318)
+BLIT enemy_shoot.png CENTERED (310,303)
+BLIT enemy_shoot.png CENTERED (302,288)
+BLIT enemy_shoot.png CENTERED (297,273)
+BLIT enemy_shoot.png CENTERED (293,257)
+BLIT enemy_shoot.png CENTERED (291,241)
+BLIT enemy_shoot.png CENTERED (292,226)
+BLIT enemy0.png CENTERED (589,365)
+BLIT enemy4.png CENTERED (295,179)
+BLIT enemy4_turret.png CENTERED (295.888,179.568) ROTATED -3.052
+BLIT enemy2.png CENTERED (217,15)
 BLIT player.png CENTERED (272,480)
 BLIT player_shoot.png (30,460)
 INPUT click 465.0 517.0
 read 23 click 262.0 401.0
 WAIT 23 for click 262.0 401.0
 CLEAR rgb(0.0;0.0;0.0)
-BLIT star1.png CENTERED (252,392)
-BLIT star0.png CENTERED (165,101)
-BLIT star1.png CENTERED (69,365)
-BLIT star0.png CENTERED (184,189)
-BLIT star2.png CENTERED (339,-43)
-BLIT star2.png CENTERED (169,406)
-BLIT star2.png CENTERED (311,176)
-BLIT star0.png CENTERED (400,290)
-BLIT star2.png CENTERED (356,301)
-BLIT star1.png CENTERED (252,169)
-BLIT star2.png CENTERED (466,416)
-BLIT star0.png CENTERED (216,465)
-BLIT star2.png CENTERED (262,94)
-BLIT star0.png CENTERED (495,173)
-BLIT star0.png CENTERED (553,372)
-BLIT star1.png CENTERED (129,46)
-BLIT star2.png CENTERED (134,326)
-BLIT star1.png CENTERED (60,104)
-BLIT star2.png CENTERED (193,409)
-BLIT star0.png CENTERED (84,53)
-BLIT star1.png CENTERED (292,458)
-BLIT star1.png CENTERED (283,131)
-BLIT star1.png CENTERED (370,328)
-BLIT star2.png CENTERED (231,246)
-BLIT star1.png CENTERED (305,158)
-BLIT star1.png CENTERED (336,371)
-BLIT star0.png CENTERED (149,426)
-BLIT star1.png CENTERED (556,-50)
-BLIT star2.png CENTERED (308,204)
-BLIT star2.png CENTERED (186,272)
-BLIT star1.png CENTERED (220,472)
-BLIT star2.png CENTERED (23,215)
-BLIT star1.png CENTERED (400,451)
-BLIT star1.png CENTERED (141,171)
-BLIT star2.png CENTERED (70,415)
-BLIT star1.png CENTERED (460,155)
-BLIT star1.png CENTERED (202,252)
-BLIT star0.png CENTERED (246,293)
-BLIT star1.png CENTERED (355,63)
-BLIT star2.png CENTERED (244,234)
-BLIT star1.png CENTERED (166,384)
-BLIT star2.png CENTERED (588,423)
-BLIT star1.png CENTERED (446,228)
-BLIT star2.png CENTERED (3,352)
-BLIT star1.png CENTERED (395,376)
-BLIT star1.png CENTERED (256,259)
-BLIT star0.png CENTERED (513,362)
-BLIT star1.png CENTERED (21,113)
-BLIT star1.png CENTERED (120,382)
-BLIT star0.png CENTERED (363,24)
-BLIT star1.png CENTERED (195,206)
-BLIT star1.png CENTERED (548,139)
-BLIT star1.png CENTERED (448,-81)
-BLIT star0.png CENTERED (200,464)
-BLIT star2.png CENTERED (100,338)
-BLIT star0.png CENTERED (432,473)
-BLIT star2.png CENTERED (252,437)
-BLIT star2.png CENTERED (350,459)
-BLIT star2.png CENTERED (615,36)
-BLIT star1.png CENTERED (597,309)
-BLIT star2.png CENTERED (601,478)
-BLIT star2.png CENTERED (380,425)
-BLIT star2.png CENTERED (598,254)
-BLIT star2.png CENTERED (377,396)
-BLIT star1.png CENTERED (496,427)
-BLIT star0.png CENTERED (386,263)
-BLIT star0.png CENTERED (277,-40)
-BLIT star1.png CENTERED (425,274)
-BLIT star1.png CENTERED (382,380)
-BLIT star0.png CENTERED (94,304)
-BLIT star2.png CENTERED (448,345)
-BLIT star1.png CENTERED (329,119)
-BLIT star2.png CENTERED (326,117)
-BLIT star1.png CENTERED (246,369)
-BLIT star1.png CENTERED (92,242)
-BLIT star1.png CENTERED (260,93)
-BLIT star1.png CENTERED (367,464)
-BLIT star2.png CENTERED (285,338)
-BLIT star1.png CENTERED (37,114)
-BLIT star0.png CENTERED (382,148)
-BLIT star1.png CENTERED (46,-1)
-BLIT star2.png CENTERED (296,309)
-BLIT star0.png CENTERED (378,-8)
-BLIT star1.png CENTERED (490,230)
-BLIT star2.png CENTERED (140,334)
-BLIT star1.png CENTERED (175,5)
-BLIT star2.png CENTERED (117,311)
-BLIT star1.png CENTERED (234,-62)
-BLIT star1.png CENTERED (596,32)
-BLIT star1.png CENTERED (257,341)
-BLIT star1.png CENTERED (398,157)
-BLIT star2.png CENTERED (230,416)
-BLIT star2.png CENTERED (134,389)
-BLIT star0.png CENTERED (70,218)
-BLIT star1.png CENTERED (413,367)
-BLIT star1.png CENTERED (381,100)
-BLIT star0.png CENTERED (360,140)
-BLIT star2.png CENTERED (220,107)
-BLIT star2.png CENTERED (384,470)
-BLIT star1.png CENTERED (597,144)
+BLIT star1.png CENTERED (278,106)
+BLIT star1.png CENTERED (286,241)
+BLIT star0.png CENTERED (145,50)
+BLIT star1.png CENTERED (125,-140)
+BLIT star1.png CENTERED (184,-28)
+BLIT star1.png CENTERED (377,200)
+BLIT star0.png CENTERED (426,464)
+BLIT star2.png CENTERED (55,120)
+BLIT star1.png CENTERED (372,385)
+BLIT star1.png CENTERED (25,190)
+BLIT star1.png CENTERED (461,132)
+BLIT star1.png CENTERED (112,425)
+BLIT star0.png CENTERED (388,467)
+BLIT star1.png CENTERED (304,338)
+BLIT star1.png CENTERED (168,197)
+BLIT star1.png CENTERED (61,90)
+BLIT star1.png CENTERED (24,195)
+BLIT star1.png CENTERED (363,283)
+BLIT star0.png CENTERED (452,440)
+BLIT star1.png CENTERED (13,324)
+BLIT star0.png CENTERED (388,185)
+BLIT star1.png CENTERED (347,155)
+BLIT star2.png CENTERED (579,329)
+BLIT star1.png CENTERED (523,372)
+BLIT star1.png CENTERED (531,-134)
+BLIT star1.png CENTERED (63,-69)
+BLIT star0.png CENTERED (319,123)
+BLIT star1.png CENTERED (491,-105)
+BLIT star0.png CENTERED (313,321)
+BLIT star2.png CENTERED (118,146)
+BLIT star2.png CENTERED (179,-131)
+BLIT star2.png CENTERED (262,408)
+BLIT star1.png CENTERED (382,415)
+BLIT star0.png CENTERED (23,351)
+BLIT star0.png CENTERED (542,469)
+BLIT star2.png CENTERED (117,117)
+BLIT star2.png CENTERED (575,238)
+BLIT star1.png CENTERED (120,225)
+BLIT star1.png CENTERED (405,254)
+BLIT star2.png CENTERED (25,144)
+BLIT star2.png CENTERED (547,122)
+BLIT star1.png CENTERED (464,374)
+BLIT star1.png CENTERED (560,262)
+BLIT star1.png CENTERED (578,19)
+BLIT star2.png CENTERED (482,17)
+BLIT star0.png CENTERED (271,53)
+BLIT star2.png CENTERED (608,105)
+BLIT star2.png CENTERED (43,455)
+BLIT star1.png CENTERED (382,436)
+BLIT star2.png CENTERED (141,344)
+BLIT star1.png CENTERED (10,110)
+BLIT star2.png CENTERED (428,223)
+BLIT star0.png CENTERED (353,277)
+BLIT star1.png CENTERED (343,432)
+BLIT star2.png CENTERED (414,285)
+BLIT star1.png CENTERED (148,292)
+BLIT star2.png CENTERED (415,327)
+BLIT star1.png CENTERED (597,211)
+BLIT star2.png CENTERED (608,299)
+BLIT star0.png CENTERED (440,315)
+BLIT star2.png CENTERED (37,301)
+BLIT star2.png CENTERED (401,351)
+BLIT star0.png CENTERED (404,465)
+BLIT star1.png CENTERED (93,-75)
+BLIT star2.png CENTERED (468,338)
+BLIT star0.png CENTERED (211,155)
+BLIT star1.png CENTERED (349,314)
+BLIT star2.png CENTERED (620,423)
+BLIT star0.png CENTERED (321,422)
+BLIT star1.png CENTERED (605,303)
+BLIT star0.png CENTERED (517,-40)
+BLIT star1.png CENTERED (619,418)
+BLIT star2.png CENTERED (568,218)
+BLIT star0.png CENTERED (391,417)
+BLIT star2.png CENTERED (508,349)
+BLIT star1.png CENTERED (417,187)
+BLIT star2.png CENTERED (81,422)
+BLIT star0.png CENTERED (367,84)
+BLIT star2.png CENTERED (30,446)
+BLIT star1.png CENTERED (390,91)
+BLIT star1.png CENTERED (590,270)
+BLIT star1.png CENTERED (322,-116)
+BLIT star1.png CENTERED (476,463)
+BLIT star1.png CENTERED (102,146)
+BLIT star1.png CENTERED (263,94)
+BLIT star1.png CENTERED (381,-8)
+BLIT star1.png CENTERED (41,162)
+BLIT star2.png CENTERED (4,24)
+BLIT star0.png CENTERED (18,-102)
+BLIT star1.png CENTERED (309,471)
+BLIT star1.png CENTERED (285,141)
+BLIT star2.png CENTERED (246,0)
+BLIT star0.png CENTERED (322,216)
+BLIT star1.png CENTERED (247,250)
+BLIT star1.png CENTERED (265,310)
+BLIT star2.png CENTERED (207,467)
+BLIT star2.png CENTERED (194,399)
+BLIT star1.png CENTERED (429,-140)
+BLIT star0.png CENTERED (564,428)
+BLIT star2.png CENTERED (586,161)
+BLIT explosion.png CENTERED (295,226)
+BLIT explosion.png CENTERED (295,226)
+BLIT explosion.png CENTERED (295,226)
+BLIT explosion.png CENTERED (295,226)
+BLIT explosion.png CENTERED (295,226)
+BLIT money.png CENTERED (295,226)
+BLIT money.png CENTERED (295,226)
+BLIT money.png CENTERED (295,226)
+BLIT money.png CENTERED (295,226)
+BLIT money.png CENTERED (295,226)
+BLIT money.png CENTERED (295,226)
+BLIT money.png CENTERED (295,226)
+BLIT money.png CENTERED (295,226)
+BLIT money.png CENTERED (295,226)
+BLIT money.png CENTERED (295,226)
+BLIT money.png CENTERED (295,226)
+BLIT money.png CENTERED (295,226)
+BLIT money.png CENTERED (295,226)
+BLIT money.png CENTERED (295,226)
+BLIT money.png CENTERED (295,226)
+BLIT money.png CENTERED (295,226)
+BLIT money.png CENTERED (295,226)
+BLIT money.png CENTERED (295,226)
+BLIT money.png CENTERED (295,226)
+BLIT money.png CENTERED (295,226)
 BLIT player_shoot.png CENTERED (408,-65)
 BLIT player_shoot.png CENTERED (328,58)
-BLIT player_shoot.png CENTERED (279,246)
 BLIT player_shoot.png CENTERED (299,370)
-BLIT enemy_shoot.png CENTERED (211,519)
-BLIT enemy_shoot.png CENTERED (229,519)
-BLIT enemy_shoot.png CENTERED (424,458)
-BLIT enemy_shoot.png CENTERED (442,458)
-BLIT enemy_shoot.png CENTERED (211,414)
-BLIT enemy_shoot.png CENTERED (229,414)
-BLIT enemy_shoot.png CENTERED (424,355)
-BLIT enemy_shoot.png CENTERED (442,355)
-BLIT enemy1.png CENTERED (220,293)
-BLIT enemy1.png CENTERED (433,269)
+BLIT enemy_shoot.png CENTERED (439,494)
+BLIT enemy_shoot.png CENTERED (414,485)
+BLIT enemy_shoot.png CENTERED (389,475)
+BLIT enemy_shoot.png CENTERED (365,465)
+BLIT enemy_shoot.png CENTERED (342,452)
+BLIT enemy_shoot.png CENTERED (320,439)
+BLIT enemy_shoot.png CENTERED (308,424)
+BLIT enemy_shoot.png CENTERED (298,408)
+BLIT enemy_shoot.png CENTERED (290,393)
+BLIT enemy_shoot.png CENTERED (286,377)
+BLIT enemy_shoot.png CENTERED (285,362)
+BLIT enemy0.png CENTERED (614,426)
+BLIT enemy2.png CENTERED (232,66)
+BLIT enemy0.png CENTERED (290,21)
 BLIT player.png CENTERED (375,480)
 BLIT player_shoot.png (30,460)
 INPUT click 262.0 401.0
 read 44 click 204.0 273.0
 WAIT 44 for click 204.0 273.0
 CLEAR rgb(0.0;0.0;0.0)
-BLIT star1.png CENTERED (252,399)
-BLIT star0.png CENTERED (165,103)
-BLIT star1.png CENTERED (69,370)
-BLIT star0.png CENTERED (184,192)
-BLIT star2.png CENTERED (339,-35)
-BLIT star2.png CENTERED (169,413)
-BLIT star2.png CENTERED (311,184)
-BLIT star0.png CENTERED (400,293)
-BLIT star2.png CENTERED (356,309)
-BLIT star1.png CENTERED (252,174)
-BLIT star2.png CENTERED (466,425)
-BLIT star0.png CENTERED (216,468)
-BLIT star2.png CENTERED (262,102)
-BLIT star0.png CENTERED (495,176)
-BLIT star0.png CENTERED (553,374)
-BLIT star1.png CENTERED (129,53)
-BLIT star2.png CENTERED (134,334)
-BLIT star1.png CENTERED (60,109)
-BLIT star2.png CENTERED (193,417)
-BLIT star0.png CENTERED (84,55)
-BLIT star1.png CENTERED (292,465)
-BLIT star1.png CENTERED (283,137)
-BLIT star1.png CENTERED (370,335)
-BLIT star2.png CENTERED (231,255)
-BLIT star1.png CENTERED (305,164)
-BLIT star1.png CENTERED (336,377)
-BLIT star0.png CENTERED (149,429)
-BLIT star1.png CENTERED (556,-44)
-BLIT star2.png CENTERED (308,212)
-BLIT star2.png CENTERED (186,280)
-BLIT star1.png CENTERED (220,479)
-BLIT star2.png CENTERED (23,223)
-BLIT star1.png CENTERED (400,455)
-BLIT star1.png CENTERED (141,178)
-BLIT star2.png CENTERED (70,423)
-BLIT star1.png CENTERED (460,160)
-BLIT star1.png CENTERED (202,255)
-BLIT star0.png CENTERED (246,296)
-BLIT star1.png CENTERED (355,68)
-BLIT star2.png CENTERED (244,241)
-BLIT star1.png CENTERED (166,390)
-BLIT star2.png CENTERED (588,431)
-BLIT star1.png CENTERED (446,235)
-BLIT star2.png CENTERED (3,360)
-BLIT star1.png CENTERED (395,382)
-BLIT star1.png CENTERED (256,266)
-BLIT star0.png CENTERED (513,365)
-BLIT star1.png CENTERED (21,120)
-BLIT star1.png CENTERED (120,389)
-BLIT star0.png CENTERED (363,26)
-BLIT star1.png CENTERED (195,213)
-BLIT star1.png CENTERED (548,143)
-BLIT star1.png CENTERED (448,-76)
-BLIT star0.png CENTERED (200,467)
-BLIT star2.png CENTERED (100,346)
-BLIT star0.png CENTERED (432,476)
-BLIT star2.png CENTERED (252,445)
-BLIT star2.png CENTERED (350,468)
-BLIT star2.png CENTERED (615,44)
-BLIT star1.png CENTERED (597,315)
-BLIT star1.png CENTERED (301,-70)
-BLIT star2.png CENTERED (380,434)
-BLIT star2.png CENTERED (598,262)
-BLIT star2.png CENTERED (377,403)
-BLIT star1.png CENTERED (496,431)
-BLIT star0.png CENTERED (386,266)
-BLIT star0.png CENTERED (277,-38)
-BLIT star1.png CENTERED (425,281)
-BLIT star1.png CENTERED (382,385)
-BLIT star0.png CENTERED (94,306)
-BLIT star2.png CENTERED (448,353)
-BLIT star1.png CENTERED (329,125)
-BLIT star2.png CENTERED (326,125)
-BLIT star1.png CENTERED (246,374)
-BLIT star1.png CENTERED (92,245)
-BLIT star1.png CENTERED (260,101)
-BLIT star1.png CENTERED (367,470)
-BLIT star2.png CENTERED (285,347)
-BLIT star1.png CENTERED (37,121)
-BLIT star0.png CENTERED (382,151)
-BLIT star1.png CENTERED (46,4)
-BLIT star2.png CENTERED (296,317)
-BLIT star0.png CENTERED (378,-5)
-BLIT star1.png CENTERED (490,236)
-BLIT star2.png CENTERED (140,343)
-BLIT star1.png CENTERED (175,8)
-BLIT star2.png CENTERED (117,319)
-BLIT star1.png CENTERED (234,-58)
-BLIT star1.png CENTERED (596,36)
-BLIT star1.png CENTERED (257,347)
-BLIT star1.png CENTERED (398,162)
-BLIT star2.png CENTERED (230,425)
-BLIT star2.png CENTERED (134,398)
-BLIT star0.png CENTERED (70,222)
-BLIT star1.png CENTERED (413,374)
-BLIT star1.png CENTERED (381,106)
-BLIT star0.png CENTERED (360,142)
-BLIT star2.png CENTERED (220,116)
-BLIT star2.png CENTERED (384,479)
-BLIT star1.png CENTERED (597,149)
+BLIT star1.png CENTERED (278,111)
+BLIT star1.png CENTERED (286,247)
+BLIT star0.png CENTERED (145,54)
+BLIT star1.png CENTERED (125,-134)
+BLIT star1.png CENTERED (184,-22)
+BLIT star1.png CENTERED (377,207)
+BLIT star0.png CENTERED (426,468)
+BLIT star2.png CENTERED (55,127)
+BLIT star1.png CENTERED (372,390)
+BLIT star1.png CENTERED (25,196)
+BLIT star1.png CENTERED (461,138)
+BLIT star1.png CENTERED (112,432)
+BLIT star0.png CENTERED (388,470)
+BLIT star1.png CENTERED (304,343)
+BLIT star1.png CENTERED (168,202)
+BLIT star1.png CENTERED (61,97)
+BLIT star1.png CENTERED (24,200)
+BLIT star1.png CENTERED (363,289)
+BLIT star0.png CENTERED (452,442)
+BLIT star1.png CENTERED (13,329)
+BLIT star0.png CENTERED (388,189)
+BLIT star1.png CENTERED (347,162)
+BLIT star2.png CENTERED (579,338)
+BLIT star1.png CENTERED (523,379)
+BLIT star1.png CENTERED (531,-129)
+BLIT star1.png CENTERED (63,-65)
+BLIT star0.png CENTERED (319,126)
+BLIT star1.png CENTERED (491,-101)
+BLIT star0.png CENTERED (313,323)
+BLIT star2.png CENTERED (118,153)
+BLIT star2.png CENTERED (179,-122)
+BLIT star2.png CENTERED (262,415)
+BLIT star1.png CENTERED (382,421)
+BLIT star0.png CENTERED (23,353)
+BLIT star0.png CENTERED (542,472)
+BLIT star2.png CENTERED (117,126)
+BLIT star2.png CENTERED (575,247)
+BLIT star1.png CENTERED (120,229)
+BLIT star1.png CENTERED (405,258)
+BLIT star2.png CENTERED (25,153)
+BLIT star2.png CENTERED (547,131)
+BLIT star1.png CENTERED (464,381)
+BLIT star1.png CENTERED (560,269)
+BLIT star1.png CENTERED (578,26)
+BLIT star2.png CENTERED (482,25)
+BLIT star0.png CENTERED (271,57)
+BLIT star2.png CENTERED (608,114)
+BLIT star2.png CENTERED (43,464)
+BLIT star1.png CENTERED (382,441)
+BLIT star2.png CENTERED (141,351)
+BLIT star1.png CENTERED (10,117)
+BLIT star2.png CENTERED (428,232)
+BLIT star0.png CENTERED (353,280)
+BLIT star1.png CENTERED (343,435)
+BLIT star2.png CENTERED (414,293)
+BLIT star1.png CENTERED (148,299)
+BLIT star2.png CENTERED (415,335)
+BLIT star1.png CENTERED (597,218)
+BLIT star2.png CENTERED (608,307)
+BLIT star0.png CENTERED (440,319)
+BLIT star2.png CENTERED (37,309)
+BLIT star2.png CENTERED (401,359)
+BLIT star0.png CENTERED (404,468)
+BLIT star1.png CENTERED (93,-69)
+BLIT star2.png CENTERED (468,347)
+BLIT star0.png CENTERED (211,159)
+BLIT star1.png CENTERED (349,321)
+BLIT star2.png CENTERED (620,432)
+BLIT star0.png CENTERED (321,424)
+BLIT star1.png CENTERED (605,307)
+BLIT star0.png CENTERED (517,-38)
+BLIT star1.png CENTERED (619,423)
+BLIT star2.png CENTERED (568,226)
+BLIT star0.png CENTERED (391,419)
+BLIT star2.png CENTERED (508,357)
+BLIT star1.png CENTERED (417,191)
+BLIT star2.png CENTERED (81,430)
+BLIT star0.png CENTERED (367,87)
+BLIT star2.png CENTERED (30,454)
+BLIT star1.png CENTERED (390,96)
+BLIT star1.png CENTERED (590,277)
+BLIT star1.png CENTERED (322,-110)
+BLIT star1.png CENTERED (476,470)
+BLIT star1.png CENTERED (102,151)
+BLIT star1.png CENTERED (263,98)
+BLIT star1.png CENTERED (381,-4)
+BLIT star1.png CENTERED (41,165)
+BLIT star2.png CENTERED (4,33)
+BLIT star0.png CENTERED (18,-100)
+BLIT star1.png CENTERED (309,478)
+BLIT star1.png CENTERED (285,146)
+BLIT star2.png CENTERED (246,9)
+BLIT star0.png CENTERED (322,219)
+BLIT star1.png CENTERED (247,254)
+BLIT star1.png CENTERED (265,315)
+BLIT star2.png CENTERED (207,475)
+BLIT star2.png CENTERED (194,407)
+BLIT star1.png CENTERED (429,-135)
+BLIT star0.png CENTERED (564,430)
+BLIT star2.png CENTERED (586,169)
+BLIT money.png CENTERED (296,255)
+BLIT money.png CENTERED (296,237)
+BLIT money.png CENTERED (289,239)
+BLIT money.png CENTERED (300,234)
+BLIT money.png CENTERED (311,232)
+BLIT money.png CENTERED (302,244)
+BLIT money.png CENTERED (272,248)
+BLIT money.png CENTERED (278,220)
+BLIT money.png CENTERED (272,255)
+BLIT money.png CENTERED (306,246)
+BLIT money.png CENTERED (302,240)
+BLIT money.png CENTERED (292,255)
+BLIT money.png CENTERED (296,232)
+BLIT money.png CENTERED (292,226)
+BLIT money.png CENTERED (291,235)
+BLIT money.png CENTERED (288,238)
+BLIT money.png CENTERED (310,222)
+BLIT money.png CENTERED (321,222)
+BLIT money.png CENTERED (287,218)
+BLIT money.png CENTERED (317,251)
 BLIT player_shoot.png CENTERED (328,-33)
-BLIT player_shoot.png CENTERED (279,154)
 BLIT player_shoot.png CENTERED (299,278)
-BLIT player_shoot.png CENTERED (393,402)
-BLIT enemy_shoot.png CENTERED (424,550)
-BLIT enemy_shoot.png CENTERED (442,550)
-BLIT enemy_shoot.png CENTERED (211,506)
-BLIT enemy_shoot.png CENTERED (229,506)
-BLIT enemy_shoot.png CENTERED (424,447)
-BLIT enemy_shoot.png CENTERED (442,447)
-BLIT enemy_shoot.png CENTERED (211,400)
-BLIT enemy_shoot.png CENTERED (229,400)
-BLIT enemy_shoot.png CENTERED (424,345)
-BLIT enemy_shoot.png CENTERED (442,345)
-BLIT enemy1.png CENTERED (220,337)
-BLIT enemy1.png CENTERED (433,315)
-BLIT enemy3.png CENTERED (218,8)
-BLIT player.png CENTERED (437,478)
+BLIT enemy_shoot.png CENTERED (382,555)
+BLIT enemy_shoot.png CENTERED (354,543)
+BLIT enemy_shoot.png CENTERED (326,531)
+BLIT enemy_shoot.png CENTERED (311,516)
+BLIT enemy_shoot.png CENTERED (298,500)
+BLIT enemy_shoot.png CENTERED (288,485)
+BLIT enemy_shoot.png CENTERED (282,469)
+BLIT enemy_shoot.png CENTERED (280,453)
+BLIT enemy_missile.png CENTERED (235.952,165.52) ROTATED 3.142
+BLIT enemy0.png CENTERED (630,466)
+BLIT enemy2.png CENTERED (243,101)
+BLIT enemy0.png CENTERED (289,58)
 BLIT player_shoot.png (30,460)
 INPUT click 204.0 273.0
 read 27 click 522.0 447.0
 WAIT 27 for click 522.0 447.0
 CLEAR rgb(0.0;0.0;0.0)
-BLIT star1.png CENTERED (252,411)
-BLIT star0.png CENTERED (165,108)
-BLIT star1.png CENTERED (69,378)
-BLIT star0.png CENTERED (184,197)
-BLIT star2.png CENTERED (339,-20)
-BLIT star2.png CENTERED (169,428)
-BLIT star2.png CENTERED (311,200)
-BLIT star0.png CENTERED (400,300)
-BLIT star2.png CENTERED (356,324)
-BLIT star1.png CENTERED (252,182)
-BLIT star2.png CENTERED (466,442)
-BLIT star0.png CENTERED (216,474)
-BLIT star2.png CENTERED (262,117)
-BLIT star0.png CENTERED (495,181)
-BLIT star0.png CENTERED (553,378)
-BLIT star1.png CENTERED (129,65)
-BLIT star2.png CENTERED (134,350)
-BLIT star1.png CENTERED (60,118)
-BLIT star2.png CENTERED (193,432)
-BLIT star0.png CENTERED (84,60)
-BLIT star1.png CENTERED (292,478)
-BLIT star1.png CENTERED (283,149)
-BLIT star1.png CENTERED (370,347)
-BLIT star2.png CENTERED (231,271)
-BLIT star1.png CENTERED (305,176)
-BLIT star1.png CENTERED (336,389)
-BLIT star0.png CENTERED (149,433)
-BLIT star1.png CENTERED (556,-32)
-BLIT star2.png CENTERED (308,228)
-BLIT star2.png CENTERED (186,296)
-BLIT star2.png CENTERED (298,-92)
-BLIT star2.png CENTERED (23,238)
-BLIT star1.png CENTERED (400,464)
-BLIT star1.png CENTERED (141,190)
-BLIT star2.png CENTERED (70,438)
-BLIT star1.png CENTERED (460,169)
-BLIT star1.png CENTERED (202,262)
-BLIT star0.png CENTERED (246,302)
-BLIT star1.png CENTERED (355,77)
-BLIT star2.png CENTERED (244,255)
-BLIT star1.png CENTERED (166,401)
-BLIT star2.png CENTERED (588,446)
-BLIT star1.png CENTERED (446,247)
-BLIT star2.png CENTERED (3,375)
-BLIT star1.png CENTERED (395,393)
-BLIT star1.png CENTERED (256,280)
-BLIT star0.png CENTERED (513,371)
-BLIT star1.png CENTERED (21,134)
-BLIT star1.png CENTERED (120,403)
-BLIT star0.png CENTERED (363,30)
-BLIT star1.png CENTERED (195,226)
-BLIT star1.png CENTERED (548,152)
-BLIT star1.png CENTERED (448,-64)
-BLIT star0.png CENTERED (200,473)
-BLIT star2.png CENTERED (100,361)
-BLIT star1.png CENTERED (200,-123)
-BLIT star2.png CENTERED (252,461)
-BLIT star2.png CENTERED (574,-2)
-BLIT star2.png CENTERED (615,60)
-BLIT star1.png CENTERED (597,327)
-BLIT star1.png CENTERED (301,-62)
-BLIT star2.png CENTERED (380,451)
-BLIT star2.png CENTERED (598,278)
-BLIT star2.png CENTERED (377,417)
-BLIT star1.png CENTERED (496,438)
-BLIT star0.png CENTERED (386,272)
-BLIT star0.png CENTERED (277,-34)
-BLIT star1.png CENTERED (425,293)
-BLIT star1.png CENTERED (382,397)
-BLIT star0.png CENTERED (94,310)
-BLIT star2.png CENTERED (448,368)
-BLIT star1.png CENTERED (329,135)
-BLIT star2.png CENTERED (326,140)
-BLIT star1.png CENTERED (246,385)
-BLIT star1.png CENTERED (92,252)
-BLIT star1.png CENTERED (260,114)
-BLIT star0.png CENTERED (398,-122)
-BLIT star2.png CENTERED (285,365)
-BLIT star1.png CENTERED (37,133)
-BLIT star0.png CENTERED (382,158)
-BLIT star1.png CENTERED (46,15)
-BLIT star2.png CENTERED (296,333)
-BLIT star0.png CENTERED (378,-1)
-BLIT star1.png CENTERED (490,247)
-BLIT star2.png CENTERED (140,360)
-BLIT star1.png CENTERED (175,15)
-BLIT star2.png CENTERED (117,334)
-BLIT star1.png CENTERED (234,-49)
-BLIT star1.png CENTERED (596,45)
-BLIT star1.png CENTERED (257,359)
-BLIT star1.png CENTERED (398,173)
-BLIT star2.png CENTERED (230,442)
-BLIT star2.png CENTERED (134,413)
-BLIT star0.png CENTERED (70,228)
-BLIT star1.png CENTERED (413,388)
-BLIT star1.png CENTERED (381,118)
-BLIT star0.png CENTERED (360,146)
-BLIT star2.png CENTERED (220,132)
-BLIT star2.png CENTERED (132,-121)
-BLIT star1.png CENTERED (597,159)
-BLIT player_shoot.png CENTERED (279,-21)
-BLIT player_shoot.png CENTERED (299,102)
-BLIT player_shoot.png CENTERED (393,226)
-BLIT enemy_shoot.png CENTERED (424,521)
-BLIT enemy_shoot.png CENTERED (442,521)
-BLIT enemy_shoot.png CENTERED (211,470)
-BLIT enemy_shoot.png CENTERED (229,470)
-BLIT enemy1.png CENTERED (220,422)
-BLIT enemy1.png CENTERED (433,402)
-BLIT enemy3.png CENTERED (218,100)
+BLIT star1.png CENTERED (278,119)
+BLIT star1.png CENTERED (286,258)
+BLIT star0.png CENTERED (145,61)
+BLIT star1.png CENTERED (125,-124)
+BLIT star1.png CENTERED (184,-11)
+BLIT star1.png CENTERED (377,220)
+BLIT star0.png CENTERED (426,474)
+BLIT star2.png CENTERED (55,142)
+BLIT star1.png CENTERED (372,400)
+BLIT star1.png CENTERED (25,206)
+BLIT star1.png CENTERED (461,149)
+BLIT star1.png CENTERED (112,446)
+BLIT star0.png CENTERED (388,475)
+BLIT star1.png CENTERED (304,353)
+BLIT star1.png CENTERED (168,214)
+BLIT star1.png CENTERED (61,109)
+BLIT star1.png CENTERED (24,210)
+BLIT star1.png CENTERED (363,299)
+BLIT star0.png CENTERED (452,446)
+BLIT star1.png CENTERED (13,340)
+BLIT star0.png CENTERED (388,195)
+BLIT star1.png CENTERED (347,175)
+BLIT star2.png CENTERED (579,355)
+BLIT star1.png CENTERED (523,391)
+BLIT star1.png CENTERED (531,-120)
+BLIT star1.png CENTERED (63,-56)
+BLIT star0.png CENTERED (319,130)
+BLIT star1.png CENTERED (491,-93)
+BLIT star0.png CENTERED (313,328)
+BLIT star2.png CENTERED (118,167)
+BLIT star2.png CENTERED (179,-106)
+BLIT star2.png CENTERED (262,429)
+BLIT star1.png CENTERED (382,433)
+BLIT star0.png CENTERED (23,358)
+BLIT star0.png CENTERED (542,476)
+BLIT star2.png CENTERED (117,144)
+BLIT star2.png CENTERED (575,264)
+BLIT star1.png CENTERED (120,236)
+BLIT star1.png CENTERED (405,267)
+BLIT star2.png CENTERED (25,171)
+BLIT star2.png CENTERED (547,147)
+BLIT star1.png CENTERED (464,394)
+BLIT star1.png CENTERED (560,283)
+BLIT star1.png CENTERED (578,39)
+BLIT star2.png CENTERED (482,39)
+BLIT star0.png CENTERED (271,64)
+BLIT star2.png CENTERED (608,131)
+BLIT star0.png CENTERED (137,-73)
+BLIT star1.png CENTERED (382,449)
+BLIT star2.png CENTERED (141,367)
+BLIT star1.png CENTERED (10,130)
+BLIT star2.png CENTERED (428,248)
+BLIT star0.png CENTERED (353,284)
+BLIT star1.png CENTERED (343,443)
+BLIT star2.png CENTERED (414,308)
+BLIT star1.png CENTERED (148,311)
+BLIT star2.png CENTERED (415,350)
+BLIT star1.png CENTERED (597,231)
+BLIT star2.png CENTERED (608,322)
+BLIT star0.png CENTERED (440,325)
+BLIT star2.png CENTERED (37,323)
+BLIT star2.png CENTERED (401,374)
+BLIT star0.png CENTERED (404,474)
+BLIT star1.png CENTERED (93,-57)
+BLIT star2.png CENTERED (468,363)
+BLIT star0.png CENTERED (211,165)
+BLIT star1.png CENTERED (349,333)
+BLIT star2.png CENTERED (620,449)
+BLIT star0.png CENTERED (321,429)
+BLIT star1.png CENTERED (605,315)
+BLIT star0.png CENTERED (517,-34)
+BLIT star1.png CENTERED (619,433)
+BLIT star2.png CENTERED (568,242)
+BLIT star0.png CENTERED (391,424)
+BLIT star2.png CENTERED (508,372)
+BLIT star1.png CENTERED (417,199)
+BLIT star2.png CENTERED (81,446)
+BLIT star0.png CENTERED (367,93)
+BLIT star2.png CENTERED (30,469)
+BLIT star1.png CENTERED (390,105)
+BLIT star1.png CENTERED (590,290)
+BLIT star1.png CENTERED (322,-99)
+BLIT star0.png CENTERED (195,-151)
+BLIT star1.png CENTERED (102,162)
+BLIT star1.png CENTERED (263,107)
+BLIT star1.png CENTERED (381,3)
+BLIT star1.png CENTERED (41,172)
+BLIT star2.png CENTERED (4,49)
+BLIT star0.png CENTERED (18,-95)
+BLIT star1.png CENTERED (193,-11)
+BLIT star1.png CENTERED (285,158)
+BLIT star2.png CENTERED (246,27)
+BLIT star0.png CENTERED (322,225)
+BLIT star1.png CENTERED (247,261)
+BLIT star1.png CENTERED (265,323)
+BLIT star2.png CENTERED (628,-101)
+BLIT star2.png CENTERED (194,423)
+BLIT star1.png CENTERED (429,-125)
+BLIT star0.png CENTERED (564,435)
+BLIT star2.png CENTERED (586,186)
+BLIT explosion.png CENTERED (286,126)
+BLIT explosion.png CENTERED (281,125)
+BLIT explosion.png CENTERED (288,129)
+BLIT explosion.png CENTERED (292,126)
+BLIT explosion.png CENTERED (282,126)
+BLIT money.png CENTERED (296,274)
+BLIT money.png CENTERED (296,255)
+BLIT money.png CENTERED (289,257)
+BLIT money.png CENTERED (300,252)
+BLIT money.png CENTERED (312,249)
+BLIT money.png CENTERED (302,262)
+BLIT money.png CENTERED (272,266)
+BLIT money.png CENTERED (278,237)
+BLIT money.png CENTERED (271,273)
+BLIT money.png CENTERED (306,263)
+BLIT money.png CENTERED (302,257)
+BLIT money.png CENTERED (292,273)
+BLIT money.png CENTERED (296,250)
+BLIT money.png CENTERED (292,243)
+BLIT money.png CENTERED (291,252)
+BLIT money.png CENTERED (288,256)
+BLIT money.png CENTERED (311,239)
+BLIT money.png CENTERED (322,239)
+BLIT money.png CENTERED (287,235)
+BLIT money.png CENTERED (317,269)
+BLIT money.png CENTERED (284,140)
+BLIT money.png CENTERED (287,119)
+BLIT money.png CENTERED (287,120)
+BLIT player_shoot.png CENTERED (304,346)
+BLIT enemy_missile.png CENTERED (251.704,313.56) ROTATED 2.913
+BLIT enemy0.png CENTERED (661,544)
+BLIT enemy2.png CENTERED (263,168)
+BLIT player.png CENTERED (270,397)
 BLIT player_shoot.png (30,460)
 INPUT click 522.0 447.0
 read 24 click 32.0 459.0
 WAIT 24 for click 32.0 459.0
 CLEAR rgb(0.0;0.0;0.0)
-BLIT star1.png CENTERED (252,419)
-BLIT star0.png CENTERED (165,110)
-BLIT star1.png CENTERED (69,384)
-BLIT star0.png CENTERED (184,200)
-BLIT star2.png CENTERED (339,-10)
-BLIT star2.png CENTERED (169,436)
-BLIT star2.png CENTERED (311,210)
-BLIT star0.png CENTERED (400,304)
-BLIT star2.png CENTERED (356,334)
-BLIT star1.png CENTERED (252,187)
-BLIT star2.png CENTERED (466,453)
-BLIT star0.png CENTERED (216,477)
-BLIT star2.png CENTERED (262,126)
-BLIT star0.png CENTERED (495,185)
-BLIT star0.png CENTERED (553,381)
-BLIT star1.png CENTERED (129,73)
-BLIT star2.png CENTERED (134,359)
-BLIT star1.png CENTERED (60,124)
-BLIT star2.png CENTERED (193,442)
-BLIT star0.png CENTERED (84,62)
-BLIT star2.png CENTERED (576,-8)
-BLIT star1.png CENTERED (283,157)
-BLIT star1.png CENTERED (370,354)
-BLIT star2.png CENTERED (231,281)
-BLIT star1.png CENTERED (305,184)
-BLIT star1.png CENTERED (336,397)
-BLIT star0.png CENTERED (149,436)
-BLIT star1.png CENTERED (556,-24)
-BLIT star2.png CENTERED (308,237)
-BLIT star2.png CENTERED (186,306)
-BLIT star2.png CENTERED (298,-82)
-BLIT star2.png CENTERED (23,247)
-BLIT star1.png CENTERED (400,469)
-BLIT star1.png CENTERED (141,198)
-BLIT star2.png CENTERED (70,447)
-BLIT star1.png CENTERED (460,175)
-BLIT star1.png CENTERED (202,267)
-BLIT star0.png CENTERED (246,305)
-BLIT star1.png CENTERED (355,83)
-BLIT star2.png CENTERED (244,264)
-BLIT star1.png CENTERED (166,408)
-BLIT star2.png CENTERED (588,455)
-BLIT star1.png CENTERED (446,255)
-BLIT star2.png CENTERED (3,385)
-BLIT star1.png CENTERED (395,399)
-BLIT star1.png CENTERED (256,288)
-BLIT star0.png CENTERED (513,375)
-BLIT star1.png CENTERED (21,142)
-BLIT star1.png CENTERED (120,411)
-BLIT star0.png CENTERED (363,32)
-BLIT star1.png CENTERED (195,234)
-BLIT star1.png CENTERED (548,157)
-BLIT star1.png CENTERED (448,-57)
-BLIT star0.png CENTERED (200,477)
-BLIT star2.png CENTERED (100,371)
-BLIT star1.png CENTERED (200,-118)
-BLIT star2.png CENTERED (252,471)
-BLIT star2.png CENTERED (574,7)
-BLIT star2.png CENTERED (615,69)
-BLIT star1.png CENTERED (597,334)
-BLIT star1.png CENTERED (301,-58)
-BLIT star2.png CENTERED (380,462)
-BLIT star2.png CENTERED (598,288)
-BLIT star2.png CENTERED (377,426)
-BLIT star1.png CENTERED (496,443)
-BLIT star0.png CENTERED (386,275)
-BLIT star0.png CENTERED (277,-32)
-BLIT star1.png CENTERED (425,301)
-BLIT star1.png CENTERED (382,404)
-BLIT star0.png CENTERED (94,313)
-BLIT star2.png CENTERED (448,378)
-BLIT star1.png CENTERED (329,142)
-BLIT star2.png CENTERED (326,149)
-BLIT star1.png CENTERED (246,391)
-BLIT star1.png CENTERED (92,257)
-BLIT star1.png CENTERED (260,123)
-BLIT star0.png CENTERED (398,-120)
-BLIT star2.png CENTERED (285,376)
-BLIT star1.png CENTERED (37,141)
-BLIT star0.png CENTERED (382,162)
-BLIT star1.png CENTERED (46,21)
-BLIT star2.png CENTERED (296,342)
-BLIT star0.png CENTERED (378,1)
-BLIT star1.png CENTERED (490,254)
-BLIT star2.png CENTERED (140,370)
-BLIT star1.png CENTERED (175,20)
-BLIT star2.png CENTERED (117,343)
-BLIT star1.png CENTERED (234,-43)
-BLIT star1.png CENTERED (596,50)
-BLIT star1.png CENTERED (257,366)
-BLIT star1.png CENTERED (398,180)
-BLIT star2.png CENTERED (230,452)
-BLIT star2.png CENTERED (134,423)
-BLIT star0.png CENTERED (70,232)
-BLIT star1.png CENTERED (413,396)
-BLIT star1.png CENTERED (381,125)
-BLIT star0.png CENTERED (360,148)
-BLIT star2.png CENTERED (220,142)
-BLIT star2.png CENTERED (132,-110)
-BLIT star1.png CENTERED (597,165)
-BLIT player_shoot.png CENTERED (299,-5)
-BLIT player_shoot.png CENTERED (393,118)
-BLIT player_shoot.png CENTERED (298,338)
-BLIT enemy_shoot.png CENTERED (424,526)
-BLIT enemy_shoot.png CENTERED (442,526)
-BLIT enemy_shoot.png CENTERED (218,33)
-BLIT enemy_shoot.png CENTERED (274,52)
-BLIT enemy_shoot.png CENTERED (309,100)
-BLIT enemy_shoot.png CENTERED (309,159)
-BLIT enemy_shoot.png CENTERED (274,207)
-BLIT enemy_shoot.png CENTERED (218,225)
-BLIT enemy_shoot.png CENTERED (162,207)
-BLIT enemy_shoot.png CENTERED (127,159)
-BLIT enemy_shoot.png CENTERED (127,100)
-BLIT enemy_shoot.png CENTERED (162,52)
-BLIT enemy1.png CENTERED (220,474)
-BLIT enemy1.png CENTERED (433,456)
-BLIT enemy3.png CENTERED (218,156)
-BLIT enemy0.png CENTERED (223,25)
-BLIT enemy4.png CENTERED (253,4)
-BLIT enemy4_turret.png CENTERED (253.816,4.56) ROTATED 3.053
-BLIT player.png CENTERED (288,363)
+BLIT star1.png CENTERED (278,124)
+BLIT star1.png CENTERED (286,265)
+BLIT star0.png CENTERED (145,65)
+BLIT star1.png CENTERED (125,-118)
+BLIT star1.png CENTERED (184,-4)
+BLIT star1.png CENTERED (377,228)
+BLIT star0.png CENTERED (426,478)
+BLIT star2.png CENTERED (55,151)
+BLIT star1.png CENTERED (372,406)
+BLIT star1.png CENTERED (25,212)
+BLIT star1.png CENTERED (461,156)
+BLIT star1.png CENTERED (112,454)
+BLIT star0.png CENTERED (388,478)
+BLIT star1.png CENTERED (304,359)
+BLIT star1.png CENTERED (168,221)
+BLIT star1.png CENTERED (61,117)
+BLIT star1.png CENTERED (24,217)
+BLIT star1.png CENTERED (363,305)
+BLIT star0.png CENTERED (452,448)
+BLIT star1.png CENTERED (13,346)
+BLIT star0.png CENTERED (388,199)
+BLIT star1.png CENTERED (347,183)
+BLIT star2.png CENTERED (579,365)
+BLIT star1.png CENTERED (523,399)
+BLIT star1.png CENTERED (531,-114)
+BLIT star1.png CENTERED (63,-51)
+BLIT star0.png CENTERED (319,133)
+BLIT star1.png CENTERED (491,-88)
+BLIT star0.png CENTERED (313,331)
+BLIT star2.png CENTERED (118,176)
+BLIT star2.png CENTERED (179,-96)
+BLIT star2.png CENTERED (262,438)
+BLIT star1.png CENTERED (382,440)
+BLIT star0.png CENTERED (23,361)
+BLIT star0.png CENTERED (542,478)
+BLIT star2.png CENTERED (117,154)
+BLIT star2.png CENTERED (575,274)
+BLIT star1.png CENTERED (120,240)
+BLIT star1.png CENTERED (405,272)
+BLIT star2.png CENTERED (25,182)
+BLIT star2.png CENTERED (547,157)
+BLIT star1.png CENTERED (464,402)
+BLIT star1.png CENTERED (560,291)
+BLIT star1.png CENTERED (578,48)
+BLIT star2.png CENTERED (482,47)
+BLIT star0.png CENTERED (271,68)
+BLIT star2.png CENTERED (608,141)
+BLIT star0.png CENTERED (137,-69)
+BLIT star1.png CENTERED (382,455)
+BLIT star2.png CENTERED (141,376)
+BLIT star1.png CENTERED (10,138)
+BLIT star2.png CENTERED (428,258)
+BLIT star0.png CENTERED (353,287)
+BLIT star1.png CENTERED (343,447)
+BLIT star2.png CENTERED (414,317)
+BLIT star1.png CENTERED (148,318)
+BLIT star2.png CENTERED (415,360)
+BLIT star1.png CENTERED (597,239)
+BLIT star2.png CENTERED (608,331)
+BLIT star0.png CENTERED (440,329)
+BLIT star2.png CENTERED (37,332)
+BLIT star2.png CENTERED (401,384)
+BLIT star0.png CENTERED (404,478)
+BLIT star1.png CENTERED (93,-50)
+BLIT star2.png CENTERED (468,372)
+BLIT star0.png CENTERED (211,169)
+BLIT star1.png CENTERED (349,340)
+BLIT star2.png CENTERED (620,459)
+BLIT star0.png CENTERED (321,432)
+BLIT star1.png CENTERED (605,319)
+BLIT star0.png CENTERED (517,-31)
+BLIT star1.png CENTERED (619,439)
+BLIT star2.png CENTERED (568,251)
+BLIT star0.png CENTERED (391,427)
+BLIT star2.png CENTERED (508,382)
+BLIT star1.png CENTERED (417,205)
+BLIT star2.png CENTERED (81,455)
+BLIT star0.png CENTERED (367,96)
+BLIT star2.png CENTERED (30,479)
+BLIT star1.png CENTERED (390,111)
+BLIT star1.png CENTERED (590,299)
+BLIT star1.png CENTERED (322,-92)
+BLIT star0.png CENTERED (195,-147)
+BLIT star1.png CENTERED (102,169)
+BLIT star1.png CENTERED (263,112)
+BLIT star1.png CENTERED (381,8)
+BLIT star1.png CENTERED (41,177)
+BLIT star2.png CENTERED (4,59)
+BLIT star0.png CENTERED (18,-92)
+BLIT star1.png CENTERED (193,-5)
+BLIT star1.png CENTERED (285,165)
+BLIT star2.png CENTERED (246,37)
+BLIT star0.png CENTERED (322,229)
+BLIT star1.png CENTERED (247,266)
+BLIT star1.png CENTERED (265,329)
+BLIT star2.png CENTERED (628,-90)
+BLIT star2.png CENTERED (194,433)
+BLIT star1.png CENTERED (429,-119)
+BLIT star0.png CENTERED (564,437)
+BLIT star2.png CENTERED (586,196)
+BLIT money.png CENTERED (296,284)
+BLIT money.png CENTERED (296,266)
+BLIT money.png CENTERED (289,267)
+BLIT money.png CENTERED (300,263)
+BLIT money.png CENTERED (312,260)
+BLIT money.png CENTERED (302,273)
+BLIT money.png CENTERED (272,277)
+BLIT money.png CENTERED (278,248)
+BLIT money.png CENTERED (271,284)
+BLIT money.png CENTERED (306,274)
+BLIT money.png CENTERED (302,268)
+BLIT money.png CENTERED (292,284)
+BLIT money.png CENTERED (296,260)
+BLIT money.png CENTERED (292,254)
+BLIT money.png CENTERED (291,263)
+BLIT money.png CENTERED (288,267)
+BLIT money.png CENTERED (311,250)
+BLIT money.png CENTERED (322,250)
+BLIT money.png CENTERED (287,246)
+BLIT money.png CENTERED (317,279)
+BLIT money.png CENTERED (284,160)
+BLIT money.png CENTERED (287,129)
+BLIT money.png CENTERED (287,131)
+BLIT player_shoot.png CENTERED (304,238)
+BLIT player_shoot.png CENTERED (240,303)
+BLIT enemy2.png CENTERED (275,209)
 BLIT player_shoot.png (30,460)
 INPUT click 32.0 459.0
 read 19 click 325.0 515.0
 WAIT 19 for click 325.0 515.0
 CLEAR rgb(0.0;0.0;0.0)
-BLIT star1.png CENTERED (252,425)
-BLIT star0.png CENTERED (165,113)
-BLIT star1.png CENTERED (69,389)
-BLIT star0.png CENTERED (184,202)
-BLIT star2.png CENTERED (339,-2)
-BLIT star2.png CENTERED (169,444)
-BLIT star2.png CENTERED (311,219)
-BLIT star0.png CENTERED (400,308)
-BLIT star2.png CENTERED (356,342)
-BLIT star1.png CENTERED (252,192)
-BLIT star2.png CENTERED (466,463)
-BLIT star2.png CENTERED (548,-70)
-BLIT star2.png CENTERED (262,134)
-BLIT star0.png CENTERED (495,188)
-BLIT star0.png CENTERED (553,383)
-BLIT star1.png CENTERED (129,80)
-BLIT star2.png CENTERED (134,368)
-BLIT star1.png CENTERED (60,129)
-BLIT star2.png CENTERED (193,450)
-BLIT star0.png CENTERED (84,65)
-BLIT star2.png CENTERED (576,0)
-BLIT star1.png CENTERED (283,163)
-BLIT star1.png CENTERED (370,360)
-BLIT star2.png CENTERED (231,290)
-BLIT star1.png CENTERED (305,191)
-BLIT star1.png CENTERED (336,403)
-BLIT star0.png CENTERED (149,439)
-BLIT star1.png CENTERED (556,-17)
-BLIT star2.png CENTERED (308,246)
-BLIT star2.png CENTERED (186,315)
-BLIT star2.png CENTERED (298,-74)
-BLIT star2.png CENTERED (23,255)
-BLIT star1.png CENTERED (400,473)
-BLIT star1.png CENTERED (141,204)
-BLIT star2.png CENTERED (70,455)
-BLIT star1.png CENTERED (460,180)
-BLIT star1.png CENTERED (202,271)
-BLIT star0.png CENTERED (246,309)
-BLIT star1.png CENTERED (355,88)
-BLIT star2.png CENTERED (244,272)
-BLIT star1.png CENTERED (166,415)
-BLIT star2.png CENTERED (588,464)
-BLIT star1.png CENTERED (446,262)
-BLIT star2.png CENTERED (3,393)
-BLIT star1.png CENTERED (395,405)
-BLIT star1.png CENTERED (256,296)
-BLIT star0.png CENTERED (513,378)
-BLIT star1.png CENTERED (21,149)
-BLIT star1.png CENTERED (120,419)
-BLIT star0.png CENTERED (363,35)
-BLIT star1.png CENTERED (195,241)
-BLIT star1.png CENTERED (548,162)
-BLIT star1.png CENTERED (448,-51)
-BLIT star2.png CENTERED (289,-14)
-BLIT star2.png CENTERED (100,379)
-BLIT star1.png CENTERED (200,-113)
-BLIT star1.png CENTERED (234,-100)
-BLIT star2.png CENTERED (574,15)
-BLIT star2.png CENTERED (615,78)
-BLIT star1.png CENTERED (597,340)
-BLIT star1.png CENTERED (301,-53)
-BLIT star2.png CENTERED (380,472)
-BLIT star2.png CENTERED (598,296)
-BLIT star2.png CENTERED (377,434)
-BLIT star1.png CENTERED (496,447)
-BLIT star0.png CENTERED (386,279)
-BLIT star0.png CENTERED (277,-30)
-BLIT star1.png CENTERED (425,307)
-BLIT star1.png CENTERED (382,410)
-BLIT star0.png CENTERED (94,315)
-BLIT star2.png CENTERED (448,386)
-BLIT star1.png CENTERED (329,148)
-BLIT star2.png CENTERED (326,158)
-BLIT star1.png CENTERED (246,397)
-BLIT star1.png CENTERED (92,260)
-BLIT star1.png CENTERED (260,130)
-BLIT star0.png CENTERED (398,-117)
-BLIT star2.png CENTERED (285,385)
-BLIT star1.png CENTERED (37,148)
-BLIT star0.png CENTERED (382,166)
-BLIT star1.png CENTERED (46,27)
-BLIT star2.png CENTERED (296,351)
-BLIT star0.png CENTERED (378,4)
-BLIT star1.png CENTERED (490,260)
-BLIT star2.png CENTERED (140,379)
-BLIT star1.png CENTERED (175,24)
-BLIT star2.png CENTERED (117,351)
-BLIT star1.png CENTERED (234,-38)
-BLIT star1.png CENTERED (596,55)
-BLIT star1.png CENTERED (257,372)
-BLIT star1.png CENTERED (398,185)
-BLIT star2.png CENTERED (230,461)
-BLIT star2.png CENTERED (134,432)
-BLIT star0.png CENTERED (70,235)
-BLIT star1.png CENTERED (413,403)
-BLIT star1.png CENTERED (381,131)
-BLIT star0.png CENTERED (360,150)
-BLIT star2.png CENTERED (220,151)
-BLIT star2.png CENTERED (132,-100)
-BLIT star1.png CENTERED (597,170)
-BLIT player_shoot.png CENTERED (393,22)
-BLIT player_shoot.png CENTERED (298,242)
-BLIT player_shoot.png CENTERED (354,379)
-BLIT enemy_shoot.png CENTERED (218,-62)
-BLIT enemy_shoot.png CENTERED (331,-25)
-BLIT enemy_shoot.png CENTERED (401,70)
-BLIT enemy_shoot.png CENTERED (401,188)
-BLIT enemy_shoot.png CENTERED (331,284)
-BLIT enemy_shoot.png CENTERED (218,321)
-BLIT enemy_shoot.png CENTERED (106,284)
-BLIT enemy_shoot.png CENTERED (36,188)
-BLIT enemy_shoot.png CENTERED (36,70)
-BLIT enemy_shoot.png CENTERED (106,-25)
-BLIT enemy1.png CENTERED (220,520)
-BLIT enemy1.png CENTERED (433,503)
-BLIT enemy3.png CENTERED (218,206)
-BLIT enemy0.png CENTERED (232,68)
-BLIT enemy4.png CENTERED (244,59)
-BLIT enemy4_turret.png CENTERED (244.6,59.28) ROTATED 2.81
-BLIT enemy_kamikaze.png CENTERED (468.352,83.208) ROTATED -2.795
+BLIT star1.png CENTERED (278,129)
+BLIT star1.png CENTERED (286,271)
+BLIT star0.png CENTERED (145,68)
+BLIT star1.png CENTERED (125,-112)
+BLIT star1.png CENTERED (184,2)
+BLIT star1.png CENTERED (377,235)
+BLIT star0.png CENTERED (199,-157)
+BLIT star2.png CENTERED (55,159)
+BLIT star1.png CENTERED (372,412)
+BLIT star1.png CENTERED (25,218)
+BLIT star1.png CENTERED (461,162)
+BLIT star1.png CENTERED (112,462)
+BLIT star1.png CENTERED (140,-148)
+BLIT star1.png CENTERED (304,364)
+BLIT star1.png CENTERED (168,227)
+BLIT star1.png CENTERED (61,124)
+BLIT star1.png CENTERED (24,222)
+BLIT star1.png CENTERED (363,311)
+BLIT star0.png CENTERED (452,450)
+BLIT star1.png CENTERED (13,352)
+BLIT star0.png CENTERED (388,202)
+BLIT star1.png CENTERED (347,190)
+BLIT star2.png CENTERED (579,375)
+BLIT star1.png CENTERED (523,405)
+BLIT star1.png CENTERED (531,-109)
+BLIT star1.png CENTERED (63,-47)
+BLIT star0.png CENTERED (319,136)
+BLIT star1.png CENTERED (491,-83)
+BLIT star0.png CENTERED (313,334)
+BLIT star2.png CENTERED (118,184)
+BLIT star2.png CENTERED (179,-87)
+BLIT star2.png CENTERED (262,446)
+BLIT star1.png CENTERED (382,447)
+BLIT star0.png CENTERED (23,363)
+BLIT star1.png CENTERED (302,-70)
+BLIT star2.png CENTERED (117,164)
+BLIT star2.png CENTERED (575,283)
+BLIT star1.png CENTERED (120,244)
+BLIT star1.png CENTERED (405,277)
+BLIT star2.png CENTERED (25,191)
+BLIT star2.png CENTERED (547,166)
+BLIT star1.png CENTERED (464,409)
+BLIT star1.png CENTERED (560,298)
+BLIT star1.png CENTERED (578,55)
+BLIT star2.png CENTERED (482,55)
+BLIT star0.png CENTERED (271,71)
+BLIT star2.png CENTERED (608,150)
+BLIT star0.png CENTERED (137,-65)
+BLIT star1.png CENTERED (382,460)
+BLIT star2.png CENTERED (141,384)
+BLIT star1.png CENTERED (10,145)
+BLIT star2.png CENTERED (428,267)
+BLIT star0.png CENTERED (353,290)
+BLIT star1.png CENTERED (343,451)
+BLIT star2.png CENTERED (414,325)
+BLIT star1.png CENTERED (148,325)
+BLIT star2.png CENTERED (415,368)
+BLIT star1.png CENTERED (597,247)
+BLIT star2.png CENTERED (608,339)
+BLIT star0.png CENTERED (440,332)
+BLIT star2.png CENTERED (37,340)
+BLIT star2.png CENTERED (401,392)
+BLIT star0.png CENTERED (463,-98)
+BLIT star1.png CENTERED (93,-44)
+BLIT star2.png CENTERED (468,381)
+BLIT star0.png CENTERED (211,173)
+BLIT star1.png CENTERED (349,347)
+BLIT star2.png CENTERED (620,468)
+BLIT star0.png CENTERED (321,434)
+BLIT star1.png CENTERED (605,323)
+BLIT star0.png CENTERED (517,-29)
+BLIT star1.png CENTERED (619,445)
+BLIT star2.png CENTERED (568,260)
+BLIT star0.png CENTERED (391,429)
+BLIT star2.png CENTERED (508,390)
+BLIT star1.png CENTERED (417,209)
+BLIT star2.png CENTERED (81,464)
+BLIT star0.png CENTERED (367,99)
+BLIT star1.png CENTERED (280,-126)
+BLIT star1.png CENTERED (390,116)
+BLIT star1.png CENTERED (590,306)
+BLIT star1.png CENTERED (322,-86)
+BLIT star0.png CENTERED (195,-144)
+BLIT star1.png CENTERED (102,175)
+BLIT star1.png CENTERED (263,116)
+BLIT star1.png CENTERED (381,12)
+BLIT star1.png CENTERED (41,181)
+BLIT star2.png CENTERED (4,69)
+BLIT star0.png CENTERED (18,-90)
+BLIT star1.png CENTERED (193,0)
+BLIT star1.png CENTERED (285,171)
+BLIT star2.png CENTERED (246,47)
+BLIT star0.png CENTERED (322,232)
+BLIT star1.png CENTERED (247,270)
+BLIT star1.png CENTERED (265,334)
+BLIT star2.png CENTERED (628,-81)
+BLIT star2.png CENTERED (194,442)
+BLIT star1.png CENTERED (429,-114)
+BLIT star0.png CENTERED (564,440)
+BLIT star2.png CENTERED (586,204)
+BLIT money.png CENTERED (296,294)
+BLIT money.png CENTERED (296,275)
+BLIT money.png CENTERED (289,277)
+BLIT money.png CENTERED (300,272)
+BLIT money.png CENTERED (312,270)
+BLIT money.png CENTERED (302,282)
+BLIT money.png CENTERED (272,286)
+BLIT money.png CENTERED (278,257)
+BLIT money.png CENTERED (271,294)
+BLIT money.png CENTERED (306,284)
+BLIT money.png CENTERED (302,278)
+BLIT money.png CENTERED (292,294)
+BLIT money.png CENTERED (296,270)
+BLIT money.png CENTERED (292,263)
+BLIT money.png CENTERED (291,273)
+BLIT money.png CENTERED (288,276)
+BLIT money.png CENTERED (311,259)
+BLIT money.png CENTERED (322,259)
+BLIT money.png CENTERED (287,256)
+BLIT money.png CENTERED (317,289)
+BLIT money.png CENTERED (284,169)
+BLIT money.png CENTERED (287,139)
+BLIT money.png CENTERED (287,141)
+BLIT money.png CENTERED (286,244)
+BLIT money.png CENTERED (283,209)
+BLIT money.png CENTERED (278,225)
+BLIT money.png CENTERED (287,221)
+BLIT money.png CENTERED (281,237)
+BLIT money.png CENTERED (296,243)
+BLIT money.png CENTERED (286,215)
+BLIT money.png CENTERED (276,229)
+BLIT money.png CENTERED (276,224)
+BLIT money.png CENTERED (276,205)
+BLIT player_shoot.png CENTERED (240,207)
+BLIT player_shoot.png CENTERED (299,346)
+BLIT player.png CENTERED (299,355)
 BLIT player_shoot.png (30,460)
 INPUT click 325.0 515.0
 read 15 click 333.0 554.0
 WAIT 15 for click 333.0 554.0
 CLEAR rgb(0.0;0.0;0.0)
-BLIT star1.png CENTERED (252,431)
-BLIT star0.png CENTERED (165,115)
-BLIT star1.png CENTERED (69,392)
-BLIT star0.png CENTERED (184,205)
-BLIT star2.png CENTERED (339,3)
-BLIT star2.png CENTERED (169,451)
-BLIT star2.png CENTERED (311,226)
-BLIT star0.png CENTERED (400,310)
-BLIT star2.png CENTERED (356,349)
-BLIT star1.png CENTERED (252,196)
-BLIT star2.png CENTERED (466,470)
-BLIT star2.png CENTERED (548,-63)
-BLIT star2.png CENTERED (262,140)
-BLIT star0.png CENTERED (495,190)
-BLIT star0.png CENTERED (553,385)
-BLIT star1.png CENTERED (129,85)
-BLIT star2.png CENTERED (134,375)
-BLIT star1.png CENTERED (60,133)
-BLIT star2.png CENTERED (193,456)
-BLIT star0.png CENTERED (84,67)
-BLIT star2.png CENTERED (576,7)
-BLIT star1.png CENTERED (283,168)
-BLIT star1.png CENTERED (370,366)
-BLIT star2.png CENTERED (231,297)
-BLIT star1.png CENTERED (305,196)
-BLIT star1.png CENTERED (336,408)
-BLIT star0.png CENTERED (149,441)
-BLIT star1.png CENTERED (556,-12)
-BLIT star2.png CENTERED (308,252)
-BLIT star2.png CENTERED (186,322)
-BLIT star2.png CENTERED (298,-67)
-BLIT star2.png CENTERED (23,261)
-BLIT star1.png CENTERED (400,476)
-BLIT star1.png CENTERED (141,210)
-BLIT star2.png CENTERED (70,461)
-BLIT star1.png CENTERED (460,184)
-BLIT star1.png CENTERED (202,274)
-BLIT star0.png CENTERED (246,311)
-BLIT star1.png CENTERED (355,92)
-BLIT star2.png CENTERED (244,278)
-BLIT star1.png CENTERED (166,420)
-BLIT star2.png CENTERED (588,470)
-BLIT star1.png CENTERED (446,268)
-BLIT star2.png CENTERED (3,400)
-BLIT star1.png CENTERED (395,410)
-BLIT star1.png CENTERED (256,302)
-BLIT star0.png CENTERED (513,381)
-BLIT star1.png CENTERED (21,155)
-BLIT star1.png CENTERED (120,425)
-BLIT star0.png CENTERED (363,36)
-BLIT star1.png CENTERED (195,247)
-BLIT star1.png CENTERED (548,165)
-BLIT star1.png CENTERED (448,-46)
-BLIT star2.png CENTERED (289,-7)
-BLIT star2.png CENTERED (100,386)
-BLIT star1.png CENTERED (200,-109)
-BLIT star1.png CENTERED (234,-94)
-BLIT star2.png CENTERED (574,22)
-BLIT star2.png CENTERED (615,85)
-BLIT star1.png CENTERED (597,345)
-BLIT star1.png CENTERED (301,-50)
-BLIT star2.png CENTERED (380,479)
-BLIT star2.png CENTERED (598,303)
-BLIT star2.png CENTERED (377,440)
-BLIT star1.png CENTERED (496,450)
-BLIT star0.png CENTERED (386,281)
-BLIT star0.png CENTERED (277,-28)
-BLIT star1.png CENTERED (425,313)
-BLIT star1.png CENTERED (382,415)
-BLIT star0.png CENTERED (94,317)
-BLIT star2.png CENTERED (448,393)
-BLIT star1.png CENTERED (329,152)
-BLIT star2.png CENTERED (326,164)
-BLIT star1.png CENTERED (246,401)
-BLIT star1.png CENTERED (92,264)
-BLIT star1.png CENTERED (260,136)
-BLIT star0.png CENTERED (398,-115)
-BLIT star2.png CENTERED (285,393)
-BLIT star1.png CENTERED (37,154)
-BLIT star0.png CENTERED (382,169)
-BLIT star1.png CENTERED (46,32)
-BLIT star2.png CENTERED (296,358)
-BLIT star0.png CENTERED (378,6)
-BLIT star1.png CENTERED (490,265)
-BLIT star2.png CENTERED (140,387)
-BLIT star1.png CENTERED (175,27)
-BLIT star2.png CENTERED (117,357)
-BLIT star1.png CENTERED (234,-34)
-BLIT star1.png CENTERED (596,58)
-BLIT star1.png CENTERED (257,377)
-BLIT star1.png CENTERED (398,190)
-BLIT star2.png CENTERED (230,468)
-BLIT star2.png CENTERED (134,439)
-BLIT star0.png CENTERED (70,238)
-BLIT star1.png CENTERED (413,409)
-BLIT star1.png CENTERED (381,136)
-BLIT star0.png CENTERED (360,152)
-BLIT star2.png CENTERED (220,158)
-BLIT star2.png CENTERED (132,-93)
-BLIT star1.png CENTERED (597,175)
-BLIT player_shoot.png CENTERED (393,-53)
-BLIT player_shoot.png CENTERED (298,166)
-BLIT player_shoot.png CENTERED (354,303)
-BLIT enemy_shoot.png CENTERED (473,47)
-BLIT enemy_shoot.png CENTERED (473,212)
-BLIT enemy_shoot.png CENTERED (375,346)
-BLIT enemy_shoot.png CENTERED (218,397)
-BLIT enemy_shoot.png CENTERED (61,346)
-BLIT enemy_shoot.png CENTERED (-36,212)
-BLIT enemy_shoot.png CENTERED (-36,47)
-BLIT enemy_shoot.png CENTERED (218,172)
-BLIT enemy_shoot.png CENTERED (256,184)
-BLIT enemy_shoot.png CENTERED (279,216)
-BLIT enemy_shoot.png CENTERED (279,255)
-BLIT enemy_shoot.png CENTERED (256,287)
-BLIT enemy_shoot.png CENTERED (218,300)
-BLIT enemy_shoot.png CENTERED (181,287)
-BLIT enemy_shoot.png CENTERED (157,255)
-BLIT enemy_shoot.png CENTERED (157,216)
-BLIT enemy_shoot.png CENTERED (181,184)
-BLIT enemy1.png CENTERED (220,557)
-BLIT enemy1.png CENTERED (433,541)
-BLIT enemy3.png CENTERED (218,246)
-BLIT enemy0.png CENTERED (240,102)
-BLIT enemy4.png CENTERED (237,102)
-BLIT enemy4_turret.png CENTERED (237.304,102.6) ROTATED 2.939
-BLIT enemy_kamikaze.png CENTERED (430.832,166.096) ROTATED -2.629
-BLIT player.png CENTERED (299,404)
+BLIT star1.png CENTERED (278,133)
+BLIT star1.png CENTERED (286,276)
+BLIT star0.png CENTERED (145,71)
+BLIT star1.png CENTERED (125,-108)
+BLIT star1.png CENTERED (184,7)
+BLIT star1.png CENTERED (377,241)
+BLIT star0.png CENTERED (199,-154)
+BLIT star2.png CENTERED (55,166)
+BLIT star1.png CENTERED (372,416)
+BLIT star1.png CENTERED (25,222)
+BLIT star1.png CENTERED (461,167)
+BLIT star1.png CENTERED (112,468)
+BLIT star1.png CENTERED (140,-143)
+BLIT star1.png CENTERED (304,369)
+BLIT star1.png CENTERED (168,232)
+BLIT star1.png CENTERED (61,130)
+BLIT star1.png CENTERED (24,227)
+BLIT star1.png CENTERED (363,315)
+BLIT star0.png CENTERED (452,452)
+BLIT star1.png CENTERED (13,357)
+BLIT star0.png CENTERED (388,205)
+BLIT star1.png CENTERED (347,196)
+BLIT star2.png CENTERED (579,382)
+BLIT star1.png CENTERED (523,411)
+BLIT star1.png CENTERED (531,-105)
+BLIT star1.png CENTERED (63,-43)
+BLIT star0.png CENTERED (319,138)
+BLIT star1.png CENTERED (491,-80)
+BLIT star0.png CENTERED (313,336)
+BLIT star2.png CENTERED (118,190)
+BLIT star2.png CENTERED (179,-79)
+BLIT star2.png CENTERED (262,452)
+BLIT star1.png CENTERED (382,452)
+BLIT star0.png CENTERED (23,365)
+BLIT star1.png CENTERED (302,-64)
+BLIT star2.png CENTERED (117,171)
+BLIT star2.png CENTERED (575,290)
+BLIT star1.png CENTERED (120,247)
+BLIT star1.png CENTERED (405,280)
+BLIT star2.png CENTERED (25,199)
+BLIT star2.png CENTERED (547,173)
+BLIT star1.png CENTERED (464,415)
+BLIT star1.png CENTERED (560,304)
+BLIT star1.png CENTERED (578,61)
+BLIT star2.png CENTERED (482,61)
+BLIT star0.png CENTERED (271,74)
+BLIT star2.png CENTERED (608,157)
+BLIT star0.png CENTERED (137,-62)
+BLIT star1.png CENTERED (382,463)
+BLIT star2.png CENTERED (141,391)
+BLIT star1.png CENTERED (10,151)
+BLIT star2.png CENTERED (428,274)
+BLIT star0.png CENTERED (353,292)
+BLIT star1.png CENTERED (343,455)
+BLIT star2.png CENTERED (414,331)
+BLIT star1.png CENTERED (148,330)
+BLIT star2.png CENTERED (415,374)
+BLIT star1.png CENTERED (597,252)
+BLIT star2.png CENTERED (608,345)
+BLIT star0.png CENTERED (440,335)
+BLIT star2.png CENTERED (37,347)
+BLIT star2.png CENTERED (401,399)
+BLIT star0.png CENTERED (463,-96)
+BLIT star1.png CENTERED (93,-39)
+BLIT star2.png CENTERED (468,388)
+BLIT star0.png CENTERED (211,176)
+BLIT star1.png CENTERED (349,352)
+BLIT star2.png CENTERED (620,476)
+BLIT star0.png CENTERED (321,436)
+BLIT star1.png CENTERED (605,326)
+BLIT star0.png CENTERED (517,-27)
+BLIT star1.png CENTERED (619,449)
+BLIT star2.png CENTERED (568,266)
+BLIT star0.png CENTERED (391,431)
+BLIT star2.png CENTERED (508,396)
+BLIT star1.png CENTERED (417,213)
+BLIT star2.png CENTERED (81,470)
+BLIT star0.png CENTERED (367,102)
+BLIT star1.png CENTERED (280,-122)
+BLIT star1.png CENTERED (390,120)
+BLIT star1.png CENTERED (590,312)
+BLIT star1.png CENTERED (322,-81)
+BLIT star0.png CENTERED (195,-142)
+BLIT star1.png CENTERED (102,180)
+BLIT star1.png CENTERED (263,120)
+BLIT star1.png CENTERED (381,15)
+BLIT star1.png CENTERED (41,184)
+BLIT star2.png CENTERED (4,76)
+BLIT star0.png CENTERED (18,-88)
+BLIT star1.png CENTERED (193,3)
+BLIT star1.png CENTERED (285,176)
+BLIT star2.png CENTERED (246,54)
+BLIT star0.png CENTERED (322,235)
+BLIT star1.png CENTERED (247,273)
+BLIT star1.png CENTERED (265,337)
+BLIT star2.png CENTERED (628,-73)
+BLIT star2.png CENTERED (194,449)
+BLIT star1.png CENTERED (429,-110)
+BLIT star0.png CENTERED (564,441)
+BLIT star2.png CENTERED (586,211)
+BLIT money.png CENTERED (296,302)
+BLIT money.png CENTERED (296,283)
+BLIT money.png CENTERED (289,285)
+BLIT money.png CENTERED (300,280)
+BLIT money.png CENTERED (312,277)
+BLIT money.png CENTERED (302,290)
+BLIT money.png CENTERED (272,294)
+BLIT money.png CENTERED (278,265)
+BLIT money.png CENTERED (271,301)
+BLIT money.png CENTERED (306,291)
+BLIT money.png CENTERED (302,285)
+BLIT money.png CENTERED (292,301)
+BLIT money.png CENTERED (296,278)
+BLIT money.png CENTERED (292,271)
+BLIT money.png CENTERED (291,280)
+BLIT money.png CENTERED (288,284)
+BLIT money.png CENTERED (311,267)
+BLIT money.png CENTERED (322,267)
+BLIT money.png CENTERED (287,263)
+BLIT money.png CENTERED (317,297)
+BLIT money.png CENTERED (284,177)
+BLIT money.png CENTERED (287,146)
+BLIT money.png CENTERED (287,148)
+BLIT money.png CENTERED (287,252)
+BLIT money.png CENTERED (283,216)
+BLIT money.png CENTERED (278,232)
+BLIT money.png CENTERED (288,229)
+BLIT money.png CENTERED (281,245)
+BLIT money.png CENTERED (297,251)
+BLIT money.png CENTERED (286,222)
+BLIT money.png CENTERED (276,237)
+BLIT money.png CENTERED (276,231)
+BLIT money.png CENTERED (276,212)
+BLIT player_shoot.png CENTERED (240,131)
+BLIT player_shoot.png CENTERED (299,270)
+BLIT enemy1.png CENTERED (272,3)
+BLIT enemy1.png CENTERED (174,0)
+BLIT player.png CENTERED (247,379)
 BLIT player_shoot.png (30,460)
 INPUT click 333.0 554.0
 read 12 click 293.0 558.0
 WAIT 12 for click 293.0 558.0
 CLEAR rgb(0.0;0.0;0.0)
-BLIT star1.png CENTERED (252,435)
-BLIT star0.png CENTERED (165,116)
-BLIT star1.png CENTERED (69,395)
-BLIT star0.png CENTERED (184,206)
-BLIT star2.png CENTERED (339,9)
-BLIT star2.png CENTERED (169,455)
-BLIT star2.png CENTERED (311,232)
-BLIT star0.png CENTERED (400,313)
-BLIT star2.png CENTERED (356,354)
-BLIT star1.png CENTERED (252,199)
-BLIT star2.png CENTERED (466,476)
-BLIT star2.png CENTERED (548,-58)
-BLIT star2.png CENTERED (262,145)
-BLIT star0.png CENTERED (495,192)
-BLIT star0.png CENTERED (553,386)
-BLIT star1.png CENTERED (129,90)
-BLIT star2.png CENTERED (134,380)
-BLIT star1.png CENTERED (60,136)
-BLIT star2.png CENTERED (193,461)
-BLIT star0.png CENTERED (84,69)
-BLIT star2.png CENTERED (576,13)
-BLIT star1.png CENTERED (283,173)
-BLIT star1.png CENTERED (370,370)
-BLIT star2.png CENTERED (231,302)
-BLIT star1.png CENTERED (305,200)
-BLIT star1.png CENTERED (336,412)
-BLIT star0.png CENTERED (149,442)
-BLIT star1.png CENTERED (556,-8)
-BLIT star2.png CENTERED (308,258)
-BLIT star2.png CENTERED (186,328)
-BLIT star2.png CENTERED (298,-62)
-BLIT star2.png CENTERED (23,266)
-BLIT star1.png CENTERED (400,479)
-BLIT star1.png CENTERED (141,214)
-BLIT star2.png CENTERED (70,466)
-BLIT star1.png CENTERED (460,188)
-BLIT star1.png CENTERED (202,276)
-BLIT star0.png CENTERED (246,313)
-BLIT star1.png CENTERED (355,95)
-BLIT star2.png CENTERED (244,282)
-BLIT star1.png CENTERED (166,424)
-BLIT star2.png CENTERED (588,475)
-BLIT star1.png CENTERED (446,272)
-BLIT star2.png CENTERED (3,405)
-BLIT star1.png CENTERED (395,414)
-BLIT star1.png CENTERED (256,306)
-BLIT star0.png CENTERED (513,383)
-BLIT star1.png CENTERED (21,160)
-BLIT star1.png CENTERED (120,430)
-BLIT star0.png CENTERED (363,38)
-BLIT star1.png CENTERED (195,251)
-BLIT star1.png CENTERED (548,168)
-BLIT star1.png CENTERED (448,-42)
-BLIT star2.png CENTERED (289,-2)
-BLIT star2.png CENTERED (100,391)
-BLIT star1.png CENTERED (200,-105)
-BLIT star1.png CENTERED (234,-90)
-BLIT star2.png CENTERED (574,28)
-BLIT star2.png CENTERED (615,90)
-BLIT star1.png CENTERED (597,349)
-BLIT star1.png CENTERED (301,-47)
-BLIT star0.png CENTERED (15,-36)
-BLIT star2.png CENTERED (598,309)
-BLIT star2.png CENTERED (377,445)
-BLIT star1.png CENTERED (496,453)
-BLIT star0.png CENTERED (386,283)
-BLIT star0.png CENTERED (277,-27)
-BLIT star1.png CENTERED (425,317)
-BLIT star1.png CENTERED (382,418)
-BLIT star0.png CENTERED (94,318)
-BLIT star2.png CENTERED (448,398)
-BLIT star1.png CENTERED (329,156)
-BLIT star2.png CENTERED (326,169)
-BLIT star1.png CENTERED (246,404)
-BLIT star1.png CENTERED (92,266)
-BLIT star1.png CENTERED (260,141)
-BLIT star0.png CENTERED (398,-114)
-BLIT star2.png CENTERED (285,399)
-BLIT star1.png CENTERED (37,158)
-BLIT star0.png CENTERED (382,171)
-BLIT star1.png CENTERED (46,36)
-BLIT star2.png CENTERED (296,363)
-BLIT star0.png CENTERED (378,7)
-BLIT star1.png CENTERED (490,269)
-BLIT star2.png CENTERED (140,392)
-BLIT star1.png CENTERED (175,29)
-BLIT star2.png CENTERED (117,362)
-BLIT star1.png CENTERED (234,-31)
-BLIT star1.png CENTERED (596,61)
-BLIT star1.png CENTERED (257,381)
-BLIT star1.png CENTERED (398,193)
-BLIT star2.png CENTERED (230,474)
-BLIT star2.png CENTERED (134,444)
-BLIT star0.png CENTERED (70,240)
-BLIT star1.png CENTERED (413,413)
-BLIT star1.png CENTERED (381,140)
-BLIT star0.png CENTERED (360,153)
-BLIT star2.png CENTERED (220,164)
-BLIT star2.png CENTERED (132,-87)
-BLIT star1.png CENTERED (597,178)
-BLIT player_shoot.png CENTERED (298,106)
-BLIT player_shoot.png CENTERED (354,243)
-BLIT player_shoot.png CENTERED (307,419)
-BLIT enemy_shoot.png CENTERED (530,28)
-BLIT enemy_shoot.png CENTERED (530,230)
-BLIT enemy_shoot.png CENTERED (410,394)
-BLIT enemy_shoot.png CENTERED (218,457)
-BLIT enemy_shoot.png CENTERED (26,394)
-BLIT enemy_shoot.png CENTERED (218,112)
-BLIT enemy_shoot.png CENTERED (291,135)
-BLIT enemy_shoot.png CENTERED (336,197)
-BLIT enemy_shoot.png CENTERED (336,274)
-BLIT enemy_shoot.png CENTERED (291,336)
-BLIT enemy_shoot.png CENTERED (218,360)
-BLIT enemy_shoot.png CENTERED (145,336)
-BLIT enemy_shoot.png CENTERED (100,274)
-BLIT enemy_shoot.png CENTERED (100,197)
-BLIT enemy_shoot.png CENTERED (145,135)
-BLIT enemy_shoot.png CENTERED (242,151)
-BLIT enemy_shoot.png CENTERED (235,141)
-BLIT enemy3.png CENTERED (218,277)
-BLIT enemy0.png CENTERED (246,129)
-BLIT enemy4.png CENTERED (231,136)
-BLIT enemy4_turret.png CENTERED (231.544,136.8) ROTATED 2.896
-BLIT enemy_kamikaze.png CENTERED (399.144,230.608) ROTATED -2.75
-BLIT player.png CENTERED (309,450)
+BLIT star1.png CENTERED (278,135)
+BLIT star1.png CENTERED (286,280)
+BLIT star0.png CENTERED (145,73)
+BLIT star1.png CENTERED (125,-105)
+BLIT star1.png CENTERED (184,11)
+BLIT star1.png CENTERED (377,245)
+BLIT star0.png CENTERED (199,-152)
+BLIT star2.png CENTERED (55,171)
+BLIT star1.png CENTERED (372,419)
+BLIT star1.png CENTERED (25,226)
+BLIT star1.png CENTERED (461,171)
+BLIT star1.png CENTERED (112,473)
+BLIT star1.png CENTERED (140,-138)
+BLIT star1.png CENTERED (304,372)
+BLIT star1.png CENTERED (168,235)
+BLIT star1.png CENTERED (61,134)
+BLIT star1.png CENTERED (24,230)
+BLIT star1.png CENTERED (363,319)
+BLIT star0.png CENTERED (452,453)
+BLIT star1.png CENTERED (13,360)
+BLIT star0.png CENTERED (388,207)
+BLIT star1.png CENTERED (347,200)
+BLIT star2.png CENTERED (579,388)
+BLIT star1.png CENTERED (523,415)
+BLIT star1.png CENTERED (531,-102)
+BLIT star1.png CENTERED (63,-40)
+BLIT star0.png CENTERED (319,139)
+BLIT star1.png CENTERED (491,-77)
+BLIT star0.png CENTERED (313,338)
+BLIT star2.png CENTERED (118,195)
+BLIT star2.png CENTERED (179,-74)
+BLIT star2.png CENTERED (262,457)
+BLIT star1.png CENTERED (382,456)
+BLIT star0.png CENTERED (23,367)
+BLIT star1.png CENTERED (302,-59)
+BLIT star2.png CENTERED (117,177)
+BLIT star2.png CENTERED (575,295)
+BLIT star1.png CENTERED (120,249)
+BLIT star1.png CENTERED (405,283)
+BLIT star2.png CENTERED (25,205)
+BLIT star2.png CENTERED (547,178)
+BLIT star1.png CENTERED (464,420)
+BLIT star1.png CENTERED (560,309)
+BLIT star1.png CENTERED (578,66)
+BLIT star2.png CENTERED (482,66)
+BLIT star0.png CENTERED (271,76)
+BLIT star2.png CENTERED (608,163)
+BLIT star0.png CENTERED (137,-60)
+BLIT star1.png CENTERED (382,466)
+BLIT star2.png CENTERED (141,396)
+BLIT star1.png CENTERED (10,155)
+BLIT star2.png CENTERED (428,280)
+BLIT star0.png CENTERED (353,293)
+BLIT star1.png CENTERED (343,457)
+BLIT star2.png CENTERED (414,336)
+BLIT star1.png CENTERED (148,335)
+BLIT star2.png CENTERED (415,380)
+BLIT star1.png CENTERED (597,257)
+BLIT star2.png CENTERED (608,350)
+BLIT star0.png CENTERED (440,337)
+BLIT star2.png CENTERED (37,352)
+BLIT star2.png CENTERED (401,404)
+BLIT star0.png CENTERED (463,-94)
+BLIT star1.png CENTERED (93,-35)
+BLIT star2.png CENTERED (468,393)
+BLIT star0.png CENTERED (211,178)
+BLIT star1.png CENTERED (349,357)
+BLIT star0.png CENTERED (370,-158)
+BLIT star0.png CENTERED (321,438)
+BLIT star1.png CENTERED (605,329)
+BLIT star0.png CENTERED (517,-25)
+BLIT star1.png CENTERED (619,453)
+BLIT star2.png CENTERED (568,272)
+BLIT star0.png CENTERED (391,433)
+BLIT star2.png CENTERED (508,402)
+BLIT star1.png CENTERED (417,216)
+BLIT star2.png CENTERED (81,476)
+BLIT star0.png CENTERED (367,104)
+BLIT star1.png CENTERED (280,-119)
+BLIT star1.png CENTERED (390,123)
+BLIT star1.png CENTERED (590,316)
+BLIT star1.png CENTERED (322,-77)
+BLIT star0.png CENTERED (195,-140)
+BLIT star1.png CENTERED (102,183)
+BLIT star1.png CENTERED (263,123)
+BLIT star1.png CENTERED (381,18)
+BLIT star1.png CENTERED (41,186)
+BLIT star2.png CENTERED (4,81)
+BLIT star0.png CENTERED (18,-86)
+BLIT star1.png CENTERED (193,6)
+BLIT star1.png CENTERED (285,179)
+BLIT star2.png CENTERED (246,60)
+BLIT star0.png CENTERED (322,237)
+BLIT star1.png CENTERED (247,275)
+BLIT star1.png CENTERED (265,340)
+BLIT star2.png CENTERED (628,-68)
+BLIT star2.png CENTERED (194,455)
+BLIT star1.png CENTERED (429,-107)
+BLIT star0.png CENTERED (564,443)
+BLIT star2.png CENTERED (586,217)
+BLIT money.png CENTERED (296,308)
+BLIT money.png CENTERED (296,289)
+BLIT money.png CENTERED (289,291)
+BLIT money.png CENTERED (300,286)
+BLIT money.png CENTERED (312,283)
+BLIT money.png CENTERED (302,296)
+BLIT money.png CENTERED (272,300)
+BLIT money.png CENTERED (278,271)
+BLIT money.png CENTERED (271,307)
+BLIT money.png CENTERED (306,297)
+BLIT money.png CENTERED (302,291)
+BLIT money.png CENTERED (292,307)
+BLIT money.png CENTERED (296,284)
+BLIT money.png CENTERED (292,277)
+BLIT money.png CENTERED (291,286)
+BLIT money.png CENTERED (288,290)
+BLIT money.png CENTERED (311,273)
+BLIT money.png CENTERED (322,273)
+BLIT money.png CENTERED (287,269)
+BLIT money.png CENTERED (317,303)
+BLIT money.png CENTERED (284,183)
+BLIT money.png CENTERED (287,152)
+BLIT money.png CENTERED (287,154)
+BLIT money.png CENTERED (287,258)
+BLIT money.png CENTERED (283,222)
+BLIT money.png CENTERED (278,238)
+BLIT money.png CENTERED (288,235)
+BLIT money.png CENTERED (281,251)
+BLIT money.png CENTERED (297,257)
+BLIT money.png CENTERED (286,228)
+BLIT money.png CENTERED (276,243)
+BLIT money.png CENTERED (276,237)
+BLIT money.png CENTERED (276,218)
+BLIT player_shoot.png CENTERED (240,71)
+BLIT player_shoot.png CENTERED (299,210)
+BLIT player_shoot.png CENTERED (266,390)
+BLIT enemy1.png CENTERED (270,31)
+BLIT enemy1.png CENTERED (176,25)
+BLIT player.png CENTERED (270,420)
 BLIT player_shoot.png (30,460)
 INPUT click 293.0 558.0
 read 21 click 385.0 549.0
 WAIT 21 for click 385.0 549.0
 CLEAR rgb(0.0;0.0;0.0)
-BLIT star1.png CENTERED (252,438)
-BLIT star0.png CENTERED (165,118)
-BLIT star1.png CENTERED (69,398)
-BLIT star0.png CENTERED (184,208)
-BLIT star2.png CENTERED (339,13)
-BLIT star2.png CENTERED (169,459)
-BLIT star2.png CENTERED (311,236)
-BLIT star0.png CENTERED (400,315)
-BLIT star2.png CENTERED (356,358)
-BLIT star1.png CENTERED (252,201)
-BLIT star1.png CENTERED (177,-32)
-BLIT star2.png CENTERED (548,-53)
-BLIT star2.png CENTERED (262,149)
-BLIT star0.png CENTERED (495,193)
-BLIT star0.png CENTERED (553,388)
-BLIT star1.png CENTERED (129,93)
-BLIT star2.png CENTERED (134,385)
-BLIT star1.png CENTERED (60,138)
-BLIT star2.png CENTERED (193,466)
-BLIT star0.png CENTERED (84,70)
-BLIT star2.png CENTERED (576,17)
-BLIT star1.png CENTERED (283,176)
-BLIT star1.png CENTERED (370,373)
-BLIT star2.png CENTERED (231,307)
-BLIT star1.png CENTERED (305,204)
-BLIT star1.png CENTERED (336,416)
-BLIT star0.png CENTERED (149,443)
-BLIT star1.png CENTERED (556,-4)
-BLIT star2.png CENTERED (308,262)
-BLIT star2.png CENTERED (186,332)
-BLIT star2.png CENTERED (298,-58)
-BLIT star2.png CENTERED (23,270)
-BLIT star1.png CENTERED (473,-64)
-BLIT star1.png CENTERED (141,217)
-BLIT star2.png CENTERED (70,470)
-BLIT star1.png CENTERED (460,190)
-BLIT star1.png CENTERED (202,278)
-BLIT star0.png CENTERED (246,315)
-BLIT star1.png CENTERED (355,98)
-BLIT star2.png CENTERED (244,286)
-BLIT star1.png CENTERED (166,427)
-BLIT star2.png CENTERED (588,479)
-BLIT star1.png CENTERED (446,275)
-BLIT star2.png CENTERED (3,409)
-BLIT star1.png CENTERED (395,417)
-BLIT star1.png CENTERED (256,310)
-BLIT star0.png CENTERED (513,384)
-BLIT star1.png CENTERED (21,163)
-BLIT star1.png CENTERED (120,433)
-BLIT star0.png CENTERED (363,39)
-BLIT star1.png CENTERED (195,255)
-BLIT star1.png CENTERED (548,171)
-BLIT star1.png CENTERED (448,-39)
-BLIT star2.png CENTERED (289,1)
-BLIT star2.png CENTERED (100,395)
-BLIT star1.png CENTERED (200,-103)
-BLIT star1.png CENTERED (234,-87)
-BLIT star2.png CENTERED (574,32)
-BLIT star2.png CENTERED (615,95)
-BLIT star1.png CENTERED (597,352)
-BLIT star1.png CENTERED (301,-45)
-BLIT star0.png CENTERED (15,-35)
-BLIT star2.png CENTERED (598,313)
-BLIT star2.png CENTERED (377,449)
-BLIT star1.png CENTERED (496,455)
-BLIT star0.png CENTERED (386,285)
-BLIT star0.png CENTERED (277,-26)
-BLIT star1.png CENTERED (425,320)
-BLIT star1.png CENTERED (382,422)
-BLIT star0.png CENTERED (94,319)
-BLIT star2.png CENTERED (448,402)
-BLIT star1.png CENTERED (329,159)
-BLIT star2.png CENTERED (326,173)
-BLIT star1.png CENTERED (246,407)
-BLIT star1.png CENTERED (92,268)
-BLIT star1.png CENTERED (260,145)
-BLIT star0.png CENTERED (398,-112)
-BLIT star2.png CENTERED (285,404)
-BLIT star1.png CENTERED (37,161)
-BLIT star0.png CENTERED (382,173)
-BLIT star1.png CENTERED (46,39)
-BLIT star2.png CENTERED (296,368)
-BLIT star0.png CENTERED (378,8)
-BLIT star1.png CENTERED (490,272)
-BLIT star2.png CENTERED (140,397)
-BLIT star1.png CENTERED (175,31)
-BLIT star2.png CENTERED (117,367)
-BLIT star1.png CENTERED (234,-28)
-BLIT star1.png CENTERED (596,64)
-BLIT star1.png CENTERED (257,384)
-BLIT star1.png CENTERED (398,196)
-BLIT star2.png CENTERED (230,478)
-BLIT star2.png CENTERED (134,448)
-BLIT star0.png CENTERED (70,242)
-BLIT star1.png CENTERED (413,417)
-BLIT star1.png CENTERED (381,143)
-BLIT star0.png CENTERED (360,155)
-BLIT star2.png CENTERED (220,169)
-BLIT star2.png CENTERED (132,-82)
-BLIT star1.png CENTERED (597,181)
-BLIT player_shoot.png CENTERED (298,58)
-BLIT player_shoot.png CENTERED (354,195)
-BLIT player_shoot.png CENTERED (307,371)
-BLIT enemy_shoot.png CENTERED (575,13)
-BLIT enemy_shoot.png CENTERED (575,245)
-BLIT enemy_shoot.png CENTERED (438,433)
-BLIT enemy_shoot.png CENTERED (218,505)
-BLIT enemy_shoot.png CENTERED (-1,433)
-BLIT enemy_shoot.png CENTERED (218,64)
-BLIT enemy_shoot.png CENTERED (319,97)
-BLIT enemy_shoot.png CENTERED (382,183)
-BLIT enemy_shoot.png CENTERED (382,289)
-BLIT enemy_shoot.png CENTERED (319,375)
-BLIT enemy_shoot.png CENTERED (218,408)
-BLIT enemy_shoot.png CENTERED (117,375)
-BLIT enemy_shoot.png CENTERED (55,289)
-BLIT enemy_shoot.png CENTERED (55,183)
-BLIT enemy_shoot.png CENTERED (117,97)
-BLIT enemy_shoot.png CENTERED (252,198)
-BLIT enemy_shoot.png CENTERED (246,188)
-BLIT enemy_shoot.png CENTERED (239,178)
-BLIT enemy_shoot.png CENTERED (231,168)
-BLIT enemy3.png CENTERED (218,302)
-BLIT enemy0.png CENTERED (250,151)
-BLIT enemy4.png CENTERED (226,164)
-BLIT enemy4_turret.png CENTERED (226.936,164.16) ROTATED 2.862
-BLIT enemy_kamikaze.png CENTERED (379.456,284.656) ROTATED -2.835
-BLIT player.png CENTERED (316,480)
+BLIT star1.png CENTERED (278,138)
+BLIT star1.png CENTERED (286,283)
+BLIT star0.png CENTERED (145,75)
+BLIT star1.png CENTERED (125,-102)
+BLIT star1.png CENTERED (184,14)
+BLIT star1.png CENTERED (377,249)
+BLIT star0.png CENTERED (199,-151)
+BLIT star2.png CENTERED (55,175)
+BLIT star1.png CENTERED (372,422)
+BLIT star1.png CENTERED (25,228)
+BLIT star1.png CENTERED (461,174)
+BLIT star1.png CENTERED (112,476)
+BLIT star1.png CENTERED (140,-135)
+BLIT star1.png CENTERED (304,375)
+BLIT star1.png CENTERED (168,239)
+BLIT star1.png CENTERED (61,137)
+BLIT star1.png CENTERED (24,233)
+BLIT star1.png CENTERED (363,321)
+BLIT star0.png CENTERED (452,454)
+BLIT star1.png CENTERED (13,363)
+BLIT star0.png CENTERED (388,209)
+BLIT star1.png CENTERED (347,204)
+BLIT star2.png CENTERED (579,393)
+BLIT star1.png CENTERED (523,418)
+BLIT star1.png CENTERED (531,-100)
+BLIT star1.png CENTERED (63,-38)
+BLIT star0.png CENTERED (319,140)
+BLIT star1.png CENTERED (491,-75)
+BLIT star0.png CENTERED (313,339)
+BLIT star2.png CENTERED (118,199)
+BLIT star2.png CENTERED (179,-69)
+BLIT star2.png CENTERED (262,460)
+BLIT star1.png CENTERED (382,459)
+BLIT star0.png CENTERED (23,368)
+BLIT star1.png CENTERED (302,-55)
+BLIT star2.png CENTERED (117,182)
+BLIT star2.png CENTERED (575,300)
+BLIT star1.png CENTERED (120,251)
+BLIT star1.png CENTERED (405,285)
+BLIT star2.png CENTERED (25,210)
+BLIT star2.png CENTERED (547,183)
+BLIT star1.png CENTERED (464,423)
+BLIT star1.png CENTERED (560,313)
+BLIT star1.png CENTERED (578,70)
+BLIT star2.png CENTERED (482,70)
+BLIT star0.png CENTERED (271,78)
+BLIT star2.png CENTERED (608,168)
+BLIT star0.png CENTERED (137,-58)
+BLIT star1.png CENTERED (382,469)
+BLIT star2.png CENTERED (141,400)
+BLIT star1.png CENTERED (10,159)
+BLIT star2.png CENTERED (428,285)
+BLIT star0.png CENTERED (353,294)
+BLIT star1.png CENTERED (343,459)
+BLIT star2.png CENTERED (414,341)
+BLIT star1.png CENTERED (148,338)
+BLIT star2.png CENTERED (415,384)
+BLIT star1.png CENTERED (597,261)
+BLIT star2.png CENTERED (608,354)
+BLIT star0.png CENTERED (440,339)
+BLIT star2.png CENTERED (37,356)
+BLIT star2.png CENTERED (401,409)
+BLIT star0.png CENTERED (463,-92)
+BLIT star1.png CENTERED (93,-31)
+BLIT star2.png CENTERED (468,397)
+BLIT star0.png CENTERED (211,180)
+BLIT star1.png CENTERED (349,360)
+BLIT star0.png CENTERED (370,-157)
+BLIT star0.png CENTERED (321,439)
+BLIT star1.png CENTERED (605,331)
+BLIT star0.png CENTERED (517,-24)
+BLIT star1.png CENTERED (619,456)
+BLIT star2.png CENTERED (568,276)
+BLIT star0.png CENTERED (391,434)
+BLIT star2.png CENTERED (508,406)
+BLIT star1.png CENTERED (417,218)
+BLIT star2.png CENTERED (531,-9)
+BLIT star0.png CENTERED (367,105)
+BLIT star1.png CENTERED (280,-117)
+BLIT star1.png CENTERED (390,126)
+BLIT star1.png CENTERED (590,320)
+BLIT star1.png CENTERED (322,-74)
+BLIT star0.png CENTERED (195,-138)
+BLIT star1.png CENTERED (102,186)
+BLIT star1.png CENTERED (263,125)
+BLIT star1.png CENTERED (381,20)
+BLIT star1.png CENTERED (41,188)
+BLIT star2.png CENTERED (4,86)
+BLIT star0.png CENTERED (18,-85)
+BLIT star1.png CENTERED (193,8)
+BLIT star1.png CENTERED (285,183)
+BLIT star2.png CENTERED (246,65)
+BLIT star0.png CENTERED (322,238)
+BLIT star1.png CENTERED (247,277)
+BLIT star1.png CENTERED (265,343)
+BLIT star2.png CENTERED (628,-63)
+BLIT star2.png CENTERED (194,459)
+BLIT star1.png CENTERED (429,-104)
+BLIT star0.png CENTERED (564,444)
+BLIT star2.png CENTERED (586,221)
+BLIT money.png CENTERED (296,312)
+BLIT money.png CENTERED (296,294)
+BLIT money.png CENTERED (289,295)
+BLIT money.png CENTERED (300,291)
+BLIT money.png CENTERED (312,288)
+BLIT money.png CENTERED (302,301)
+BLIT money.png CENTERED (272,305)
+BLIT money.png CENTERED (278,276)
+BLIT money.png CENTERED (271,312)
+BLIT money.png CENTERED (306,302)
+BLIT money.png CENTERED (302,296)
+BLIT money.png CENTERED (292,312)
+BLIT money.png CENTERED (296,288)
+BLIT money.png CENTERED (292,282)
+BLIT money.png CENTERED (291,291)
+BLIT money.png CENTERED (288,295)
+BLIT money.png CENTERED (311,278)
+BLIT money.png CENTERED (322,278)
+BLIT money.png CENTERED (287,274)
+BLIT money.png CENTERED (317,307)
+BLIT money.png CENTERED (284,188)
+BLIT money.png CENTERED (287,157)
+BLIT money.png CENTERED (287,159)
+BLIT money.png CENTERED (287,263)
+BLIT money.png CENTERED (283,227)
+BLIT money.png CENTERED (278,243)
+BLIT money.png CENTERED (288,240)
+BLIT money.png CENTERED (281,256)
+BLIT money.png CENTERED (297,262)
+BLIT money.png CENTERED (286,233)
+BLIT money.png CENTERED (276,247)
+BLIT money.png CENTERED (276,242)
+BLIT money.png CENTERED (276,223)
+BLIT player_shoot.png CENTERED (240,23)
+BLIT player_shoot.png CENTERED (299,162)
+BLIT player_shoot.png CENTERED (266,342)
+BLIT enemy1.png CENTERED (269,53)
+BLIT enemy1.png CENTERED (177,46)
+BLIT player.png CENTERED (285,455)
 BLIT player_shoot.png (30,460)
 INPUT click 385.0 549.0
 read 13 click 318.0 545.0
 WAIT 13 for click 318.0 545.0
 CLEAR rgb(0.0;0.0;0.0)
-BLIT star1.png CENTERED (252,444)
-BLIT star0.png CENTERED (165,120)
-BLIT star1.png CENTERED (69,402)
-BLIT star0.png CENTERED (184,210)
-BLIT star2.png CENTERED (339,20)
-BLIT star2.png CENTERED (169,466)
-BLIT star2.png CENTERED (311,244)
-BLIT star0.png CENTERED (400,318)
-BLIT star2.png CENTERED (356,366)
-BLIT star1.png CENTERED (252,205)
-BLIT star1.png CENTERED (177,-28)
-BLIT star2.png CENTERED (548,-45)
-BLIT star2.png CENTERED (262,156)
-BLIT star0.png CENTERED (495,196)
-BLIT star0.png CENTERED (553,390)
-BLIT star1.png CENTERED (129,99)
-BLIT star2.png CENTERED (134,392)
-BLIT star1.png CENTERED (60,143)
-BLIT star2.png CENTERED (193,473)
-BLIT star0.png CENTERED (84,72)
-BLIT star2.png CENTERED (576,25)
-BLIT star1.png CENTERED (283,182)
-BLIT star1.png CENTERED (370,379)
-BLIT star2.png CENTERED (231,314)
-BLIT star1.png CENTERED (305,210)
-BLIT star1.png CENTERED (336,421)
-BLIT star0.png CENTERED (149,446)
-BLIT star1.png CENTERED (556,0)
-BLIT star2.png CENTERED (308,269)
-BLIT star2.png CENTERED (186,340)
-BLIT star2.png CENTERED (298,-50)
-BLIT star2.png CENTERED (23,277)
-BLIT star1.png CENTERED (473,-58)
-BLIT star1.png CENTERED (141,223)
-BLIT star2.png CENTERED (70,478)
-BLIT star1.png CENTERED (460,195)
-BLIT star1.png CENTERED (202,281)
-BLIT star0.png CENTERED (246,318)
-BLIT star1.png CENTERED (355,102)
-BLIT star2.png CENTERED (244,293)
-BLIT star1.png CENTERED (166,433)
-BLIT star1.png CENTERED (418,-149)
-BLIT star1.png CENTERED (446,281)
-BLIT star2.png CENTERED (3,417)
-BLIT star1.png CENTERED (395,422)
-BLIT star1.png CENTERED (256,317)
-BLIT star0.png CENTERED (513,387)
-BLIT star1.png CENTERED (21,170)
-BLIT star1.png CENTERED (120,440)
-BLIT star0.png CENTERED (363,40)
-BLIT star1.png CENTERED (195,261)
-BLIT star1.png CENTERED (548,175)
-BLIT star1.png CENTERED (448,-34)
-BLIT star2.png CENTERED (289,9)
-BLIT star2.png CENTERED (100,403)
-BLIT star1.png CENTERED (200,-99)
-BLIT star1.png CENTERED (234,-81)
-BLIT star2.png CENTERED (574,40)
-BLIT star2.png CENTERED (615,102)
-BLIT star1.png CENTERED (597,358)
-BLIT star1.png CENTERED (301,-42)
-BLIT star0.png CENTERED (15,-32)
-BLIT star2.png CENTERED (598,321)
-BLIT star2.png CENTERED (377,456)
-BLIT star1.png CENTERED (496,458)
-BLIT star0.png CENTERED (386,288)
-BLIT star0.png CENTERED (277,-24)
-BLIT star1.png CENTERED (425,326)
-BLIT star1.png CENTERED (382,427)
-BLIT star0.png CENTERED (94,321)
-BLIT star2.png CENTERED (448,410)
-BLIT star1.png CENTERED (329,164)
-BLIT star2.png CENTERED (326,181)
-BLIT star1.png CENTERED (246,412)
-BLIT star1.png CENTERED (92,271)
-BLIT star1.png CENTERED (260,151)
-BLIT star0.png CENTERED (398,-110)
-BLIT star2.png CENTERED (285,412)
-BLIT star1.png CENTERED (37,167)
-BLIT star0.png CENTERED (382,176)
-BLIT star1.png CENTERED (46,44)
-BLIT star2.png CENTERED (296,375)
-BLIT star0.png CENTERED (378,11)
-BLIT star1.png CENTERED (490,277)
-BLIT star2.png CENTERED (140,405)
-BLIT star1.png CENTERED (175,34)
-BLIT star2.png CENTERED (117,374)
-BLIT star1.png CENTERED (234,-24)
-BLIT star1.png CENTERED (596,68)
-BLIT star1.png CENTERED (257,390)
-BLIT star1.png CENTERED (398,201)
-BLIT star1.png CENTERED (206,-77)
-BLIT star2.png CENTERED (134,456)
-BLIT star0.png CENTERED (70,245)
-BLIT star1.png CENTERED (413,424)
-BLIT star1.png CENTERED (381,149)
-BLIT star0.png CENTERED (360,156)
-BLIT star2.png CENTERED (220,176)
-BLIT star2.png CENTERED (132,-74)
-BLIT star1.png CENTERED (597,185)
-BLIT player_shoot.png CENTERED (298,-25)
-BLIT player_shoot.png CENTERED (354,111)
-BLIT player_shoot.png CENTERED (307,287)
-BLIT player_shoot.png CENTERED (301,450)
-BLIT enemy_shoot.png CENTERED (655,-11)
-BLIT enemy_shoot.png CENTERED (655,271)
-BLIT enemy_shoot.png CENTERED (488,501)
-BLIT enemy_shoot.png CENTERED (-50,501)
-BLIT enemy_shoot.png CENTERED (218,-19)
-BLIT enemy_shoot.png CENTERED (368,29)
-BLIT enemy_shoot.png CENTERED (461,157)
-BLIT enemy_shoot.png CENTERED (461,315)
-BLIT enemy_shoot.png CENTERED (368,443)
-BLIT enemy_shoot.png CENTERED (218,492)
-BLIT enemy_shoot.png CENTERED (68,443)
-BLIT enemy_shoot.png CENTERED (-24,315)
-BLIT enemy_shoot.png CENTERED (-24,157)
-BLIT enemy_shoot.png CENTERED (68,29)
-BLIT enemy_shoot.png CENTERED (270,280)
-BLIT enemy_shoot.png CENTERED (265,269)
-BLIT enemy_shoot.png CENTERED (259,259)
-BLIT enemy_shoot.png CENTERED (253,249)
-BLIT enemy_shoot.png CENTERED (245,240)
-BLIT enemy_shoot.png CENTERED (218,290)
-BLIT enemy_shoot.png CENTERED (249,300)
-BLIT enemy_shoot.png CENTERED (268,326)
-BLIT enemy_shoot.png CENTERED (268,358)
-BLIT enemy_shoot.png CENTERED (249,384)
-BLIT enemy_shoot.png CENTERED (218,394)
-BLIT enemy_shoot.png CENTERED (188,384)
-BLIT enemy_shoot.png CENTERED (169,358)
-BLIT enemy_shoot.png CENTERED (169,326)
-BLIT enemy_shoot.png CENTERED (188,300)
-BLIT enemy_shoot.png CENTERED (236,230)
-BLIT enemy_shoot.png CENTERED (227,221)
-BLIT enemy_shoot.png CENTERED (218,212)
-BLIT enemy3.png CENTERED (218,346)
-BLIT enemy0.png CENTERED (259,189)
-BLIT enemy4.png CENTERED (218,212)
-BLIT enemy4_turret.png CENTERED (218.872,212.04) ROTATED 2.856
-BLIT enemy_kamikaze.png CENTERED (344.048,378.848) ROTATED -2.711
-BLIT player.png CENTERED (299,480)
+BLIT star1.png CENTERED (278,142)
+BLIT star1.png CENTERED (286,288)
+BLIT star0.png CENTERED (145,79)
+BLIT star1.png CENTERED (125,-97)
+BLIT star1.png CENTERED (184,19)
+BLIT star1.png CENTERED (377,255)
+BLIT star0.png CENTERED (199,-148)
+BLIT star2.png CENTERED (55,182)
+BLIT star1.png CENTERED (372,427)
+BLIT star1.png CENTERED (25,233)
+BLIT star1.png CENTERED (461,179)
+BLIT star0.png CENTERED (465,-7)
+BLIT star1.png CENTERED (140,-129)
+BLIT star1.png CENTERED (304,379)
+BLIT star1.png CENTERED (168,244)
+BLIT star1.png CENTERED (61,143)
+BLIT star1.png CENTERED (24,238)
+BLIT star1.png CENTERED (363,326)
+BLIT star0.png CENTERED (452,456)
+BLIT star1.png CENTERED (13,368)
+BLIT star0.png CENTERED (388,212)
+BLIT star1.png CENTERED (347,210)
+BLIT star2.png CENTERED (579,401)
+BLIT star1.png CENTERED (523,424)
+BLIT star1.png CENTERED (531,-95)
+BLIT star1.png CENTERED (63,-34)
+BLIT star0.png CENTERED (319,143)
+BLIT star1.png CENTERED (491,-71)
+BLIT star0.png CENTERED (313,341)
+BLIT star2.png CENTERED (118,205)
+BLIT star2.png CENTERED (179,-61)
+BLIT star2.png CENTERED (262,467)
+BLIT star1.png CENTERED (382,465)
+BLIT star0.png CENTERED (23,370)
+BLIT star1.png CENTERED (302,-49)
+BLIT star2.png CENTERED (117,190)
+BLIT star2.png CENTERED (575,308)
+BLIT star1.png CENTERED (120,255)
+BLIT star1.png CENTERED (405,289)
+BLIT star2.png CENTERED (25,218)
+BLIT star2.png CENTERED (547,191)
+BLIT star1.png CENTERED (464,430)
+BLIT star1.png CENTERED (560,319)
+BLIT star1.png CENTERED (578,76)
+BLIT star2.png CENTERED (482,76)
+BLIT star0.png CENTERED (271,81)
+BLIT star2.png CENTERED (608,176)
+BLIT star0.png CENTERED (137,-55)
+BLIT star1.png CENTERED (382,473)
+BLIT star2.png CENTERED (141,407)
+BLIT star1.png CENTERED (10,165)
+BLIT star2.png CENTERED (428,292)
+BLIT star0.png CENTERED (353,296)
+BLIT star1.png CENTERED (343,463)
+BLIT star2.png CENTERED (414,348)
+BLIT star1.png CENTERED (148,344)
+BLIT star2.png CENTERED (415,391)
+BLIT star1.png CENTERED (597,267)
+BLIT star2.png CENTERED (608,361)
+BLIT star0.png CENTERED (440,342)
+BLIT star2.png CENTERED (37,363)
+BLIT star2.png CENTERED (401,416)
+BLIT star0.png CENTERED (463,-89)
+BLIT star1.png CENTERED (93,-26)
+BLIT star2.png CENTERED (468,405)
+BLIT star0.png CENTERED (211,183)
+BLIT star1.png CENTERED (349,366)
+BLIT star0.png CENTERED (370,-155)
+BLIT star0.png CENTERED (321,441)
+BLIT star1.png CENTERED (605,334)
+BLIT star0.png CENTERED (517,-22)
+BLIT star1.png CENTERED (619,460)
+BLIT star2.png CENTERED (568,283)
+BLIT star0.png CENTERED (391,436)
+BLIT star2.png CENTERED (508,413)
+BLIT star1.png CENTERED (417,222)
+BLIT star2.png CENTERED (531,-1)
+BLIT star0.png CENTERED (367,108)
+BLIT star1.png CENTERED (280,-113)
+BLIT star1.png CENTERED (390,130)
+BLIT star1.png CENTERED (590,326)
+BLIT star1.png CENTERED (322,-69)
+BLIT star0.png CENTERED (195,-136)
+BLIT star1.png CENTERED (102,192)
+BLIT star1.png CENTERED (263,129)
+BLIT star1.png CENTERED (381,24)
+BLIT star1.png CENTERED (41,191)
+BLIT star2.png CENTERED (4,94)
+BLIT star0.png CENTERED (18,-83)
+BLIT star1.png CENTERED (193,13)
+BLIT star1.png CENTERED (285,188)
+BLIT star2.png CENTERED (246,73)
+BLIT star0.png CENTERED (322,241)
+BLIT star1.png CENTERED (247,281)
+BLIT star1.png CENTERED (265,347)
+BLIT star2.png CENTERED (628,-55)
+BLIT star2.png CENTERED (194,467)
+BLIT star1.png CENTERED (429,-100)
+BLIT star0.png CENTERED (564,446)
+BLIT star2.png CENTERED (586,229)
+BLIT money.png CENTERED (296,321)
+BLIT money.png CENTERED (296,302)
+BLIT money.png CENTERED (289,304)
+BLIT money.png CENTERED (300,299)
+BLIT money.png CENTERED (312,297)
+BLIT money.png CENTERED (302,309)
+BLIT money.png CENTERED (272,313)
+BLIT money.png CENTERED (278,284)
+BLIT money.png CENTERED (271,320)
+BLIT money.png CENTERED (306,310)
+BLIT money.png CENTERED (302,304)
+BLIT money.png CENTERED (292,320)
+BLIT money.png CENTERED (296,297)
+BLIT money.png CENTERED (292,290)
+BLIT money.png CENTERED (291,300)
+BLIT money.png CENTERED (288,303)
+BLIT money.png CENTERED (311,286)
+BLIT money.png CENTERED (322,286)
+BLIT money.png CENTERED (287,283)
+BLIT money.png CENTERED (317,316)
+BLIT money.png CENTERED (284,196)
+BLIT money.png CENTERED (287,165)
+BLIT money.png CENTERED (287,167)
+BLIT money.png CENTERED (287,272)
+BLIT money.png CENTERED (283,236)
+BLIT money.png CENTERED (278,251)
+BLIT money.png CENTERED (288,248)
+BLIT money.png CENTERED (281,264)
+BLIT money.png CENTERED (297,270)
+BLIT money.png CENTERED (286,242)
+BLIT money.png CENTERED (276,256)
+BLIT money.png CENTERED (276,250)
+BLIT money.png CENTERED (276,231)
+BLIT player_shoot.png CENTERED (240,-60)
+BLIT player_shoot.png CENTERED (299,78)
+BLIT player_shoot.png CENTERED (266,258)
+BLIT player_shoot.png CENTERED (289,450)
+BLIT enemy1.png CENTERED (266,92)
+BLIT enemy1.png CENTERED (179,82)
+BLIT player.png CENTERED (292,480)
 BLIT player_shoot.png (30,460)
 INPUT click 318.0 545.0
 read 8 click 329.0 555.0
 WAIT 8 for click 329.0 555.0
 CLEAR rgb(0.0;0.0;0.0)
-BLIT star1.png CENTERED (252,448)
-BLIT star0.png CENTERED (165,121)
-BLIT star1.png CENTERED (69,405)
-BLIT star0.png CENTERED (184,211)
-BLIT star2.png CENTERED (339,24)
-BLIT star2.png CENTERED (169,471)
-BLIT star2.png CENTERED (311,249)
-BLIT star0.png CENTERED (400,320)
-BLIT star2.png CENTERED (356,370)
-BLIT star1.png CENTERED (252,207)
-BLIT star1.png CENTERED (177,-25)
-BLIT star2.png CENTERED (548,-40)
-BLIT star2.png CENTERED (262,161)
-BLIT star0.png CENTERED (495,197)
-BLIT star0.png CENTERED (553,391)
-BLIT star1.png CENTERED (129,103)
-BLIT star2.png CENTERED (134,397)
-BLIT star1.png CENTERED (60,145)
-BLIT star2.png CENTERED (193,477)
-BLIT star0.png CENTERED (84,73)
-BLIT star2.png CENTERED (576,30)
-BLIT star1.png CENTERED (283,185)
-BLIT star1.png CENTERED (370,382)
-BLIT star2.png CENTERED (231,319)
-BLIT star1.png CENTERED (305,213)
-BLIT star1.png CENTERED (336,425)
-BLIT star0.png CENTERED (149,447)
-BLIT star1.png CENTERED (556,4)
-BLIT star2.png CENTERED (308,274)
-BLIT star2.png CENTERED (186,345)
-BLIT star2.png CENTERED (298,-46)
-BLIT star2.png CENTERED (23,282)
-BLIT star1.png CENTERED (473,-55)
-BLIT star1.png CENTERED (141,227)
-BLIT star1.png CENTERED (186,-87)
-BLIT star1.png CENTERED (460,198)
-BLIT star1.png CENTERED (202,283)
-BLIT star0.png CENTERED (246,319)
-BLIT star1.png CENTERED (355,105)
-BLIT star2.png CENTERED (244,297)
-BLIT star1.png CENTERED (166,436)
-BLIT star1.png CENTERED (418,-145)
-BLIT star1.png CENTERED (446,285)
-BLIT star2.png CENTERED (3,421)
-BLIT star1.png CENTERED (395,425)
-BLIT star1.png CENTERED (256,321)
-BLIT star0.png CENTERED (513,389)
-BLIT star1.png CENTERED (21,173)
-BLIT star1.png CENTERED (120,444)
-BLIT star0.png CENTERED (363,42)
-BLIT star1.png CENTERED (195,265)
-BLIT star1.png CENTERED (548,177)
-BLIT star1.png CENTERED (448,-31)
-BLIT star2.png CENTERED (289,14)
-BLIT star2.png CENTERED (100,407)
-BLIT star1.png CENTERED (200,-96)
-BLIT star1.png CENTERED (234,-77)
-BLIT star2.png CENTERED (574,45)
-BLIT star2.png CENTERED (615,107)
-BLIT star1.png CENTERED (597,361)
-BLIT star1.png CENTERED (301,-39)
-BLIT star0.png CENTERED (15,-30)
-BLIT star2.png CENTERED (598,325)
-BLIT star2.png CENTERED (377,460)
-BLIT star1.png CENTERED (496,460)
-BLIT star0.png CENTERED (386,290)
-BLIT star0.png CENTERED (277,-23)
-BLIT star1.png CENTERED (425,330)
-BLIT star1.png CENTERED (382,430)
-BLIT star0.png CENTERED (94,323)
-BLIT star2.png CENTERED (448,414)
-BLIT star1.png CENTERED (329,167)
-BLIT star2.png CENTERED (326,185)
-BLIT star1.png CENTERED (246,415)
-BLIT star1.png CENTERED (92,273)
-BLIT star1.png CENTERED (260,155)
-BLIT star0.png CENTERED (398,-109)
-BLIT star2.png CENTERED (285,417)
-BLIT star1.png CENTERED (37,171)
-BLIT star0.png CENTERED (382,178)
-BLIT star1.png CENTERED (46,47)
-BLIT star2.png CENTERED (296,380)
-BLIT star0.png CENTERED (378,12)
-BLIT star1.png CENTERED (490,280)
-BLIT star2.png CENTERED (140,410)
-BLIT star1.png CENTERED (175,36)
-BLIT star2.png CENTERED (117,378)
-BLIT star1.png CENTERED (234,-21)
-BLIT star1.png CENTERED (596,70)
-BLIT star1.png CENTERED (257,393)
-BLIT star1.png CENTERED (398,204)
-BLIT star1.png CENTERED (206,-73)
-BLIT star2.png CENTERED (134,461)
-BLIT star0.png CENTERED (70,247)
-BLIT star1.png CENTERED (413,427)
-BLIT star1.png CENTERED (381,152)
-BLIT star0.png CENTERED (360,157)
-BLIT star2.png CENTERED (220,181)
-BLIT star2.png CENTERED (132,-68)
-BLIT star1.png CENTERED (597,188)
-BLIT player_shoot.png CENTERED (298,-77)
-BLIT player_shoot.png CENTERED (354,59)
-BLIT player_shoot.png CENTERED (307,235)
-BLIT player_shoot.png CENTERED (301,398)
-BLIT enemy_shoot.png CENTERED (705,-28)
-BLIT enemy_shoot.png CENTERED (705,287)
-BLIT enemy_shoot.png CENTERED (518,543)
-BLIT enemy_shoot.png CENTERED (218,-71)
-BLIT enemy_shoot.png CENTERED (399,-12)
-BLIT enemy_shoot.png CENTERED (511,141)
-BLIT enemy_shoot.png CENTERED (511,331)
-BLIT enemy_shoot.png CENTERED (399,485)
-BLIT enemy_shoot.png CENTERED (218,544)
-BLIT enemy_shoot.png CENTERED (38,485)
-BLIT enemy_shoot.png CENTERED (-74,331)
-BLIT enemy_shoot.png CENTERED (-74,141)
-BLIT enemy_shoot.png CENTERED (38,-12)
-BLIT enemy_shoot.png CENTERED (282,331)
-BLIT enemy_shoot.png CENTERED (277,320)
-BLIT enemy_shoot.png CENTERED (272,310)
-BLIT enemy_shoot.png CENTERED (266,299)
-BLIT enemy_shoot.png CENTERED (260,290)
-BLIT enemy_shoot.png CENTERED (218,238)
-BLIT enemy_shoot.png CENTERED (279,258)
-BLIT enemy_shoot.png CENTERED (317,310)
-BLIT enemy_shoot.png CENTERED (317,374)
-BLIT enemy_shoot.png CENTERED (279,426)
-BLIT enemy_shoot.png CENTERED (218,446)
-BLIT enemy_shoot.png CENTERED (157,426)
-BLIT enemy_shoot.png CENTERED (119,374)
-BLIT enemy_shoot.png CENTERED (119,310)
-BLIT enemy_shoot.png CENTERED (157,258)
-BLIT enemy_shoot.png CENTERED (251,280)
-BLIT enemy_shoot.png CENTERED (242,271)
-BLIT enemy_shoot.png CENTERED (233,261)
-BLIT enemy_shoot.png CENTERED (226,252)
-BLIT enemy_shoot.png CENTERED (215,243)
-BLIT enemy3.png CENTERED (218,373)
-BLIT enemy0.png CENTERED (264,212)
-BLIT enemy4.png CENTERED (213,241)
-BLIT enemy4_turret.png CENTERED (213.88,241.68) ROTATED 2.688
-BLIT enemy_kamikaze.png CENTERED (328.384,438.656) ROTATED 3.1
-BLIT enemy2.png CENTERED (307,19)
-BLIT player.png CENTERED (329,480)
+BLIT star1.png CENTERED (278,144)
+BLIT star1.png CENTERED (286,292)
+BLIT star0.png CENTERED (145,80)
+BLIT star1.png CENTERED (125,-94)
+BLIT star1.png CENTERED (184,23)
+BLIT star1.png CENTERED (377,259)
+BLIT star0.png CENTERED (199,-146)
+BLIT star2.png CENTERED (55,186)
+BLIT star1.png CENTERED (372,430)
+BLIT star1.png CENTERED (25,236)
+BLIT star1.png CENTERED (461,183)
+BLIT star0.png CENTERED (465,-5)
+BLIT star1.png CENTERED (140,-125)
+BLIT star1.png CENTERED (304,382)
+BLIT star1.png CENTERED (168,247)
+BLIT star1.png CENTERED (61,147)
+BLIT star1.png CENTERED (24,241)
+BLIT star1.png CENTERED (363,329)
+BLIT star0.png CENTERED (452,457)
+BLIT star1.png CENTERED (13,371)
+BLIT star0.png CENTERED (388,214)
+BLIT star1.png CENTERED (347,214)
+BLIT star2.png CENTERED (579,406)
+BLIT star1.png CENTERED (523,428)
+BLIT star1.png CENTERED (531,-93)
+BLIT star1.png CENTERED (63,-31)
+BLIT star0.png CENTERED (319,144)
+BLIT star1.png CENTERED (491,-69)
+BLIT star0.png CENTERED (313,343)
+BLIT star2.png CENTERED (118,209)
+BLIT star2.png CENTERED (179,-57)
+BLIT star2.png CENTERED (262,471)
+BLIT star1.png CENTERED (382,469)
+BLIT star0.png CENTERED (23,372)
+BLIT star1.png CENTERED (302,-45)
+BLIT star2.png CENTERED (117,195)
+BLIT star2.png CENTERED (575,313)
+BLIT star1.png CENTERED (120,257)
+BLIT star1.png CENTERED (405,292)
+BLIT star2.png CENTERED (25,223)
+BLIT star2.png CENTERED (547,195)
+BLIT star1.png CENTERED (464,434)
+BLIT star1.png CENTERED (560,323)
+BLIT star1.png CENTERED (578,80)
+BLIT star2.png CENTERED (482,81)
+BLIT star0.png CENTERED (271,83)
+BLIT star2.png CENTERED (608,181)
+BLIT star0.png CENTERED (137,-53)
+BLIT star1.png CENTERED (382,476)
+BLIT star2.png CENTERED (141,412)
+BLIT star1.png CENTERED (10,169)
+BLIT star2.png CENTERED (428,297)
+BLIT star0.png CENTERED (353,298)
+BLIT star1.png CENTERED (343,465)
+BLIT star2.png CENTERED (414,352)
+BLIT star1.png CENTERED (148,348)
+BLIT star2.png CENTERED (415,395)
+BLIT star1.png CENTERED (597,271)
+BLIT star2.png CENTERED (608,366)
+BLIT star0.png CENTERED (440,344)
+BLIT star2.png CENTERED (37,367)
+BLIT star2.png CENTERED (401,421)
+BLIT star0.png CENTERED (463,-88)
+BLIT star1.png CENTERED (93,-22)
+BLIT star2.png CENTERED (468,410)
+BLIT star0.png CENTERED (211,185)
+BLIT star1.png CENTERED (349,370)
+BLIT star0.png CENTERED (370,-154)
+BLIT star0.png CENTERED (321,443)
+BLIT star1.png CENTERED (605,337)
+BLIT star0.png CENTERED (517,-21)
+BLIT star1.png CENTERED (619,463)
+BLIT star2.png CENTERED (568,288)
+BLIT star0.png CENTERED (391,437)
+BLIT star2.png CENTERED (508,417)
+BLIT star1.png CENTERED (417,225)
+BLIT star2.png CENTERED (531,3)
+BLIT star0.png CENTERED (367,109)
+BLIT star1.png CENTERED (280,-111)
+BLIT star1.png CENTERED (390,133)
+BLIT star1.png CENTERED (590,330)
+BLIT star1.png CENTERED (322,-66)
+BLIT star0.png CENTERED (195,-134)
+BLIT star1.png CENTERED (102,195)
+BLIT star1.png CENTERED (263,132)
+BLIT star1.png CENTERED (381,26)
+BLIT star1.png CENTERED (41,193)
+BLIT star2.png CENTERED (4,99)
+BLIT star0.png CENTERED (18,-82)
+BLIT star1.png CENTERED (193,15)
+BLIT star1.png CENTERED (285,191)
+BLIT star2.png CENTERED (246,78)
+BLIT star0.png CENTERED (322,243)
+BLIT star1.png CENTERED (247,283)
+BLIT star1.png CENTERED (265,350)
+BLIT star2.png CENTERED (628,-50)
+BLIT star2.png CENTERED (194,472)
+BLIT star1.png CENTERED (429,-97)
+BLIT star0.png CENTERED (564,447)
+BLIT star2.png CENTERED (586,234)
+BLIT money.png CENTERED (296,326)
+BLIT money.png CENTERED (296,307)
+BLIT money.png CENTERED (289,309)
+BLIT money.png CENTERED (300,304)
+BLIT money.png CENTERED (312,302)
+BLIT money.png CENTERED (302,314)
+BLIT money.png CENTERED (272,318)
+BLIT money.png CENTERED (278,289)
+BLIT money.png CENTERED (271,326)
+BLIT money.png CENTERED (306,316)
+BLIT money.png CENTERED (302,310)
+BLIT money.png CENTERED (292,326)
+BLIT money.png CENTERED (296,302)
+BLIT money.png CENTERED (292,295)
+BLIT money.png CENTERED (291,305)
+BLIT money.png CENTERED (288,308)
+BLIT money.png CENTERED (311,291)
+BLIT money.png CENTERED (322,291)
+BLIT money.png CENTERED (287,288)
+BLIT money.png CENTERED (317,321)
+BLIT money.png CENTERED (284,201)
+BLIT money.png CENTERED (287,171)
+BLIT money.png CENTERED (287,173)
+BLIT money.png CENTERED (287,277)
+BLIT money.png CENTERED (283,241)
+BLIT money.png CENTERED (278,257)
+BLIT money.png CENTERED (288,253)
+BLIT money.png CENTERED (281,270)
+BLIT money.png CENTERED (297,275)
+BLIT money.png CENTERED (286,247)
+BLIT money.png CENTERED (276,261)
+BLIT money.png CENTERED (276,256)
+BLIT money.png CENTERED (276,236)
+BLIT player_shoot.png CENTERED (299,26)
+BLIT player_shoot.png CENTERED (266,206)
+BLIT player_shoot.png CENTERED (289,398)
+BLIT enemy_shoot.png CENTERED (257,159)
+BLIT enemy_shoot.png CENTERED (275,159)
+BLIT enemy_shoot.png CENTERED (170,144)
+BLIT enemy_shoot.png CENTERED (188,144)
+BLIT enemy1.png CENTERED (265,115)
+BLIT enemy1.png CENTERED (180,104)
+BLIT player.png CENTERED (323,480)
 BLIT player_shoot.png (30,460)
 INPUT click 329.0 555.0
 read 106 quit
 WAIT 106 for quit
 CLEAR rgb(0.0;0.0;0.0)
-BLIT star1.png CENTERED (252,450)
-BLIT star0.png CENTERED (165,122)
-BLIT star1.png CENTERED (69,406)
-BLIT star0.png CENTERED (184,212)
-BLIT star2.png CENTERED (339,27)
-BLIT star2.png CENTERED (169,473)
-BLIT star2.png CENTERED (311,252)
-BLIT star0.png CENTERED (400,321)
-BLIT star2.png CENTERED (356,373)
-BLIT star1.png CENTERED (252,209)
-BLIT star1.png CENTERED (177,-23)
-BLIT star2.png CENTERED (548,-37)
-BLIT star2.png CENTERED (262,163)
-BLIT star0.png CENTERED (495,198)
-BLIT star0.png CENTERED (553,392)
-BLIT star1.png CENTERED (129,105)
-BLIT star2.png CENTERED (134,400)
-BLIT star1.png CENTERED (60,147)
-BLIT star1.png CENTERED (478,-24)
-BLIT star0.png CENTERED (84,74)
-BLIT star2.png CENTERED (576,32)
-BLIT star1.png CENTERED (283,187)
-BLIT star1.png CENTERED (370,384)
-BLIT star2.png CENTERED (231,322)
-BLIT star1.png CENTERED (305,215)
-BLIT star1.png CENTERED (336,427)
-BLIT star0.png CENTERED (149,448)
-BLIT star1.png CENTERED (556,6)
-BLIT star2.png CENTERED (308,277)
-BLIT star2.png CENTERED (186,348)
-BLIT star2.png CENTERED (298,-43)
-BLIT star2.png CENTERED (23,284)
-BLIT star1.png CENTERED (473,-53)
-BLIT star1.png CENTERED (141,229)
-BLIT star1.png CENTERED (186,-86)
-BLIT star1.png CENTERED (460,199)
-BLIT star1.png CENTERED (202,285)
-BLIT star0.png CENTERED (246,321)
-BLIT star1.png CENTERED (355,106)
-BLIT star2.png CENTERED (244,300)
-BLIT star1.png CENTERED (166,438)
-BLIT star1.png CENTERED (418,-143)
-BLIT star1.png CENTERED (446,287)
-BLIT star2.png CENTERED (3,424)
-BLIT star1.png CENTERED (395,427)
-BLIT star1.png CENTERED (256,323)
-BLIT star0.png CENTERED (513,390)
-BLIT star1.png CENTERED (21,176)
-BLIT star1.png CENTERED (120,446)
-BLIT star0.png CENTERED (363,42)
-BLIT star1.png CENTERED (195,267)
-BLIT star1.png CENTERED (548,179)
-BLIT star1.png CENTERED (448,-29)
-BLIT star2.png CENTERED (289,16)
-BLIT star2.png CENTERED (100,410)
-BLIT star1.png CENTERED (200,-94)
-BLIT star1.png CENTERED (234,-75)
-BLIT star2.png CENTERED (574,48)
-BLIT star2.png CENTERED (615,110)
-BLIT star1.png CENTERED (597,364)
-BLIT star1.png CENTERED (301,-38)
-BLIT star0.png CENTERED (15,-29)
-BLIT star2.png CENTERED (598,328)
-BLIT star2.png CENTERED (377,463)
-BLIT star1.png CENTERED (496,462)
-BLIT star0.png CENTERED (386,291)
-BLIT star0.png CENTERED (277,-22)
-BLIT star1.png CENTERED (425,332)
-BLIT star1.png CENTERED (382,432)
-BLIT star0.png CENTERED (94,324)
-BLIT star2.png CENTERED (448,417)
-BLIT star1.png CENTERED (329,169)
-BLIT star2.png CENTERED (326,188)
-BLIT star1.png CENTERED (246,417)
-BLIT star1.png CENTERED (92,275)
-BLIT star1.png CENTERED (260,158)
-BLIT star0.png CENTERED (398,-108)
-BLIT star2.png CENTERED (285,421)
-BLIT star1.png CENTERED (37,173)
-BLIT star0.png CENTERED (382,179)
-BLIT star1.png CENTERED (46,49)
-BLIT star2.png CENTERED (296,383)
-BLIT star0.png CENTERED (378,13)
-BLIT star1.png CENTERED (490,282)
-BLIT star2.png CENTERED (140,413)
-BLIT star1.png CENTERED (175,38)
-BLIT star2.png CENTERED (117,381)
-BLIT star1.png CENTERED (234,-20)
-BLIT star1.png CENTERED (596,72)
-BLIT star1.png CENTERED (257,395)
-BLIT star1.png CENTERED (398,206)
-BLIT star1.png CENTERED (206,-71)
-BLIT star2.png CENTERED (134,463)
-BLIT star0.png CENTERED (70,248)
-BLIT star1.png CENTERED (413,430)
-BLIT star1.png CENTERED (381,154)
-BLIT star0.png CENTERED (360,158)
-BLIT star2.png CENTERED (220,184)
-BLIT star2.png CENTERED (132,-65)
-BLIT star1.png CENTERED (597,190)
-BLIT explosion.png CENTERED (325,482)
-BLIT explosion.png CENTERED (317,479)
-BLIT explosion.png CENTERED (334,488)
-BLIT explosion.png CENTERED (323,479)
-BLIT explosion.png CENTERED (326,475)
-BLIT explosion.png CENTERED (326,480)
-BLIT explosion.png CENTERED (330,479)
-BLIT explosion.png CENTERED (327,481)
-BLIT explosion.png CENTERED (328,489)
-BLIT explosion.png CENTERED (332,481)
-BLIT explosion.png CENTERED (328,459)
-BLIT explosion.png CENTERED (324,462)
-BLIT explosion.png CENTERED (328,458)
-BLIT explosion.png CENTERED (329,459)
-BLIT explosion.png CENTERED (328,459)
-BLIT money.png CENTERED (328,456)
-BLIT money.png CENTERED (326,459)
-BLIT money.png CENTERED (324,469)
-BLIT money.png CENTERED (332,466)
-BLIT money.png CENTERED (333,470)
-BLIT player_shoot.png CENTERED (354,27)
-BLIT player_shoot.png CENTERED (307,203)
-BLIT player_shoot.png CENTERED (301,366)
-BLIT enemy_shoot.png CENTERED (417,-38)
-BLIT enemy_shoot.png CENTERED (541,131)
-BLIT enemy_shoot.png CENTERED (541,340)
-BLIT enemy_shoot.png CENTERED (417,510)
-BLIT enemy_shoot.png CENTERED (19,510)
-BLIT enemy_shoot.png CENTERED (19,-38)
-BLIT enemy_shoot.png CENTERED (288,362)
-BLIT enemy_shoot.png CENTERED (285,351)
-BLIT enemy_shoot.png CENTERED (280,341)
-BLIT enemy_shoot.png CENTERED (275,330)
-BLIT enemy_shoot.png CENTERED (268,320)
-BLIT enemy_shoot.png CENTERED (218,206)
-BLIT enemy_shoot.png CENTERED (298,232)
-BLIT enemy_shoot.png CENTERED (347,300)
-BLIT enemy_shoot.png CENTERED (347,384)
-BLIT enemy_shoot.png CENTERED (298,452)
-BLIT enemy_shoot.png CENTERED (218,478)
-BLIT enemy_shoot.png CENTERED (138,452)
-BLIT enemy_shoot.png CENTERED (89,384)
-BLIT enemy_shoot.png CENTERED (89,300)
-BLIT enemy_shoot.png CENTERED (138,232)
-BLIT enemy_shoot.png CENTERED (259,311)
-BLIT enemy_shoot.png CENTERED (251,302)
-BLIT enemy_shoot.png CENTERED (242,292)
-BLIT enemy_shoot.png CENTERED (236,282)
-BLIT enemy_shoot.png CENTERED (229,272)
-BLIT enemy_shoot.png CENTERED (217,263)
-BLIT enemy3.png CENTERED (218,390)
-BLIT enemy0.png CENTERED (267,226)
-BLIT enemy4.png CENTERED (210,259)
-BLIT enemy4_turret.png CENTERED (210.808,259.92) ROTATED 2.675
-BLIT enemy2.png CENTERED (307,32)
+BLIT star1.png CENTERED (278,146)
+BLIT star1.png CENTERED (286,294)
+BLIT star0.png CENTERED (145,82)
+BLIT star1.png CENTERED (125,-92)
+BLIT star1.png CENTERED (184,25)
+BLIT star1.png CENTERED (377,261)
+BLIT star0.png CENTERED (199,-145)
+BLIT star2.png CENTERED (55,189)
+BLIT star1.png CENTERED (372,431)
+BLIT star1.png CENTERED (25,238)
+BLIT star1.png CENTERED (461,185)
+BLIT star0.png CENTERED (465,-4)
+BLIT star1.png CENTERED (140,-123)
+BLIT star1.png CENTERED (304,384)
+BLIT star1.png CENTERED (168,249)
+BLIT star1.png CENTERED (61,149)
+BLIT star1.png CENTERED (24,243)
+BLIT star1.png CENTERED (363,331)
+BLIT star0.png CENTERED (452,458)
+BLIT star1.png CENTERED (13,373)
+BLIT star0.png CENTERED (388,215)
+BLIT star1.png CENTERED (347,216)
+BLIT star2.png CENTERED (579,409)
+BLIT star1.png CENTERED (523,430)
+BLIT star1.png CENTERED (531,-91)
+BLIT star1.png CENTERED (63,-30)
+BLIT star0.png CENTERED (319,145)
+BLIT star1.png CENTERED (491,-67)
+BLIT star0.png CENTERED (313,344)
+BLIT star2.png CENTERED (118,212)
+BLIT star2.png CENTERED (179,-54)
+BLIT star2.png CENTERED (262,474)
+BLIT star1.png CENTERED (382,471)
+BLIT star0.png CENTERED (23,372)
+BLIT star1.png CENTERED (302,-42)
+BLIT star2.png CENTERED (117,198)
+BLIT star2.png CENTERED (575,316)
+BLIT star1.png CENTERED (120,258)
+BLIT star1.png CENTERED (405,293)
+BLIT star2.png CENTERED (25,227)
+BLIT star2.png CENTERED (547,198)
+BLIT star1.png CENTERED (464,436)
+BLIT star1.png CENTERED (560,326)
+BLIT star1.png CENTERED (578,83)
+BLIT star2.png CENTERED (482,83)
+BLIT star0.png CENTERED (271,85)
+BLIT star2.png CENTERED (608,184)
+BLIT star0.png CENTERED (137,-52)
+BLIT star1.png CENTERED (382,477)
+BLIT star2.png CENTERED (141,414)
+BLIT star1.png CENTERED (10,171)
+BLIT star2.png CENTERED (428,300)
+BLIT star0.png CENTERED (353,299)
+BLIT star1.png CENTERED (343,466)
+BLIT star2.png CENTERED (414,355)
+BLIT star1.png CENTERED (148,350)
+BLIT star2.png CENTERED (415,398)
+BLIT star1.png CENTERED (597,273)
+BLIT star2.png CENTERED (608,368)
+BLIT star0.png CENTERED (440,345)
+BLIT star2.png CENTERED (37,370)
+BLIT star2.png CENTERED (401,423)
+BLIT star0.png CENTERED (463,-87)
+BLIT star1.png CENTERED (93,-20)
+BLIT star2.png CENTERED (468,413)
+BLIT star0.png CENTERED (211,187)
+BLIT star1.png CENTERED (349,372)
+BLIT star0.png CENTERED (370,-154)
+BLIT star0.png CENTERED (321,443)
+BLIT star1.png CENTERED (605,338)
+BLIT star0.png CENTERED (517,-20)
+BLIT star1.png CENTERED (619,465)
+BLIT star2.png CENTERED (568,291)
+BLIT star0.png CENTERED (391,438)
+BLIT star2.png CENTERED (508,420)
+BLIT star1.png CENTERED (417,226)
+BLIT star2.png CENTERED (531,6)
+BLIT star0.png CENTERED (367,110)
+BLIT star1.png CENTERED (280,-109)
+BLIT star1.png CENTERED (390,134)
+BLIT star1.png CENTERED (590,333)
+BLIT star1.png CENTERED (322,-64)
+BLIT star0.png CENTERED (195,-133)
+BLIT star1.png CENTERED (102,197)
+BLIT star1.png CENTERED (263,133)
+BLIT star1.png CENTERED (381,28)
+BLIT star1.png CENTERED (41,195)
+BLIT star2.png CENTERED (4,102)
+BLIT star0.png CENTERED (18,-81)
+BLIT star1.png CENTERED (193,17)
+BLIT star1.png CENTERED (285,193)
+BLIT star2.png CENTERED (246,81)
+BLIT star0.png CENTERED (322,244)
+BLIT star1.png CENTERED (247,284)
+BLIT star1.png CENTERED (265,351)
+BLIT star2.png CENTERED (628,-46)
+BLIT star2.png CENTERED (194,475)
+BLIT star1.png CENTERED (429,-95)
+BLIT star0.png CENTERED (564,448)
+BLIT star2.png CENTERED (586,237)
+BLIT money.png CENTERED (296,329)
+BLIT money.png CENTERED (296,310)
+BLIT money.png CENTERED (289,312)
+BLIT money.png CENTERED (300,308)
+BLIT money.png CENTERED (312,305)
+BLIT money.png CENTERED (302,317)
+BLIT money.png CENTERED (272,321)
+BLIT money.png CENTERED (278,293)
+BLIT money.png CENTERED (271,329)
+BLIT money.png CENTERED (306,319)
+BLIT money.png CENTERED (302,313)
+BLIT money.png CENTERED (292,329)
+BLIT money.png CENTERED (296,305)
+BLIT money.png CENTERED (292,299)
+BLIT money.png CENTERED (291,308)
+BLIT money.png CENTERED (288,312)
+BLIT money.png CENTERED (311,294)
+BLIT money.png CENTERED (322,294)
+BLIT money.png CENTERED (287,291)
+BLIT money.png CENTERED (317,324)
+BLIT money.png CENTERED (284,205)
+BLIT money.png CENTERED (287,174)
+BLIT money.png CENTERED (287,176)
+BLIT money.png CENTERED (287,280)
+BLIT money.png CENTERED (283,244)
+BLIT money.png CENTERED (278,260)
+BLIT money.png CENTERED (288,256)
+BLIT money.png CENTERED (281,273)
+BLIT money.png CENTERED (297,279)
+BLIT money.png CENTERED (286,250)
+BLIT money.png CENTERED (276,264)
+BLIT money.png CENTERED (276,259)
+BLIT money.png CENTERED (276,240)
+BLIT player_shoot.png CENTERED (299,-6)
+BLIT player_shoot.png CENTERED (266,174)
+BLIT player_shoot.png CENTERED (289,366)
+BLIT enemy_shoot.png CENTERED (257,191)
+BLIT enemy_shoot.png CENTERED (275,191)
+BLIT enemy_shoot.png CENTERED (170,176)
+BLIT enemy_shoot.png CENTERED (188,176)
+BLIT enemy1.png CENTERED (264,130)
+BLIT enemy1.png CENTERED (181,118)
+BLIT enemy1.png CENTERED (205,0)
+BLIT player.png CENTERED (321,480)
 BLIT player_shoot.png (30,460)
 INPUT quit
 END OF INPUTS
 CLEAR rgb(0.0;0.0;0.0)
-BLIT star1.png CENTERED (306,-2)
-BLIT star0.png CENTERED (165,133)
-BLIT star1.png CENTERED (69,427)
-BLIT star0.png CENTERED (184,224)
-BLIT star2.png CENTERED (339,64)
-BLIT star1.png CENTERED (427,-124)
-BLIT star2.png CENTERED (311,291)
-BLIT star0.png CENTERED (400,337)
-BLIT star2.png CENTERED (356,410)
-BLIT star1.png CENTERED (252,229)
-BLIT star1.png CENTERED (177,0)
-BLIT star2.png CENTERED (548,1)
-BLIT star2.png CENTERED (262,199)
-BLIT star0.png CENTERED (495,211)
-BLIT star0.png CENTERED (553,402)
-BLIT star1.png CENTERED (129,136)
-BLIT star2.png CENTERED (134,438)
-BLIT star1.png CENTERED (60,169)
-BLIT star1.png CENTERED (478,-4)
-BLIT star0.png CENTERED (84,85)
-BLIT star2.png CENTERED (576,71)
-BLIT star1.png CENTERED (283,216)
-BLIT star1.png CENTERED (370,413)
-BLIT star2.png CENTERED (231,361)
-BLIT star1.png CENTERED (305,245)
-BLIT star1.png CENTERED (336,456)
-BLIT star0.png CENTERED (149,459)
-BLIT star1.png CENTERED (556,36)
-BLIT star2.png CENTERED (308,314)
-BLIT star2.png CENTERED (186,387)
-BLIT star2.png CENTERED (298,-6)
-BLIT star2.png CENTERED (23,320)
-BLIT star1.png CENTERED (473,-28)
-BLIT star1.png CENTERED (141,259)
-BLIT star1.png CENTERED (186,-69)
-BLIT star1.png CENTERED (460,222)
-BLIT star1.png CENTERED (202,302)
-BLIT star0.png CENTERED (246,335)
-BLIT star1.png CENTERED (355,128)
-BLIT star2.png CENTERED (244,334)
-BLIT star1.png CENTERED (166,466)
-BLIT star1.png CENTERED (418,-112)
-BLIT star1.png CENTERED (446,318)
-BLIT star2.png CENTERED (3,462)
-BLIT star1.png CENTERED (395,453)
-BLIT star1.png CENTERED (256,356)
-BLIT star0.png CENTERED (513,405)
-BLIT star1.png CENTERED (21,208)
-BLIT star1.png CENTERED (120,479)
-BLIT star0.png CENTERED (363,52)
-BLIT star1.png CENTERED (195,299)
-BLIT star1.png CENTERED (548,199)
-BLIT star1.png CENTERED (448,-2)
-BLIT star2.png CENTERED (289,55)
-BLIT star2.png CENTERED (100,447)
-BLIT star1.png CENTERED (200,-72)
-BLIT star1.png CENTERED (234,-45)
-BLIT star2.png CENTERED (574,87)
-BLIT star2.png CENTERED (615,148)
-BLIT star1.png CENTERED (597,392)
-BLIT star1.png CENTERED (301,-19)
-BLIT star0.png CENTERED (15,-16)
-BLIT star2.png CENTERED (598,366)
-BLIT star1.png CENTERED (163,-122)
-BLIT star1.png CENTERED (496,480)
-BLIT star0.png CENTERED (386,305)
-BLIT star0.png CENTERED (277,-13)
-BLIT star1.png CENTERED (425,362)
-BLIT star1.png CENTERED (382,459)
-BLIT star0.png CENTERED (94,334)
-BLIT star2.png CENTERED (448,454)
-BLIT star1.png CENTERED (329,194)
-BLIT star2.png CENTERED (326,224)
-BLIT star1.png CENTERED (246,442)
-BLIT star1.png CENTERED (92,292)
-BLIT star1.png CENTERED (260,191)
-BLIT star0.png CENTERED (398,-97)
-BLIT star2.png CENTERED (285,463)
-BLIT star1.png CENTERED (37,204)
-BLIT star0.png CENTERED (382,195)
-BLIT star1.png CENTERED (46,76)
-BLIT star2.png CENTERED (296,421)
-BLIT star0.png CENTERED (378,24)
-BLIT star1.png CENTERED (490,310)
-BLIT star2.png CENTERED (140,454)
-BLIT star1.png CENTERED (175,55)
-BLIT star2.png CENTERED (117,416)
-BLIT star1.png CENTERED (234,1)
-BLIT star1.png CENTERED (596,92)
-BLIT star1.png CENTERED (257,423)
-BLIT star1.png CENTERED (398,232)
-BLIT star1.png CENTERED (206,-40)
-BLIT star1.png CENTERED (23,-110)
-BLIT star0.png CENTERED (70,263)
-BLIT star1.png CENTERED (413,462)
-BLIT star1.png CENTERED (381,182)
-BLIT star0.png CENTERED (360,168)
-BLIT star2.png CENTERED (220,224)
-BLIT star2.png CENTERED (132,-23)
-BLIT star1.png CENTERED (597,214)
-BLIT money.png CENTERED (320,524)
-BLIT money.png CENTERED (338,527)
-BLIT money.png CENTERED (317,108)
-BLIT money.png CENTERED (290,108)
-BLIT money.png CENTERED (327,106)
-BLIT money.png CENTERED (328,100)
-BLIT money.png CENTERED (307,83)
-BLIT money.png CENTERED (305,118)
-BLIT money.png CENTERED (307,109)
-BLIT money.png CENTERED (328,87)
-BLIT money.png CENTERED (313,127)
-BLIT money.png CENTERED (291,106)
-BLIT player_shoot.png CENTERED (301,-57)
-BLIT player_shoot.png CENTERED (321,215)
-BLIT player_shoot.png CENTERED (327,390)
-BLIT enemy_shoot.png CENTERED (218,93)
-BLIT enemy_shoot.png CENTERED (427,161)
-BLIT enemy_shoot.png CENTERED (556,558)
-BLIT enemy_shoot.png CENTERED (9,161)
-BLIT enemy_shoot.png CENTERED (218,403)
-BLIT enemy_shoot.png CENTERED (307,432)
-BLIT enemy_shoot.png CENTERED (363,508)
-BLIT enemy_shoot.png CENTERED (74,508)
-BLIT enemy_shoot.png CENTERED (129,432)
-BLIT enemy_shoot.png CENTERED (287,470)
-BLIT enemy_shoot.png CENTERED (264,469)
-BLIT enemy_shoot.png CENTERED (239,472)
-BLIT enemy_shoot.png CENTERED (213,479)
-BLIT enemy_shoot.png CENTERED (187,491)
-BLIT enemy0.png CENTERED (308,417)
-BLIT enemy4.png CENTERED (170,501)
-BLIT enemy4_turret.png CENTERED (170.104,501.6) ROTATED 1.437
-BLIT player.png CENTERED (331,480)
-BLIT money.png (10,470)
-BLIT money.png (10,469)
-BLIT money.png (10,468)
+BLIT star1.png CENTERED (278,166)
+BLIT star1.png CENTERED (286,321)
+BLIT star0.png CENTERED (145,98)
+BLIT star1.png CENTERED (125,-67)
+BLIT star1.png CENTERED (184,53)
+BLIT star1.png CENTERED (377,293)
+BLIT star0.png CENTERED (199,-132)
+BLIT star2.png CENTERED (55,224)
+BLIT star1.png CENTERED (372,455)
+BLIT star1.png CENTERED (25,263)
+BLIT star1.png CENTERED (461,212)
+BLIT star0.png CENTERED (465,9)
+BLIT star1.png CENTERED (140,-94)
+BLIT star1.png CENTERED (304,408)
+BLIT star1.png CENTERED (168,276)
+BLIT star1.png CENTERED (61,180)
+BLIT star1.png CENTERED (24,267)
+BLIT star1.png CENTERED (363,356)
+BLIT star0.png CENTERED (452,467)
+BLIT star1.png CENTERED (13,399)
+BLIT star0.png CENTERED (388,230)
+BLIT star1.png CENTERED (347,248)
+BLIT star2.png CENTERED (579,451)
+BLIT star1.png CENTERED (523,460)
+BLIT star1.png CENTERED (531,-69)
+BLIT star1.png CENTERED (63,-9)
+BLIT star0.png CENTERED (319,156)
+BLIT star1.png CENTERED (491,-48)
+BLIT star0.png CENTERED (313,356)
+BLIT star2.png CENTERED (118,246)
+BLIT star2.png CENTERED (179,-14)
+BLIT star1.png CENTERED (573,-64)
+BLIT star1.png CENTERED (235,-37)
+BLIT star0.png CENTERED (23,383)
+BLIT star1.png CENTERED (302,-9)
+BLIT star2.png CENTERED (117,240)
+BLIT star2.png CENTERED (575,356)
+BLIT star1.png CENTERED (120,275)
+BLIT star1.png CENTERED (405,314)
+BLIT star2.png CENTERED (25,269)
+BLIT star2.png CENTERED (547,237)
+BLIT star1.png CENTERED (464,468)
+BLIT star1.png CENTERED (560,359)
+BLIT star1.png CENTERED (578,116)
+BLIT star2.png CENTERED (482,117)
+BLIT star0.png CENTERED (271,101)
+BLIT star2.png CENTERED (608,225)
+BLIT star0.png CENTERED (137,-35)
+BLIT star1.png CENTERED (173,-43)
+BLIT star2.png CENTERED (141,451)
+BLIT star1.png CENTERED (10,202)
+BLIT star2.png CENTERED (428,340)
+BLIT star0.png CENTERED (353,310)
+BLIT star1.png CENTERED (98,-12)
+BLIT star2.png CENTERED (414,390)
+BLIT star1.png CENTERED (148,379)
+BLIT star2.png CENTERED (415,435)
+BLIT star1.png CENTERED (597,306)
+BLIT star2.png CENTERED (608,404)
+BLIT star0.png CENTERED (440,360)
+BLIT star2.png CENTERED (37,406)
+BLIT star2.png CENTERED (401,461)
+BLIT star0.png CENTERED (463,-73)
+BLIT star1.png CENTERED (93,7)
+BLIT star2.png CENTERED (468,451)
+BLIT star0.png CENTERED (211,203)
+BLIT star1.png CENTERED (349,401)
+BLIT star0.png CENTERED (370,-144)
+BLIT star0.png CENTERED (321,454)
+BLIT star1.png CENTERED (605,356)
+BLIT star0.png CENTERED (517,-10)
+BLIT star1.png CENTERED (129,-64)
+BLIT star2.png CENTERED (568,328)
+BLIT star0.png CENTERED (391,449)
+BLIT star2.png CENTERED (508,457)
+BLIT star1.png CENTERED (417,246)
+BLIT star2.png CENTERED (531,45)
+BLIT star0.png CENTERED (367,124)
+BLIT star1.png CENTERED (280,-89)
+BLIT star1.png CENTERED (390,156)
+BLIT star1.png CENTERED (590,365)
+BLIT star1.png CENTERED (322,-36)
+BLIT star0.png CENTERED (195,-119)
+BLIT star1.png CENTERED (102,223)
+BLIT star1.png CENTERED (263,154)
+BLIT star1.png CENTERED (381,46)
+BLIT star1.png CENTERED (41,212)
+BLIT star2.png CENTERED (4,141)
+BLIT star0.png CENTERED (18,-70)
+BLIT star1.png CENTERED (193,39)
+BLIT star1.png CENTERED (285,220)
+BLIT star2.png CENTERED (246,123)
+BLIT star0.png CENTERED (322,258)
+BLIT star1.png CENTERED (247,302)
+BLIT star1.png CENTERED (265,372)
+BLIT star2.png CENTERED (628,-5)
+BLIT star0.png CENTERED (106,-78)
+BLIT star1.png CENTERED (429,-72)
+BLIT star0.png CENTERED (564,458)
+BLIT star2.png CENTERED (586,276)
+BLIT money.png CENTERED (296,372)
+BLIT money.png CENTERED (296,353)
+BLIT money.png CENTERED (289,355)
+BLIT money.png CENTERED (300,350)
+BLIT money.png CENTERED (312,347)
+BLIT money.png CENTERED (302,360)
+BLIT money.png CENTERED (272,364)
+BLIT money.png CENTERED (278,335)
+BLIT money.png CENTERED (271,371)
+BLIT money.png CENTERED (306,361)
+BLIT money.png CENTERED (302,355)
+BLIT money.png CENTERED (292,371)
+BLIT money.png CENTERED (296,348)
+BLIT money.png CENTERED (292,341)
+BLIT money.png CENTERED (291,350)
+BLIT money.png CENTERED (288,354)
+BLIT money.png CENTERED (311,337)
+BLIT money.png CENTERED (322,337)
+BLIT money.png CENTERED (287,333)
+BLIT money.png CENTERED (317,367)
+BLIT money.png CENTERED (284,247)
+BLIT money.png CENTERED (287,216)
+BLIT money.png CENTERED (287,218)
+BLIT money.png CENTERED (287,322)
+BLIT money.png CENTERED (283,286)
+BLIT money.png CENTERED (278,302)
+BLIT money.png CENTERED (288,299)
+BLIT money.png CENTERED (281,315)
+BLIT money.png CENTERED (297,321)
+BLIT money.png CENTERED (286,292)
+BLIT money.png CENTERED (276,307)
+BLIT money.png CENTERED (276,301)
+BLIT money.png CENTERED (276,282)
+BLIT money.png CENTERED (277,171)
+BLIT money.png CENTERED (264,175)
+BLIT money.png CENTERED (240,198)
+BLIT money.png CENTERED (263,181)
+BLIT money.png CENTERED (269,203)
+BLIT player_shoot.png CENTERED (289,-57)
+BLIT player_shoot.png CENTERED (323,66)
+BLIT player_shoot.png CENTERED (333,190)
+BLIT player_shoot.png CENTERED (342,314)
+BLIT player_shoot.png CENTERED (352,438)
+BLIT enemy_shoot.png CENTERED (175,484)
+BLIT enemy_shoot.png CENTERED (193,484)
+BLIT enemy_shoot.png CENTERED (197,283)
+BLIT enemy_shoot.png CENTERED (214,283)
+BLIT enemy_shoot.png CENTERED (180,367)
+BLIT enemy_shoot.png CENTERED (198,367)
+BLIT enemy_shoot.png CENTERED (197,121)
+BLIT enemy_shoot.png CENTERED (214,121)
+BLIT enemy1.png CENTERED (191,299)
+BLIT enemy1.png CENTERED (205,88)
+BLIT enemy0.png CENTERED (541,214)
+BLIT player.png CENTERED (355,480)
 BLIT player_shoot.png (30,460)
diff --git a/tests/sav/test_autoinit_optional.res b/tests/sav/test_autoinit_optional.res
new file mode 100644 (file)
index 0000000..4e88d43
--- /dev/null
@@ -0,0 +1,26 @@
+Mine
+Default
+Other
+Default
+
+Mine
+Default
+Other
+Default
+Yet Another
+
+Mine
+Default
+Other
+Default
+
+Mine
+Default
+Other
+Default
+
+Mine
+Default
+Other
+Other
+Yet Another
index 7c9370a..9b9c768 100644 (file)
@@ -62,7 +62,8 @@ Start ../src/test_parser.nit:17,1--156,1
             AIsaExpr ../src/test_parser.nit:30,6--16
               ACallExpr ../src/test_parser.nit:30,6
                 AImplicitSelfExpr ../src/test_parser.nit:30,6
-                TId "n" ../src/test_parser.nit:30,6
+                AQid ../src/test_parser.nit:30,6
+                  TId "n" ../src/test_parser.nit:30,6
                 AListExprs ../src/test_parser.nit:30,6
               TKwisa "isa" ../src/test_parser.nit:30,8--10
               AType ../src/test_parser.nit:30,12--16
@@ -71,7 +72,8 @@ Start ../src/test_parser.nit:17,1--156,1
             ABlockExpr ../src/test_parser.nit:31,4--88
               ACallExpr ../src/test_parser.nit:31,4--88
                 AImplicitSelfExpr ../src/test_parser.nit:31,4
-                TId "printn" ../src/test_parser.nit:31,4--9
+                AQid ../src/test_parser.nit:31,4--9
+                  TId "printn" ../src/test_parser.nit:31,4--9
                 AParExprs ../src/test_parser.nit:31,10--88
                   TOpar "(" ../src/test_parser.nit:31,10
                   AStarExpr ../src/test_parser.nit:31,11--21
@@ -80,14 +82,17 @@ Start ../src/test_parser.nit:17,1--156,1
                     TStar "*" ../src/test_parser.nit:31,16
                     ACallExpr ../src/test_parser.nit:31,18--21
                       AImplicitSelfExpr ../src/test_parser.nit:31,18
-                      TId "rank" ../src/test_parser.nit:31,18--21
+                      AQid ../src/test_parser.nit:31,18--21
+                        TId "rank" ../src/test_parser.nit:31,18--21
                       AListExprs ../src/test_parser.nit:31,21
                   ACallExpr ../src/test_parser.nit:31,24--35
                     ACallExpr ../src/test_parser.nit:31,24
                       AImplicitSelfExpr ../src/test_parser.nit:31,24
-                      TId "n" ../src/test_parser.nit:31,24
+                      AQid ../src/test_parser.nit:31,24
+                        TId "n" ../src/test_parser.nit:31,24
                       AListExprs ../src/test_parser.nit:31,24
-                    TId "class_name" ../src/test_parser.nit:31,26--35
+                    AQid ../src/test_parser.nit:31,26--35
+                      TId "class_name" ../src/test_parser.nit:31,26--35
                     AListExprs ../src/test_parser.nit:31,35
                   AStringExpr ../src/test_parser.nit:31,38--42
                     TString "\" \\\"\"" ../src/test_parser.nit:31,38--42
@@ -95,20 +100,25 @@ Start ../src/test_parser.nit:17,1--156,1
                     ACallExpr ../src/test_parser.nit:31,45--50
                       ACallExpr ../src/test_parser.nit:31,45
                         AImplicitSelfExpr ../src/test_parser.nit:31,45
-                        TId "n" ../src/test_parser.nit:31,45
+                        AQid ../src/test_parser.nit:31,45
+                          TId "n" ../src/test_parser.nit:31,45
                         AListExprs ../src/test_parser.nit:31,45
-                      TId "text" ../src/test_parser.nit:31,47--50
+                      AQid ../src/test_parser.nit:31,47--50
+                        TId "text" ../src/test_parser.nit:31,47--50
                       AListExprs ../src/test_parser.nit:31,50
-                    TId "escape_to_c" ../src/test_parser.nit:31,52--62
+                    AQid ../src/test_parser.nit:31,52--62
+                      TId "escape_to_c" ../src/test_parser.nit:31,52--62
                     AListExprs ../src/test_parser.nit:31,62
                   AStringExpr ../src/test_parser.nit:31,65--69
                     TString "\"\\\" \"" ../src/test_parser.nit:31,65--69
                   ACallExpr ../src/test_parser.nit:31,72--81
                     ACallExpr ../src/test_parser.nit:31,72
                       AImplicitSelfExpr ../src/test_parser.nit:31,72
-                      TId "n" ../src/test_parser.nit:31,72
+                      AQid ../src/test_parser.nit:31,72
+                        TId "n" ../src/test_parser.nit:31,72
                       AListExprs ../src/test_parser.nit:31,72
-                    TId "location" ../src/test_parser.nit:31,74--81
+                    AQid ../src/test_parser.nit:31,74--81
+                      TId "location" ../src/test_parser.nit:31,74--81
                     AListExprs ../src/test_parser.nit:31,81
                   AStringExpr ../src/test_parser.nit:31,84--87
                     TString "\"\\n\"" ../src/test_parser.nit:31,84--87
@@ -117,7 +127,8 @@ Start ../src/test_parser.nit:17,1--156,1
             ABlockExpr ../src/test_parser.nit:33,4--34,5
               ACallExpr ../src/test_parser.nit:33,4--59
                 AImplicitSelfExpr ../src/test_parser.nit:33,4
-                TId "printn" ../src/test_parser.nit:33,4--9
+                AQid ../src/test_parser.nit:33,4--9
+                  TId "printn" ../src/test_parser.nit:33,4--9
                 AParExprs ../src/test_parser.nit:33,10--59
                   TOpar "(" ../src/test_parser.nit:33,10
                   AStarExpr ../src/test_parser.nit:33,11--21
@@ -126,23 +137,28 @@ Start ../src/test_parser.nit:17,1--156,1
                     TStar "*" ../src/test_parser.nit:33,16
                     ACallExpr ../src/test_parser.nit:33,18--21
                       AImplicitSelfExpr ../src/test_parser.nit:33,18
-                      TId "rank" ../src/test_parser.nit:33,18--21
+                      AQid ../src/test_parser.nit:33,18--21
+                        TId "rank" ../src/test_parser.nit:33,18--21
                       AListExprs ../src/test_parser.nit:33,21
                   ACallExpr ../src/test_parser.nit:33,24--35
                     ACallExpr ../src/test_parser.nit:33,24
                       AImplicitSelfExpr ../src/test_parser.nit:33,24
-                      TId "n" ../src/test_parser.nit:33,24
+                      AQid ../src/test_parser.nit:33,24
+                        TId "n" ../src/test_parser.nit:33,24
                       AListExprs ../src/test_parser.nit:33,24
-                    TId "class_name" ../src/test_parser.nit:33,26--35
+                    AQid ../src/test_parser.nit:33,26--35
+                      TId "class_name" ../src/test_parser.nit:33,26--35
                     AListExprs ../src/test_parser.nit:33,35
                   AStringExpr ../src/test_parser.nit:33,38--40
                     TString "\" \"" ../src/test_parser.nit:33,38--40
                   ACallExpr ../src/test_parser.nit:33,43--52
                     ACallExpr ../src/test_parser.nit:33,43
                       AImplicitSelfExpr ../src/test_parser.nit:33,43
-                      TId "n" ../src/test_parser.nit:33,43
+                      AQid ../src/test_parser.nit:33,43
+                        TId "n" ../src/test_parser.nit:33,43
                       AListExprs ../src/test_parser.nit:33,43
-                    TId "location" ../src/test_parser.nit:33,45--52
+                    AQid ../src/test_parser.nit:33,45--52
+                      TId "location" ../src/test_parser.nit:33,45--52
                     AListExprs ../src/test_parser.nit:33,52
                   AStringExpr ../src/test_parser.nit:33,55--58
                     TString "\"\\n\"" ../src/test_parser.nit:33,55--58
@@ -150,13 +166,15 @@ Start ../src/test_parser.nit:17,1--156,1
               TKwend "end" ../src/test_parser.nit:34,3--5
           ACallAssignExpr ../src/test_parser.nit:35,3--17
             AImplicitSelfExpr ../src/test_parser.nit:35,3
-            TId "rank" ../src/test_parser.nit:35,3--6
+            AQid ../src/test_parser.nit:35,3--6
+              TId "rank" ../src/test_parser.nit:35,3--6
             AListExprs ../src/test_parser.nit:35,8
             TAssign "=" ../src/test_parser.nit:35,8
             APlusExpr ../src/test_parser.nit:35,10--17
               ACallExpr ../src/test_parser.nit:35,10--13
                 AImplicitSelfExpr ../src/test_parser.nit:35,10
-                TId "rank" ../src/test_parser.nit:35,10--13
+                AQid ../src/test_parser.nit:35,10--13
+                  TId "rank" ../src/test_parser.nit:35,10--13
                 AListExprs ../src/test_parser.nit:35,13
               TPlus "+" ../src/test_parser.nit:35,15
               AIntegerExpr ../src/test_parser.nit:35,17
@@ -164,9 +182,11 @@ Start ../src/test_parser.nit:17,1--156,1
           ACallExpr ../src/test_parser.nit:36,3--19
             ACallExpr ../src/test_parser.nit:36,3
               AImplicitSelfExpr ../src/test_parser.nit:36,3
-              TId "n" ../src/test_parser.nit:36,3
+              AQid ../src/test_parser.nit:36,3
+                TId "n" ../src/test_parser.nit:36,3
               AListExprs ../src/test_parser.nit:36,3
-            TId "visit_all" ../src/test_parser.nit:36,5--13
+            AQid ../src/test_parser.nit:36,5--13
+              TId "visit_all" ../src/test_parser.nit:36,5--13
             AParExprs ../src/test_parser.nit:36,14--19
               TOpar "(" ../src/test_parser.nit:36,14
               ASelfExpr ../src/test_parser.nit:36,15--18
@@ -174,13 +194,15 @@ Start ../src/test_parser.nit:17,1--156,1
               TCpar ")" ../src/test_parser.nit:36,19
           ACallAssignExpr ../src/test_parser.nit:37,3--17
             AImplicitSelfExpr ../src/test_parser.nit:37,3
-            TId "rank" ../src/test_parser.nit:37,3--6
+            AQid ../src/test_parser.nit:37,3--6
+              TId "rank" ../src/test_parser.nit:37,3--6
             AListExprs ../src/test_parser.nit:37,8
             TAssign "=" ../src/test_parser.nit:37,8
             AMinusExpr ../src/test_parser.nit:37,10--17
               ACallExpr ../src/test_parser.nit:37,10--13
                 AImplicitSelfExpr ../src/test_parser.nit:37,10
-                TId "rank" ../src/test_parser.nit:37,10--13
+                AQid ../src/test_parser.nit:37,10--13
+                  TId "rank" ../src/test_parser.nit:37,10--13
                 AListExprs ../src/test_parser.nit:37,13
               TMinus "-" ../src/test_parser.nit:37,15
               AIntegerExpr ../src/test_parser.nit:37,17
@@ -234,9 +256,11 @@ Start ../src/test_parser.nit:17,1--156,1
                 ACallExpr ../src/test_parser.nit:48,11--23
                   ACallExpr ../src/test_parser.nit:48,11--14
                     AImplicitSelfExpr ../src/test_parser.nit:48,11
-                    TId "args" ../src/test_parser.nit:48,11--14
+                    AQid ../src/test_parser.nit:48,11--14
+                      TId "args" ../src/test_parser.nit:48,11--14
                     AListExprs ../src/test_parser.nit:48,14
-                  TId "is_empty" ../src/test_parser.nit:48,16--23
+                  AQid ../src/test_parser.nit:48,16--23
+                    TId "is_empty" ../src/test_parser.nit:48,16--23
                   AListExprs ../src/test_parser.nit:48,23
               TKwand "and" ../src/test_parser.nit:48,25--27
               AEqExpr ../src/test_parser.nit:48,29--57
@@ -245,13 +269,17 @@ Start ../src/test_parser.nit:17,1--156,1
                     ACallExpr ../src/test_parser.nit:48,29--38
                       ACallExpr ../src/test_parser.nit:48,29--32
                         AImplicitSelfExpr ../src/test_parser.nit:48,29
-                        TId "args" ../src/test_parser.nit:48,29--32
+                        AQid ../src/test_parser.nit:48,29--32
+                          TId "args" ../src/test_parser.nit:48,29--32
                         AListExprs ../src/test_parser.nit:48,32
-                      TId "first" ../src/test_parser.nit:48,34--38
+                      AQid ../src/test_parser.nit:48,34--38
+                        TId "first" ../src/test_parser.nit:48,34--38
                       AListExprs ../src/test_parser.nit:48,38
-                    TId "chars" ../src/test_parser.nit:48,40--44
+                    AQid ../src/test_parser.nit:48,40--44
+                      TId "chars" ../src/test_parser.nit:48,40--44
                     AListExprs ../src/test_parser.nit:48,44
-                  TId "first" ../src/test_parser.nit:48,46--50
+                  AQid ../src/test_parser.nit:48,46--50
+                    TId "first" ../src/test_parser.nit:48,46--50
                   AListExprs ../src/test_parser.nit:48,50
                 TEq "==" ../src/test_parser.nit:48,52--53
                 ACharExpr ../src/test_parser.nit:48,55--57
@@ -264,9 +292,11 @@ Start ../src/test_parser.nit:17,1--156,1
                   ACallExpr ../src/test_parser.nit:49,5--14
                     ACallExpr ../src/test_parser.nit:49,5--8
                       AImplicitSelfExpr ../src/test_parser.nit:49,5
-                      TId "args" ../src/test_parser.nit:49,5--8
+                      AQid ../src/test_parser.nit:49,5--8
+                        TId "args" ../src/test_parser.nit:49,5--8
                       AListExprs ../src/test_parser.nit:49,8
-                    TId "first" ../src/test_parser.nit:49,10--14
+                    AQid ../src/test_parser.nit:49,10--14
+                      TId "first" ../src/test_parser.nit:49,10--14
                     AListExprs ../src/test_parser.nit:49,14
                   TEq "==" ../src/test_parser.nit:49,16--17
                   AStringExpr ../src/test_parser.nit:49,19--22
@@ -275,7 +305,8 @@ Start ../src/test_parser.nit:17,1--156,1
                 ABlockExpr ../src/test_parser.nit:50,3--17
                   ACallAssignExpr ../src/test_parser.nit:50,3--17
                     AImplicitSelfExpr ../src/test_parser.nit:50,3
-                    TId "no_print" ../src/test_parser.nit:50,3--10
+                    AQid ../src/test_parser.nit:50,3--10
+                      TId "no_print" ../src/test_parser.nit:50,3--10
                     AListExprs ../src/test_parser.nit:50,12
                     TAssign "=" ../src/test_parser.nit:50,12
                     ATrueExpr ../src/test_parser.nit:50,14--17
@@ -287,9 +318,11 @@ Start ../src/test_parser.nit:17,1--156,1
                     ACallExpr ../src/test_parser.nit:51,10--19
                       ACallExpr ../src/test_parser.nit:51,10--13
                         AImplicitSelfExpr ../src/test_parser.nit:51,10
-                        TId "args" ../src/test_parser.nit:51,10--13
+                        AQid ../src/test_parser.nit:51,10--13
+                          TId "args" ../src/test_parser.nit:51,10--13
                         AListExprs ../src/test_parser.nit:51,13
-                      TId "first" ../src/test_parser.nit:51,15--19
+                      AQid ../src/test_parser.nit:51,15--19
+                        TId "first" ../src/test_parser.nit:51,15--19
                       AListExprs ../src/test_parser.nit:51,19
                     TEq "==" ../src/test_parser.nit:51,21--22
                     AStringExpr ../src/test_parser.nit:51,24--27
@@ -298,7 +331,8 @@ Start ../src/test_parser.nit:17,1--156,1
                   ABlockExpr ../src/test_parser.nit:52,3--19
                     ACallAssignExpr ../src/test_parser.nit:52,3--19
                       AImplicitSelfExpr ../src/test_parser.nit:52,3
-                      TId "only_lexer" ../src/test_parser.nit:52,3--12
+                      AQid ../src/test_parser.nit:52,3--12
+                        TId "only_lexer" ../src/test_parser.nit:52,3--12
                       AListExprs ../src/test_parser.nit:52,14
                       TAssign "=" ../src/test_parser.nit:52,14
                       ATrueExpr ../src/test_parser.nit:52,16--19
@@ -310,9 +344,11 @@ Start ../src/test_parser.nit:17,1--156,1
                       ACallExpr ../src/test_parser.nit:53,10--19
                         ACallExpr ../src/test_parser.nit:53,10--13
                           AImplicitSelfExpr ../src/test_parser.nit:53,10
-                          TId "args" ../src/test_parser.nit:53,10--13
+                          AQid ../src/test_parser.nit:53,10--13
+                            TId "args" ../src/test_parser.nit:53,10--13
                           AListExprs ../src/test_parser.nit:53,13
-                        TId "first" ../src/test_parser.nit:53,15--19
+                        AQid ../src/test_parser.nit:53,15--19
+                          TId "first" ../src/test_parser.nit:53,15--19
                         AListExprs ../src/test_parser.nit:53,19
                       TEq "==" ../src/test_parser.nit:53,21--22
                       AStringExpr ../src/test_parser.nit:53,24--27
@@ -321,7 +357,8 @@ Start ../src/test_parser.nit:17,1--156,1
                     ABlockExpr ../src/test_parser.nit:54,3--20
                       ACallAssignExpr ../src/test_parser.nit:54,3--20
                         AImplicitSelfExpr ../src/test_parser.nit:54,3
-                        TId "only_lexer" ../src/test_parser.nit:54,3--12
+                        AQid ../src/test_parser.nit:54,3--12
+                          TId "only_lexer" ../src/test_parser.nit:54,3--12
                         AListExprs ../src/test_parser.nit:54,14
                         TAssign "=" ../src/test_parser.nit:54,14
                         AFalseExpr ../src/test_parser.nit:54,16--20
@@ -333,9 +370,11 @@ Start ../src/test_parser.nit:17,1--156,1
                         ACallExpr ../src/test_parser.nit:55,10--19
                           ACallExpr ../src/test_parser.nit:55,10--13
                             AImplicitSelfExpr ../src/test_parser.nit:55,10
-                            TId "args" ../src/test_parser.nit:55,10--13
+                            AQid ../src/test_parser.nit:55,10--13
+                              TId "args" ../src/test_parser.nit:55,10--13
                             AListExprs ../src/test_parser.nit:55,13
-                          TId "first" ../src/test_parser.nit:55,15--19
+                          AQid ../src/test_parser.nit:55,15--19
+                            TId "first" ../src/test_parser.nit:55,15--19
                           AListExprs ../src/test_parser.nit:55,19
                         TEq "==" ../src/test_parser.nit:55,21--22
                         AStringExpr ../src/test_parser.nit:55,24--27
@@ -344,7 +383,8 @@ Start ../src/test_parser.nit:17,1--156,1
                       ABlockExpr ../src/test_parser.nit:56,3--12
                         ACallAssignExpr ../src/test_parser.nit:56,3--12
                           AImplicitSelfExpr ../src/test_parser.nit:56,3
-                          TId "xml" ../src/test_parser.nit:56,3--5
+                          AQid ../src/test_parser.nit:56,3--5
+                            TId "xml" ../src/test_parser.nit:56,3--5
                           AListExprs ../src/test_parser.nit:56,7
                           TAssign "=" ../src/test_parser.nit:56,7
                           ATrueExpr ../src/test_parser.nit:56,9--12
@@ -356,9 +396,11 @@ Start ../src/test_parser.nit:17,1--156,1
                           ACallExpr ../src/test_parser.nit:57,10--19
                             ACallExpr ../src/test_parser.nit:57,10--13
                               AImplicitSelfExpr ../src/test_parser.nit:57,10
-                              TId "args" ../src/test_parser.nit:57,10--13
+                              AQid ../src/test_parser.nit:57,10--13
+                                TId "args" ../src/test_parser.nit:57,10--13
                               AListExprs ../src/test_parser.nit:57,13
-                            TId "first" ../src/test_parser.nit:57,15--19
+                            AQid ../src/test_parser.nit:57,15--19
+                              TId "first" ../src/test_parser.nit:57,15--19
                             AListExprs ../src/test_parser.nit:57,19
                           TEq "==" ../src/test_parser.nit:57,21--22
                           AStringExpr ../src/test_parser.nit:57,24--27
@@ -367,7 +409,8 @@ Start ../src/test_parser.nit:17,1--156,1
                         ABlockExpr ../src/test_parser.nit:58,3--16
                           ACallAssignExpr ../src/test_parser.nit:58,3--16
                             AImplicitSelfExpr ../src/test_parser.nit:58,3
-                            TId "no_file" ../src/test_parser.nit:58,3--9
+                            AQid ../src/test_parser.nit:58,3--9
+                              TId "no_file" ../src/test_parser.nit:58,3--9
                             AListExprs ../src/test_parser.nit:58,11
                             TAssign "=" ../src/test_parser.nit:58,11
                             ATrueExpr ../src/test_parser.nit:58,13--16
@@ -379,9 +422,11 @@ Start ../src/test_parser.nit:17,1--156,1
                             ACallExpr ../src/test_parser.nit:59,10--19
                               ACallExpr ../src/test_parser.nit:59,10--13
                                 AImplicitSelfExpr ../src/test_parser.nit:59,10
-                                TId "args" ../src/test_parser.nit:59,10--13
+                                AQid ../src/test_parser.nit:59,10--13
+                                  TId "args" ../src/test_parser.nit:59,10--13
                                 AListExprs ../src/test_parser.nit:59,13
-                              TId "first" ../src/test_parser.nit:59,15--19
+                              AQid ../src/test_parser.nit:59,15--19
+                                TId "first" ../src/test_parser.nit:59,15--19
                               AListExprs ../src/test_parser.nit:59,19
                             TEq "==" ../src/test_parser.nit:59,21--22
                             AStringExpr ../src/test_parser.nit:59,24--27
@@ -390,7 +435,8 @@ Start ../src/test_parser.nit:17,1--156,1
                           ABlockExpr ../src/test_parser.nit:60,3--20
                             ACallAssignExpr ../src/test_parser.nit:60,3--20
                               AImplicitSelfExpr ../src/test_parser.nit:60,3
-                              TId "interactive" ../src/test_parser.nit:60,3--13
+                              AQid ../src/test_parser.nit:60,3--13
+                                TId "interactive" ../src/test_parser.nit:60,3--13
                               AListExprs ../src/test_parser.nit:60,15
                               TAssign "=" ../src/test_parser.nit:60,15
                               ATrueExpr ../src/test_parser.nit:60,17--20
@@ -403,9 +449,11 @@ Start ../src/test_parser.nit:17,1--156,1
                                 ACallExpr ../src/test_parser.nit:61,10--19
                                   ACallExpr ../src/test_parser.nit:61,10--13
                                     AImplicitSelfExpr ../src/test_parser.nit:61,10
-                                    TId "args" ../src/test_parser.nit:61,10--13
+                                    AQid ../src/test_parser.nit:61,10--13
+                                      TId "args" ../src/test_parser.nit:61,10--13
                                     AListExprs ../src/test_parser.nit:61,13
-                                  TId "first" ../src/test_parser.nit:61,15--19
+                                  AQid ../src/test_parser.nit:61,15--19
+                                    TId "first" ../src/test_parser.nit:61,15--19
                                   AListExprs ../src/test_parser.nit:61,19
                                 TEq "==" ../src/test_parser.nit:61,21--22
                                 AStringExpr ../src/test_parser.nit:61,24--27
@@ -415,9 +463,11 @@ Start ../src/test_parser.nit:17,1--156,1
                                 ACallExpr ../src/test_parser.nit:61,32--41
                                   ACallExpr ../src/test_parser.nit:61,32--35
                                     AImplicitSelfExpr ../src/test_parser.nit:61,32
-                                    TId "args" ../src/test_parser.nit:61,32--35
+                                    AQid ../src/test_parser.nit:61,32--35
+                                      TId "args" ../src/test_parser.nit:61,32--35
                                     AListExprs ../src/test_parser.nit:61,35
-                                  TId "first" ../src/test_parser.nit:61,37--41
+                                  AQid ../src/test_parser.nit:61,37--41
+                                    TId "first" ../src/test_parser.nit:61,37--41
                                   AListExprs ../src/test_parser.nit:61,41
                                 TEq "==" ../src/test_parser.nit:61,43--44
                                 AStringExpr ../src/test_parser.nit:61,46--49
@@ -426,7 +476,8 @@ Start ../src/test_parser.nit:17,1--156,1
                             ABlockExpr ../src/test_parser.nit:62,3--18
                               ACallAssignExpr ../src/test_parser.nit:62,3--18
                                 AImplicitSelfExpr ../src/test_parser.nit:62,3
-                                TId "need_help" ../src/test_parser.nit:62,3--11
+                                AQid ../src/test_parser.nit:62,3--11
+                                  TId "need_help" ../src/test_parser.nit:62,3--11
                                 AListExprs ../src/test_parser.nit:62,13
                                 TAssign "=" ../src/test_parser.nit:62,13
                                 ATrueExpr ../src/test_parser.nit:62,15--18
@@ -436,9 +487,11 @@ Start ../src/test_parser.nit:17,1--156,1
                               ACallExpr ../src/test_parser.nit:64,3--48
                                 ACallExpr ../src/test_parser.nit:64,3--8
                                   AImplicitSelfExpr ../src/test_parser.nit:64,3
-                                  TId "stderr" ../src/test_parser.nit:64,3--8
+                                  AQid ../src/test_parser.nit:64,3--8
+                                    TId "stderr" ../src/test_parser.nit:64,3--8
                                   AListExprs ../src/test_parser.nit:64,8
-                                TId "write" ../src/test_parser.nit:64,10--14
+                                AQid ../src/test_parser.nit:64,10--14
+                                  TId "write" ../src/test_parser.nit:64,10--14
                                 AParExprs ../src/test_parser.nit:64,15--48
                                   TOpar "(" ../src/test_parser.nit:64,15
                                   ASuperstringExpr ../src/test_parser.nit:64,16--47
@@ -447,16 +500,19 @@ Start ../src/test_parser.nit:17,1--156,1
                                     ACallExpr ../src/test_parser.nit:64,33--42
                                       ACallExpr ../src/test_parser.nit:64,33--36
                                         AImplicitSelfExpr ../src/test_parser.nit:64,33
-                                        TId "args" ../src/test_parser.nit:64,33--36
+                                        AQid ../src/test_parser.nit:64,33--36
+                                          TId "args" ../src/test_parser.nit:64,33--36
                                         AListExprs ../src/test_parser.nit:64,36
-                                      TId "first" ../src/test_parser.nit:64,38--42
+                                      AQid ../src/test_parser.nit:64,38--42
+                                        TId "first" ../src/test_parser.nit:64,38--42
                                       AListExprs ../src/test_parser.nit:64,42
                                     AEndStringExpr ../src/test_parser.nit:64,43--47
                                       TEndString "}.\\n\"" ../src/test_parser.nit:64,43--47
                                   TCpar ")" ../src/test_parser.nit:64,48
                               ACallExpr ../src/test_parser.nit:65,3--9
                                 AImplicitSelfExpr ../src/test_parser.nit:65,3
-                                TId "exit" ../src/test_parser.nit:65,3--6
+                                AQid ../src/test_parser.nit:65,3--6
+                                  TId "exit" ../src/test_parser.nit:65,3--6
                                 AParExprs ../src/test_parser.nit:65,7--9
                                   TOpar "(" ../src/test_parser.nit:65,7
                                   AIntegerExpr ../src/test_parser.nit:65,8
@@ -466,9 +522,11 @@ Start ../src/test_parser.nit:17,1--156,1
               ACallExpr ../src/test_parser.nit:67,2--11
                 ACallExpr ../src/test_parser.nit:67,2--5
                   AImplicitSelfExpr ../src/test_parser.nit:67,2
-                  TId "args" ../src/test_parser.nit:67,2--5
+                  AQid ../src/test_parser.nit:67,2--5
+                    TId "args" ../src/test_parser.nit:67,2--5
                   AListExprs ../src/test_parser.nit:67,5
-                TId "shift" ../src/test_parser.nit:67,7--11
+                AQid ../src/test_parser.nit:67,7--11
+                  TId "shift" ../src/test_parser.nit:67,7--11
                 AListExprs ../src/test_parser.nit:67,11
               TKwend "end" ../src/test_parser.nit:68,1--3
           AIfExpr ../src/test_parser.nit:70,1--155,3
@@ -480,28 +538,33 @@ Start ../src/test_parser.nit:17,1--156,1
                   ACallExpr ../src/test_parser.nit:70,5--17
                     ACallExpr ../src/test_parser.nit:70,5--8
                       AImplicitSelfExpr ../src/test_parser.nit:70,5
-                      TId "args" ../src/test_parser.nit:70,5--8
+                      AQid ../src/test_parser.nit:70,5--8
+                        TId "args" ../src/test_parser.nit:70,5--8
                       AListExprs ../src/test_parser.nit:70,8
-                    TId "is_empty" ../src/test_parser.nit:70,10--17
+                    AQid ../src/test_parser.nit:70,10--17
+                      TId "is_empty" ../src/test_parser.nit:70,10--17
                     AListExprs ../src/test_parser.nit:70,17
                   TKwand "and" ../src/test_parser.nit:70,19--21
                   ANotExpr ../src/test_parser.nit:70,23--37
                     TKwnot "not" ../src/test_parser.nit:70,23--25
                     ACallExpr ../src/test_parser.nit:70,27--37
                       AImplicitSelfExpr ../src/test_parser.nit:70,27
-                      TId "interactive" ../src/test_parser.nit:70,27--37
+                      AQid ../src/test_parser.nit:70,27--37
+                        TId "interactive" ../src/test_parser.nit:70,27--37
                       AListExprs ../src/test_parser.nit:70,37
                 TCpar ")" ../src/test_parser.nit:70,38
               TKwor "or" ../src/test_parser.nit:70,40--41
               ACallExpr ../src/test_parser.nit:70,43--51
                 AImplicitSelfExpr ../src/test_parser.nit:70,43
-                TId "need_help" ../src/test_parser.nit:70,43--51
+                AQid ../src/test_parser.nit:70,43--51
+                  TId "need_help" ../src/test_parser.nit:70,43--51
                 AListExprs ../src/test_parser.nit:70,51
             TKwthen "then" ../src/test_parser.nit:70,53--56
             ABlockExpr ../src/test_parser.nit:71,2--82,30
               ACallExpr ../src/test_parser.nit:71,2--16
                 AImplicitSelfExpr ../src/test_parser.nit:71,2
-                TId "print" ../src/test_parser.nit:71,2--6
+                AQid ../src/test_parser.nit:71,2--6
+                  TId "print" ../src/test_parser.nit:71,2--6
                 AParExprs ../src/test_parser.nit:71,7--16
                   TOpar "(" ../src/test_parser.nit:71,7
                   AStringExpr ../src/test_parser.nit:71,8--15
@@ -509,7 +572,8 @@ Start ../src/test_parser.nit:17,1--156,1
                   TCpar ")" ../src/test_parser.nit:71,16
               ACallExpr ../src/test_parser.nit:72,2--54
                 AImplicitSelfExpr ../src/test_parser.nit:72,2
-                TId "print" ../src/test_parser.nit:72,2--6
+                AQid ../src/test_parser.nit:72,2--6
+                  TId "print" ../src/test_parser.nit:72,2--6
                 AParExprs ../src/test_parser.nit:72,7--54
                   TOpar "(" ../src/test_parser.nit:72,7
                   AStringExpr ../src/test_parser.nit:72,8--53
@@ -517,7 +581,8 @@ Start ../src/test_parser.nit:17,1--156,1
                   TCpar ")" ../src/test_parser.nit:72,54
               ACallExpr ../src/test_parser.nit:73,2--49
                 AImplicitSelfExpr ../src/test_parser.nit:73,2
-                TId "print" ../src/test_parser.nit:73,2--6
+                AQid ../src/test_parser.nit:73,2--6
+                  TId "print" ../src/test_parser.nit:73,2--6
                 AParExprs ../src/test_parser.nit:73,7--49
                   TOpar "(" ../src/test_parser.nit:73,7
                   AStringExpr ../src/test_parser.nit:73,8--48
@@ -525,7 +590,8 @@ Start ../src/test_parser.nit:17,1--156,1
                   TCpar ")" ../src/test_parser.nit:73,49
               ACallExpr ../src/test_parser.nit:74,2--39
                 AImplicitSelfExpr ../src/test_parser.nit:74,2
-                TId "print" ../src/test_parser.nit:74,2--6
+                AQid ../src/test_parser.nit:74,2--6
+                  TId "print" ../src/test_parser.nit:74,2--6
                 AParExprs ../src/test_parser.nit:74,7--39
                   TOpar "(" ../src/test_parser.nit:74,7
                   AStringExpr ../src/test_parser.nit:74,8--38
@@ -533,7 +599,8 @@ Start ../src/test_parser.nit:17,1--156,1
                   TCpar ")" ../src/test_parser.nit:74,39
               ACallExpr ../src/test_parser.nit:75,2--18
                 AImplicitSelfExpr ../src/test_parser.nit:75,2
-                TId "print" ../src/test_parser.nit:75,2--6
+                AQid ../src/test_parser.nit:75,2--6
+                  TId "print" ../src/test_parser.nit:75,2--6
                 AParExprs ../src/test_parser.nit:75,7--18
                   TOpar "(" ../src/test_parser.nit:75,7
                   AStringExpr ../src/test_parser.nit:75,8--17
@@ -541,7 +608,8 @@ Start ../src/test_parser.nit:17,1--156,1
                   TCpar ")" ../src/test_parser.nit:75,18
               ACallExpr ../src/test_parser.nit:76,2--36
                 AImplicitSelfExpr ../src/test_parser.nit:76,2
-                TId "print" ../src/test_parser.nit:76,2--6
+                AQid ../src/test_parser.nit:76,2--6
+                  TId "print" ../src/test_parser.nit:76,2--6
                 AParExprs ../src/test_parser.nit:76,7--36
                   TOpar "(" ../src/test_parser.nit:76,7
                   AStringExpr ../src/test_parser.nit:76,8--35
@@ -549,7 +617,8 @@ Start ../src/test_parser.nit:17,1--156,1
                   TCpar ")" ../src/test_parser.nit:76,36
               ACallExpr ../src/test_parser.nit:77,2--25
                 AImplicitSelfExpr ../src/test_parser.nit:77,2
-                TId "print" ../src/test_parser.nit:77,2--6
+                AQid ../src/test_parser.nit:77,2--6
+                  TId "print" ../src/test_parser.nit:77,2--6
                 AParExprs ../src/test_parser.nit:77,7--25
                   TOpar "(" ../src/test_parser.nit:77,7
                   AStringExpr ../src/test_parser.nit:77,8--24
@@ -557,7 +626,8 @@ Start ../src/test_parser.nit:17,1--156,1
                   TCpar ")" ../src/test_parser.nit:77,25
               ACallExpr ../src/test_parser.nit:78,2--41
                 AImplicitSelfExpr ../src/test_parser.nit:78,2
-                TId "print" ../src/test_parser.nit:78,2--6
+                AQid ../src/test_parser.nit:78,2--6
+                  TId "print" ../src/test_parser.nit:78,2--6
                 AParExprs ../src/test_parser.nit:78,7--41
                   TOpar "(" ../src/test_parser.nit:78,7
                   AStringExpr ../src/test_parser.nit:78,8--40
@@ -565,7 +635,8 @@ Start ../src/test_parser.nit:17,1--156,1
                   TCpar ")" ../src/test_parser.nit:78,41
               ACallExpr ../src/test_parser.nit:79,2--61
                 AImplicitSelfExpr ../src/test_parser.nit:79,2
-                TId "print" ../src/test_parser.nit:79,2--6
+                AQid ../src/test_parser.nit:79,2--6
+                  TId "print" ../src/test_parser.nit:79,2--6
                 AParExprs ../src/test_parser.nit:79,7--61
                   TOpar "(" ../src/test_parser.nit:79,7
                   AStringExpr ../src/test_parser.nit:79,8--60
@@ -573,7 +644,8 @@ Start ../src/test_parser.nit:17,1--156,1
                   TCpar ")" ../src/test_parser.nit:79,61
               ACallExpr ../src/test_parser.nit:80,2--68
                 AImplicitSelfExpr ../src/test_parser.nit:80,2
-                TId "print" ../src/test_parser.nit:80,2--6
+                AQid ../src/test_parser.nit:80,2--6
+                  TId "print" ../src/test_parser.nit:80,2--6
                 AParExprs ../src/test_parser.nit:80,7--68
                   TOpar "(" ../src/test_parser.nit:80,7
                   AStringExpr ../src/test_parser.nit:80,8--67
@@ -581,7 +653,8 @@ Start ../src/test_parser.nit:17,1--156,1
                   TCpar ")" ../src/test_parser.nit:80,68
               ACallExpr ../src/test_parser.nit:81,2--51
                 AImplicitSelfExpr ../src/test_parser.nit:81,2
-                TId "print" ../src/test_parser.nit:81,2--6
+                AQid ../src/test_parser.nit:81,2--6
+                  TId "print" ../src/test_parser.nit:81,2--6
                 AParExprs ../src/test_parser.nit:81,7--51
                   TOpar "(" ../src/test_parser.nit:81,7
                   AStringExpr ../src/test_parser.nit:81,8--50
@@ -589,7 +662,8 @@ Start ../src/test_parser.nit:17,1--156,1
                   TCpar ")" ../src/test_parser.nit:81,51
               ACallExpr ../src/test_parser.nit:82,2--30
                 AImplicitSelfExpr ../src/test_parser.nit:82,2
-                TId "print" ../src/test_parser.nit:82,2--6
+                AQid ../src/test_parser.nit:82,2--6
+                  TId "print" ../src/test_parser.nit:82,2--6
                 AParExprs ../src/test_parser.nit:82,7--30
                   TOpar "(" ../src/test_parser.nit:82,7
                   AStringExpr ../src/test_parser.nit:82,8--29
@@ -600,7 +674,8 @@ Start ../src/test_parser.nit:17,1--156,1
               TKwif "if" ../src/test_parser.nit:83,6--7
               ACallExpr ../src/test_parser.nit:83,9--19
                 AImplicitSelfExpr ../src/test_parser.nit:83,9
-                TId "interactive" ../src/test_parser.nit:83,9--19
+                AQid ../src/test_parser.nit:83,9--19
+                  TId "interactive" ../src/test_parser.nit:83,9--19
                 AListExprs ../src/test_parser.nit:83,19
               TKwthen "then" ../src/test_parser.nit:83,21--24
               ABlockExpr ../src/test_parser.nit:84,2--117,4
@@ -608,19 +683,22 @@ Start ../src/test_parser.nit:17,1--156,1
                   TKwif "if" ../src/test_parser.nit:84,2--3
                   ACallExpr ../src/test_parser.nit:84,5--14
                     AImplicitSelfExpr ../src/test_parser.nit:84,5
-                    TId "only_lexer" ../src/test_parser.nit:84,5--14
+                    AQid ../src/test_parser.nit:84,5--14
+                      TId "only_lexer" ../src/test_parser.nit:84,5--14
                     AListExprs ../src/test_parser.nit:84,14
                   TKwthen "then" ../src/test_parser.nit:84,16--19
                   ABlockExpr ../src/test_parser.nit:85,3--86,8
                     ACallExpr ../src/test_parser.nit:85,3--43
                       AImplicitSelfExpr ../src/test_parser.nit:85,3
-                      TId "print" ../src/test_parser.nit:85,3--7
+                      AQid ../src/test_parser.nit:85,3--7
+                        TId "print" ../src/test_parser.nit:85,3--7
                       AListExprs ../src/test_parser.nit:85,9--43
                         AStringExpr ../src/test_parser.nit:85,9--43
                           TString "\"Error: -l and -i are incompatible\"" ../src/test_parser.nit:85,9--43
                     ACallExpr ../src/test_parser.nit:86,3--8
                       AImplicitSelfExpr ../src/test_parser.nit:86,3
-                      TId "exit" ../src/test_parser.nit:86,3--6
+                      AQid ../src/test_parser.nit:86,3--6
+                        TId "exit" ../src/test_parser.nit:86,3--6
                       AListExprs ../src/test_parser.nit:86,8
                         AIntegerExpr ../src/test_parser.nit:86,8
                           TInteger "1" ../src/test_parser.nit:86,8
@@ -629,19 +707,22 @@ Start ../src/test_parser.nit:17,1--156,1
                     TKwif "if" ../src/test_parser.nit:87,7--8
                     ACallExpr ../src/test_parser.nit:87,10--16
                       AImplicitSelfExpr ../src/test_parser.nit:87,10
-                      TId "no_file" ../src/test_parser.nit:87,10--16
+                      AQid ../src/test_parser.nit:87,10--16
+                        TId "no_file" ../src/test_parser.nit:87,10--16
                       AListExprs ../src/test_parser.nit:87,16
                     TKwthen "then" ../src/test_parser.nit:87,18--21
                     ABlockExpr ../src/test_parser.nit:88,3--89,8
                       ACallExpr ../src/test_parser.nit:88,3--43
                         AImplicitSelfExpr ../src/test_parser.nit:88,3
-                        TId "print" ../src/test_parser.nit:88,3--7
+                        AQid ../src/test_parser.nit:88,3--7
+                          TId "print" ../src/test_parser.nit:88,3--7
                         AListExprs ../src/test_parser.nit:88,9--43
                           AStringExpr ../src/test_parser.nit:88,9--43
                             TString "\"Error: -e and -i are incompatible\"" ../src/test_parser.nit:88,9--43
                       ACallExpr ../src/test_parser.nit:89,3--8
                         AImplicitSelfExpr ../src/test_parser.nit:89,3
-                        TId "exit" ../src/test_parser.nit:89,3--6
+                        AQid ../src/test_parser.nit:89,3--6
+                          TId "exit" ../src/test_parser.nit:89,3--6
                         AListExprs ../src/test_parser.nit:89,8
                           AIntegerExpr ../src/test_parser.nit:89,8
                             TInteger "1" ../src/test_parser.nit:89,8
@@ -653,21 +734,25 @@ Start ../src/test_parser.nit:17,1--156,1
                         ACallExpr ../src/test_parser.nit:90,14--26
                           ACallExpr ../src/test_parser.nit:90,14--17
                             AImplicitSelfExpr ../src/test_parser.nit:90,14
-                            TId "args" ../src/test_parser.nit:90,14--17
+                            AQid ../src/test_parser.nit:90,14--17
+                              TId "args" ../src/test_parser.nit:90,14--17
                             AListExprs ../src/test_parser.nit:90,17
-                          TId "is_empty" ../src/test_parser.nit:90,19--26
+                          AQid ../src/test_parser.nit:90,19--26
+                            TId "is_empty" ../src/test_parser.nit:90,19--26
                           AListExprs ../src/test_parser.nit:90,26
                       TKwthen "then" ../src/test_parser.nit:90,28--31
                       ABlockExpr ../src/test_parser.nit:91,3--92,8
                         ACallExpr ../src/test_parser.nit:91,3--43
                           AImplicitSelfExpr ../src/test_parser.nit:91,3
-                          TId "print" ../src/test_parser.nit:91,3--7
+                          AQid ../src/test_parser.nit:91,3--7
+                            TId "print" ../src/test_parser.nit:91,3--7
                           AListExprs ../src/test_parser.nit:91,9--43
                             AStringExpr ../src/test_parser.nit:91,9--43
                               TString "\"Error: -i works without arguments\"" ../src/test_parser.nit:91,9--43
                         ACallExpr ../src/test_parser.nit:92,3--8
                           AImplicitSelfExpr ../src/test_parser.nit:92,3
-                          TId "exit" ../src/test_parser.nit:92,3--6
+                          AQid ../src/test_parser.nit:92,3--6
+                            TId "exit" ../src/test_parser.nit:92,3--6
                           AListExprs ../src/test_parser.nit:92,8
                             AIntegerExpr ../src/test_parser.nit:92,8
                               TInteger "1" ../src/test_parser.nit:92,8
@@ -692,9 +777,11 @@ Start ../src/test_parser.nit:17,1--156,1
                       ACallExpr ../src/test_parser.nit:98,11--37
                         ACallExpr ../src/test_parser.nit:98,11--12
                           AImplicitSelfExpr ../src/test_parser.nit:98,11
-                          TId "tc" ../src/test_parser.nit:98,11--12
+                          AQid ../src/test_parser.nit:98,11--12
+                            TId "tc" ../src/test_parser.nit:98,11--12
                           AListExprs ../src/test_parser.nit:98,12
-                        TId "interactive_parse" ../src/test_parser.nit:98,14--30
+                        AQid ../src/test_parser.nit:98,14--30
+                          TId "interactive_parse" ../src/test_parser.nit:98,14--30
                         AParExprs ../src/test_parser.nit:98,31--37
                           TOpar "(" ../src/test_parser.nit:98,31
                           AStringExpr ../src/test_parser.nit:98,32--36
@@ -705,7 +792,8 @@ Start ../src/test_parser.nit:17,1--156,1
                       AIsaExpr ../src/test_parser.nit:99,6--18
                         ACallExpr ../src/test_parser.nit:99,6
                           AImplicitSelfExpr ../src/test_parser.nit:99,6
-                          TId "n" ../src/test_parser.nit:99,6
+                          AQid ../src/test_parser.nit:99,6
+                            TId "n" ../src/test_parser.nit:99,6
                           AListExprs ../src/test_parser.nit:99,6
                         TKwisa "isa" ../src/test_parser.nit:99,8--10
                         AType ../src/test_parser.nit:99,12--18
@@ -719,16 +807,19 @@ Start ../src/test_parser.nit:17,1--156,1
                           ACallExpr ../src/test_parser.nit:100,12--17
                             ACallExpr ../src/test_parser.nit:100,12
                               AImplicitSelfExpr ../src/test_parser.nit:100,12
-                              TId "n" ../src/test_parser.nit:100,12
+                              AQid ../src/test_parser.nit:100,12
+                                TId "n" ../src/test_parser.nit:100,12
                               AListExprs ../src/test_parser.nit:100,12
-                            TId "text" ../src/test_parser.nit:100,14--17
+                            AQid ../src/test_parser.nit:100,14--17
+                              TId "text" ../src/test_parser.nit:100,14--17
                             AListExprs ../src/test_parser.nit:100,17
                         AIfExpr ../src/test_parser.nit:101,4--105,6
                           TKwif "if" ../src/test_parser.nit:101,4--5
                           AEqExpr ../src/test_parser.nit:101,7--15
                             ACallExpr ../src/test_parser.nit:101,7
                               AImplicitSelfExpr ../src/test_parser.nit:101,7
-                              TId "s" ../src/test_parser.nit:101,7
+                              AQid ../src/test_parser.nit:101,7
+                                TId "s" ../src/test_parser.nit:101,7
                               AListExprs ../src/test_parser.nit:101,7
                             TEq "==" ../src/test_parser.nit:101,9--10
                             AStringExpr ../src/test_parser.nit:101,12--15
@@ -741,7 +832,8 @@ Start ../src/test_parser.nit:17,1--156,1
                           ABlockExpr ../src/test_parser.nit:104,5--105,6
                             ACallExpr ../src/test_parser.nit:104,5--24
                               AImplicitSelfExpr ../src/test_parser.nit:104,5
-                              TId "print" ../src/test_parser.nit:104,5--9
+                              AQid ../src/test_parser.nit:104,5--9
+                                TId "print" ../src/test_parser.nit:104,5--9
                               AListExprs ../src/test_parser.nit:104,11--24
                                 AStringExpr ../src/test_parser.nit:104,11--24
                                   TString "\"`:q` to quit\"" ../src/test_parser.nit:104,11--24
@@ -755,7 +847,8 @@ Start ../src/test_parser.nit:17,1--156,1
                       AIsaExpr ../src/test_parser.nit:109,6--17
                         ACallExpr ../src/test_parser.nit:109,6
                           AImplicitSelfExpr ../src/test_parser.nit:109,6
-                          TId "n" ../src/test_parser.nit:109,6
+                          AQid ../src/test_parser.nit:109,6
+                            TId "n" ../src/test_parser.nit:109,6
                           AListExprs ../src/test_parser.nit:109,6
                         TKwisa "isa" ../src/test_parser.nit:109,8--10
                         AType ../src/test_parser.nit:109,12--17
@@ -764,7 +857,8 @@ Start ../src/test_parser.nit:17,1--156,1
                       ABlockExpr ../src/test_parser.nit:110,4--111,11
                         ACallExpr ../src/test_parser.nit:110,4--57
                           AImplicitSelfExpr ../src/test_parser.nit:110,4
-                          TId "print" ../src/test_parser.nit:110,4--8
+                          AQid ../src/test_parser.nit:110,4--8
+                            TId "print" ../src/test_parser.nit:110,4--8
                           AListExprs ../src/test_parser.nit:110,10--57
                             ASuperstringExpr ../src/test_parser.nit:110,10--57
                               AStartStringExpr ../src/test_parser.nit:110,10--11
@@ -773,11 +867,14 @@ Start ../src/test_parser.nit:17,1--156,1
                                 ACallExpr ../src/test_parser.nit:110,12--21
                                   ACallExpr ../src/test_parser.nit:110,12
                                     AImplicitSelfExpr ../src/test_parser.nit:110,12
-                                    TId "n" ../src/test_parser.nit:110,12
+                                    AQid ../src/test_parser.nit:110,12
+                                      TId "n" ../src/test_parser.nit:110,12
                                     AListExprs ../src/test_parser.nit:110,12
-                                  TId "location" ../src/test_parser.nit:110,14--21
+                                  AQid ../src/test_parser.nit:110,14--21
+                                    TId "location" ../src/test_parser.nit:110,14--21
                                   AListExprs ../src/test_parser.nit:110,21
-                                TId "colored_line" ../src/test_parser.nit:110,23--34
+                                AQid ../src/test_parser.nit:110,23--34
+                                  TId "colored_line" ../src/test_parser.nit:110,23--34
                                 AParExprs ../src/test_parser.nit:110,35--42
                                   TOpar "(" ../src/test_parser.nit:110,35
                                   AStringExpr ../src/test_parser.nit:110,36--41
@@ -788,9 +885,11 @@ Start ../src/test_parser.nit:17,1--156,1
                               ACallExpr ../src/test_parser.nit:110,47--55
                                 ACallExpr ../src/test_parser.nit:110,47
                                   AImplicitSelfExpr ../src/test_parser.nit:110,47
-                                  TId "n" ../src/test_parser.nit:110,47
+                                  AQid ../src/test_parser.nit:110,47
+                                    TId "n" ../src/test_parser.nit:110,47
                                   AListExprs ../src/test_parser.nit:110,47
-                                TId "message" ../src/test_parser.nit:110,49--55
+                                AQid ../src/test_parser.nit:110,49--55
+                                  TId "message" ../src/test_parser.nit:110,49--55
                                 AListExprs ../src/test_parser.nit:110,55
                               AEndStringExpr ../src/test_parser.nit:110,56--57
                                 TEndString "}\"" ../src/test_parser.nit:110,56--57
@@ -804,7 +903,8 @@ Start ../src/test_parser.nit:17,1--156,1
                         TKwnot "not" ../src/test_parser.nit:114,6--8
                         ACallExpr ../src/test_parser.nit:114,10--17
                           AImplicitSelfExpr ../src/test_parser.nit:114,10
-                          TId "no_print" ../src/test_parser.nit:114,10--17
+                          AQid ../src/test_parser.nit:114,10--17
+                            TId "no_print" ../src/test_parser.nit:114,10--17
                           AListExprs ../src/test_parser.nit:114,17
                       TKwthen "then" ../src/test_parser.nit:114,19--22
                       ABlockExpr ../src/test_parser.nit:115,4--40
@@ -817,12 +917,14 @@ Start ../src/test_parser.nit:17,1--156,1
                                 TClassid "PrintTreeVisitor" ../src/test_parser.nit:115,9--24
                               AListExprs ../src/test_parser.nit:115,24
                             TCpar ")" ../src/test_parser.nit:115,25
-                          TId "enter_visit" ../src/test_parser.nit:115,27--37
+                          AQid ../src/test_parser.nit:115,27--37
+                            TId "enter_visit" ../src/test_parser.nit:115,27--37
                           AParExprs ../src/test_parser.nit:115,38--40
                             TOpar "(" ../src/test_parser.nit:115,38
                             ACallExpr ../src/test_parser.nit:115,39
                               AImplicitSelfExpr ../src/test_parser.nit:115,39
-                              TId "n" ../src/test_parser.nit:115,39
+                              AQid ../src/test_parser.nit:115,39
+                                TId "n" ../src/test_parser.nit:115,39
                               AListExprs ../src/test_parser.nit:115,39
                             TCpar ")" ../src/test_parser.nit:115,40
                       ABlockExpr ../src/test_parser.nit:116,3--5
@@ -836,7 +938,8 @@ Start ../src/test_parser.nit:17,1--156,1
                   TKwin "in" ../src/test_parser.nit:119,8--9
                   ACallExpr ../src/test_parser.nit:119,11--14
                     AImplicitSelfExpr ../src/test_parser.nit:119,11
-                    TId "args" ../src/test_parser.nit:119,11--14
+                    AQid ../src/test_parser.nit:119,11--14
+                      TId "args" ../src/test_parser.nit:119,11--14
                     AListExprs ../src/test_parser.nit:119,14
                   TKwdo "do" ../src/test_parser.nit:119,16--17
                   ABlockExpr ../src/test_parser.nit:120,3--154,4
@@ -847,27 +950,31 @@ Start ../src/test_parser.nit:17,1--156,1
                       TKwif "if" ../src/test_parser.nit:121,3--4
                       ACallExpr ../src/test_parser.nit:121,6--12
                         AImplicitSelfExpr ../src/test_parser.nit:121,6
-                        TId "no_file" ../src/test_parser.nit:121,6--12
+                        AQid ../src/test_parser.nit:121,6--12
+                          TId "no_file" ../src/test_parser.nit:121,6--12
                         AListExprs ../src/test_parser.nit:121,12
                       TKwthen "then" ../src/test_parser.nit:121,14--17
                       ABlockExpr ../src/test_parser.nit:122,4--45
                         ACallAssignExpr ../src/test_parser.nit:122,4--45
                           AImplicitSelfExpr ../src/test_parser.nit:122,4
-                          TId "source" ../src/test_parser.nit:122,4--9
+                          AQid ../src/test_parser.nit:122,4--9
+                            TId "source" ../src/test_parser.nit:122,4--9
                           AListExprs ../src/test_parser.nit:122,11
                           TAssign "=" ../src/test_parser.nit:122,11
                           ANewExpr ../src/test_parser.nit:122,13--45
                             TKwnew "new" ../src/test_parser.nit:122,13--15
                             AType ../src/test_parser.nit:122,17--26
                               TClassid "SourceFile" ../src/test_parser.nit:122,17--26
-                            TId "from_string" ../src/test_parser.nit:122,28--38
+                            AQid ../src/test_parser.nit:122,28--38
+                              TId "from_string" ../src/test_parser.nit:122,28--38
                             AParExprs ../src/test_parser.nit:122,39--45
                               TOpar "(" ../src/test_parser.nit:122,39
                               AStringExpr ../src/test_parser.nit:122,40--41
                                 TString "\"\"" ../src/test_parser.nit:122,40--41
                               ACallExpr ../src/test_parser.nit:122,44
                                 AImplicitSelfExpr ../src/test_parser.nit:122,44
-                                TId "a" ../src/test_parser.nit:122,44
+                                AQid ../src/test_parser.nit:122,44
+                                  TId "a" ../src/test_parser.nit:122,44
                                 AListExprs ../src/test_parser.nit:122,44
                               TCpar ")" ../src/test_parser.nit:122,45
                       TKwelse "else" ../src/test_parser.nit:123,3--6
@@ -880,17 +987,20 @@ Start ../src/test_parser.nit:17,1--156,1
                             TKwnew "new" ../src/test_parser.nit:124,12--14
                             AType ../src/test_parser.nit:124,16--25
                               TClassid "FileReader" ../src/test_parser.nit:124,16--25
-                            TId "open" ../src/test_parser.nit:124,27--30
+                            AQid ../src/test_parser.nit:124,27--30
+                              TId "open" ../src/test_parser.nit:124,27--30
                             AParExprs ../src/test_parser.nit:124,31--33
                               TOpar "(" ../src/test_parser.nit:124,31
                               ACallExpr ../src/test_parser.nit:124,32
                                 AImplicitSelfExpr ../src/test_parser.nit:124,32
-                                TId "a" ../src/test_parser.nit:124,32
+                                AQid ../src/test_parser.nit:124,32
+                                  TId "a" ../src/test_parser.nit:124,32
                                 AListExprs ../src/test_parser.nit:124,32
                               TCpar ")" ../src/test_parser.nit:124,33
                         ACallAssignExpr ../src/test_parser.nit:125,4--32
                           AImplicitSelfExpr ../src/test_parser.nit:125,4
-                          TId "source" ../src/test_parser.nit:125,4--9
+                          AQid ../src/test_parser.nit:125,4--9
+                            TId "source" ../src/test_parser.nit:125,4--9
                           AListExprs ../src/test_parser.nit:125,11
                           TAssign "=" ../src/test_parser.nit:125,11
                           ANewExpr ../src/test_parser.nit:125,13--32
@@ -901,19 +1011,23 @@ Start ../src/test_parser.nit:17,1--156,1
                               TOpar "(" ../src/test_parser.nit:125,27
                               ACallExpr ../src/test_parser.nit:125,28
                                 AImplicitSelfExpr ../src/test_parser.nit:125,28
-                                TId "a" ../src/test_parser.nit:125,28
+                                AQid ../src/test_parser.nit:125,28
+                                  TId "a" ../src/test_parser.nit:125,28
                                 AListExprs ../src/test_parser.nit:125,28
                               ACallExpr ../src/test_parser.nit:125,31
                                 AImplicitSelfExpr ../src/test_parser.nit:125,31
-                                TId "f" ../src/test_parser.nit:125,31
+                                AQid ../src/test_parser.nit:125,31
+                                  TId "f" ../src/test_parser.nit:125,31
                                 AListExprs ../src/test_parser.nit:125,31
                               TCpar ")" ../src/test_parser.nit:125,32
                         ACallExpr ../src/test_parser.nit:126,4--10
                           ACallExpr ../src/test_parser.nit:126,4
                             AImplicitSelfExpr ../src/test_parser.nit:126,4
-                            TId "f" ../src/test_parser.nit:126,4
+                            AQid ../src/test_parser.nit:126,4
+                              TId "f" ../src/test_parser.nit:126,4
                             AListExprs ../src/test_parser.nit:126,4
-                          TId "close" ../src/test_parser.nit:126,6--10
+                          AQid ../src/test_parser.nit:126,6--10
+                            TId "close" ../src/test_parser.nit:126,6--10
                           AListExprs ../src/test_parser.nit:126,10
                         TKwend "end" ../src/test_parser.nit:127,3--5
                     AVardeclExpr ../src/test_parser.nit:128,3--31
@@ -928,14 +1042,16 @@ Start ../src/test_parser.nit:17,1--156,1
                           TOpar "(" ../src/test_parser.nit:128,24
                           ACallExpr ../src/test_parser.nit:128,25--30
                             AImplicitSelfExpr ../src/test_parser.nit:128,25
-                            TId "source" ../src/test_parser.nit:128,25--30
+                            AQid ../src/test_parser.nit:128,25--30
+                              TId "source" ../src/test_parser.nit:128,25--30
                             AListExprs ../src/test_parser.nit:128,30
                           TCpar ")" ../src/test_parser.nit:128,31
                     AIfExpr ../src/test_parser.nit:129,3--153,5
                       TKwif "if" ../src/test_parser.nit:129,3--4
                       ACallExpr ../src/test_parser.nit:129,6--15
                         AImplicitSelfExpr ../src/test_parser.nit:129,6
-                        TId "only_lexer" ../src/test_parser.nit:129,6--15
+                        AQid ../src/test_parser.nit:129,6--15
+                          TId "only_lexer" ../src/test_parser.nit:129,6--15
                         AListExprs ../src/test_parser.nit:129,15
                       TKwthen "then" ../src/test_parser.nit:129,17--20
                       ABlockExpr ../src/test_parser.nit:130,4--136,6
@@ -946,9 +1062,11 @@ Start ../src/test_parser.nit:17,1--156,1
                           ACallExpr ../src/test_parser.nit:130,16--25
                             ACallExpr ../src/test_parser.nit:130,16--20
                               AImplicitSelfExpr ../src/test_parser.nit:130,16
-                              TId "lexer" ../src/test_parser.nit:130,16--20
+                              AQid ../src/test_parser.nit:130,16--20
+                                TId "lexer" ../src/test_parser.nit:130,16--20
                               AListExprs ../src/test_parser.nit:130,20
-                            TId "next" ../src/test_parser.nit:130,22--25
+                            AQid ../src/test_parser.nit:130,22--25
+                              TId "next" ../src/test_parser.nit:130,22--25
                             AListExprs ../src/test_parser.nit:130,25
                         AWhileExpr ../src/test_parser.nit:131,4--136,6
                           TKwwhile "while" ../src/test_parser.nit:131,4--8
@@ -957,7 +1075,8 @@ Start ../src/test_parser.nit:17,1--156,1
                             AIsaExpr ../src/test_parser.nit:131,14--26
                               ACallExpr ../src/test_parser.nit:131,14--18
                                 AImplicitSelfExpr ../src/test_parser.nit:131,14
-                                TId "token" ../src/test_parser.nit:131,14--18
+                                AQid ../src/test_parser.nit:131,14--18
+                                  TId "token" ../src/test_parser.nit:131,14--18
                                 AListExprs ../src/test_parser.nit:131,18
                               TKwisa "isa" ../src/test_parser.nit:131,20--22
                               AType ../src/test_parser.nit:131,24--26
@@ -970,13 +1089,15 @@ Start ../src/test_parser.nit:17,1--156,1
                                 TKwnot "not" ../src/test_parser.nit:132,8--10
                                 ACallExpr ../src/test_parser.nit:132,12--19
                                   AImplicitSelfExpr ../src/test_parser.nit:132,12
-                                  TId "no_print" ../src/test_parser.nit:132,12--19
+                                  AQid ../src/test_parser.nit:132,12--19
+                                    TId "no_print" ../src/test_parser.nit:132,12--19
                                   AListExprs ../src/test_parser.nit:132,19
                               TKwthen "then" ../src/test_parser.nit:132,21--24
                               ABlockExpr ../src/test_parser.nit:133,6--64
                                 ACallExpr ../src/test_parser.nit:133,6--64
                                   AImplicitSelfExpr ../src/test_parser.nit:133,6
-                                  TId "print" ../src/test_parser.nit:133,6--10
+                                  AQid ../src/test_parser.nit:133,6--10
+                                    TId "print" ../src/test_parser.nit:133,6--10
                                   AParExprs ../src/test_parser.nit:133,11--64
                                     TOpar "(" ../src/test_parser.nit:133,11
                                     ASuperstringExpr ../src/test_parser.nit:133,12--63
@@ -985,18 +1106,22 @@ Start ../src/test_parser.nit:17,1--156,1
                                       ACallExpr ../src/test_parser.nit:133,28--41
                                         ACallExpr ../src/test_parser.nit:133,28--32
                                           AImplicitSelfExpr ../src/test_parser.nit:133,28
-                                          TId "token" ../src/test_parser.nit:133,28--32
+                                          AQid ../src/test_parser.nit:133,28--32
+                                            TId "token" ../src/test_parser.nit:133,28--32
                                           AListExprs ../src/test_parser.nit:133,32
-                                        TId "location" ../src/test_parser.nit:133,34--41
+                                        AQid ../src/test_parser.nit:133,34--41
+                                          TId "location" ../src/test_parser.nit:133,34--41
                                         AListExprs ../src/test_parser.nit:133,41
                                       AMidStringExpr ../src/test_parser.nit:133,42--50
                                         TMidString "} text=\'{" ../src/test_parser.nit:133,42--50
                                       ACallExpr ../src/test_parser.nit:133,51--60
                                         ACallExpr ../src/test_parser.nit:133,51--55
                                           AImplicitSelfExpr ../src/test_parser.nit:133,51
-                                          TId "token" ../src/test_parser.nit:133,51--55
+                                          AQid ../src/test_parser.nit:133,51--55
+                                            TId "token" ../src/test_parser.nit:133,51--55
                                           AListExprs ../src/test_parser.nit:133,55
-                                        TId "text" ../src/test_parser.nit:133,57--60
+                                        AQid ../src/test_parser.nit:133,57--60
+                                          TId "text" ../src/test_parser.nit:133,57--60
                                         AListExprs ../src/test_parser.nit:133,60
                                       AEndStringExpr ../src/test_parser.nit:133,61--63
                                         TEndString "}\'\"" ../src/test_parser.nit:133,61--63
@@ -1005,15 +1130,18 @@ Start ../src/test_parser.nit:17,1--156,1
                                 TKwend "end" ../src/test_parser.nit:134,5--7
                             ACallAssignExpr ../src/test_parser.nit:135,5--22
                               AImplicitSelfExpr ../src/test_parser.nit:135,5
-                              TId "token" ../src/test_parser.nit:135,5--9
+                              AQid ../src/test_parser.nit:135,5--9
+                                TId "token" ../src/test_parser.nit:135,5--9
                               AListExprs ../src/test_parser.nit:135,11
                               TAssign "=" ../src/test_parser.nit:135,11
                               ACallExpr ../src/test_parser.nit:135,13--22
                                 ACallExpr ../src/test_parser.nit:135,13--17
                                   AImplicitSelfExpr ../src/test_parser.nit:135,13
-                                  TId "lexer" ../src/test_parser.nit:135,13--17
+                                  AQid ../src/test_parser.nit:135,13--17
+                                    TId "lexer" ../src/test_parser.nit:135,13--17
                                   AListExprs ../src/test_parser.nit:135,17
-                                TId "next" ../src/test_parser.nit:135,19--22
+                                AQid ../src/test_parser.nit:135,19--22
+                                  TId "next" ../src/test_parser.nit:135,19--22
                                 AListExprs ../src/test_parser.nit:135,22
                             TKwend "end" ../src/test_parser.nit:136,4--6
                       TKwelse "else" ../src/test_parser.nit:137,3--6
@@ -1030,7 +1158,8 @@ Start ../src/test_parser.nit:17,1--156,1
                               TOpar "(" ../src/test_parser.nit:138,27
                               ACallExpr ../src/test_parser.nit:138,28--32
                                 AImplicitSelfExpr ../src/test_parser.nit:138,28
-                                TId "lexer" ../src/test_parser.nit:138,28--32
+                                AQid ../src/test_parser.nit:138,28--32
+                                  TId "lexer" ../src/test_parser.nit:138,28--32
                                 AListExprs ../src/test_parser.nit:138,32
                               TCpar ")" ../src/test_parser.nit:138,33
                         AVardeclExpr ../src/test_parser.nit:139,4--26
@@ -1040,9 +1169,11 @@ Start ../src/test_parser.nit:17,1--156,1
                           ACallExpr ../src/test_parser.nit:139,15--26
                             ACallExpr ../src/test_parser.nit:139,15--20
                               AImplicitSelfExpr ../src/test_parser.nit:139,15
-                              TId "parser" ../src/test_parser.nit:139,15--20
+                              AQid ../src/test_parser.nit:139,15--20
+                                TId "parser" ../src/test_parser.nit:139,15--20
                               AListExprs ../src/test_parser.nit:139,20
-                            TId "parse" ../src/test_parser.nit:139,22--26
+                            AQid ../src/test_parser.nit:139,22--26
+                              TId "parse" ../src/test_parser.nit:139,22--26
                             AListExprs ../src/test_parser.nit:139,26
                         AVardeclExpr ../src/test_parser.nit:141,4--25
                           TKwvar "var" ../src/test_parser.nit:141,4--6
@@ -1051,16 +1182,19 @@ Start ../src/test_parser.nit:17,1--156,1
                           ACallExpr ../src/test_parser.nit:141,16--25
                             ACallExpr ../src/test_parser.nit:141,16--19
                               AImplicitSelfExpr ../src/test_parser.nit:141,16
-                              TId "tree" ../src/test_parser.nit:141,16--19
+                              AQid ../src/test_parser.nit:141,16--19
+                                TId "tree" ../src/test_parser.nit:141,16--19
                               AListExprs ../src/test_parser.nit:141,19
-                            TId "n_eof" ../src/test_parser.nit:141,21--25
+                            AQid ../src/test_parser.nit:141,21--25
+                              TId "n_eof" ../src/test_parser.nit:141,21--25
                             AListExprs ../src/test_parser.nit:141,25
                         AIfExpr ../src/test_parser.nit:142,4--145,6
                           TKwif "if" ../src/test_parser.nit:142,4--5
                           AIsaExpr ../src/test_parser.nit:142,7--22
                             ACallExpr ../src/test_parser.nit:142,7--11
                               AImplicitSelfExpr ../src/test_parser.nit:142,7
-                              TId "error" ../src/test_parser.nit:142,7--11
+                              AQid ../src/test_parser.nit:142,7--11
+                                TId "error" ../src/test_parser.nit:142,7--11
                               AListExprs ../src/test_parser.nit:142,11
                             TKwisa "isa" ../src/test_parser.nit:142,13--15
                             AType ../src/test_parser.nit:142,17--22
@@ -1069,7 +1203,8 @@ Start ../src/test_parser.nit:17,1--156,1
                           ABlockExpr ../src/test_parser.nit:143,5--144,10
                             ACallExpr ../src/test_parser.nit:143,5--58
                               AImplicitSelfExpr ../src/test_parser.nit:143,5
-                              TId "print" ../src/test_parser.nit:143,5--9
+                              AQid ../src/test_parser.nit:143,5--9
+                                TId "print" ../src/test_parser.nit:143,5--9
                               AParExprs ../src/test_parser.nit:143,10--58
                                 TOpar "(" ../src/test_parser.nit:143,10
                                 ASuperstringExpr ../src/test_parser.nit:143,11--57
@@ -1078,18 +1213,22 @@ Start ../src/test_parser.nit:17,1--156,1
                                   ACallExpr ../src/test_parser.nit:143,22--35
                                     ACallExpr ../src/test_parser.nit:143,22--26
                                       AImplicitSelfExpr ../src/test_parser.nit:143,22
-                                      TId "error" ../src/test_parser.nit:143,22--26
+                                      AQid ../src/test_parser.nit:143,22--26
+                                        TId "error" ../src/test_parser.nit:143,22--26
                                       AListExprs ../src/test_parser.nit:143,26
-                                    TId "location" ../src/test_parser.nit:143,28--35
+                                    AQid ../src/test_parser.nit:143,28--35
+                                      TId "location" ../src/test_parser.nit:143,28--35
                                     AListExprs ../src/test_parser.nit:143,35
                                   AMidStringExpr ../src/test_parser.nit:143,36--42
                                     TMidString "}:\\n\\t{" ../src/test_parser.nit:143,36--42
                                   ACallExpr ../src/test_parser.nit:143,43--55
                                     ACallExpr ../src/test_parser.nit:143,43--47
                                       AImplicitSelfExpr ../src/test_parser.nit:143,43
-                                      TId "error" ../src/test_parser.nit:143,43--47
+                                      AQid ../src/test_parser.nit:143,43--47
+                                        TId "error" ../src/test_parser.nit:143,43--47
                                       AListExprs ../src/test_parser.nit:143,47
-                                    TId "message" ../src/test_parser.nit:143,49--55
+                                    AQid ../src/test_parser.nit:143,49--55
+                                      TId "message" ../src/test_parser.nit:143,49--55
                                     AListExprs ../src/test_parser.nit:143,55
                                   AEndStringExpr ../src/test_parser.nit:143,56--57
                                     TEndString "}\"" ../src/test_parser.nit:143,56--57
@@ -1102,31 +1241,38 @@ Start ../src/test_parser.nit:17,1--156,1
                           TKwif "if" ../src/test_parser.nit:147,4--5
                           ACallExpr ../src/test_parser.nit:147,7--9
                             AImplicitSelfExpr ../src/test_parser.nit:147,7
-                            TId "xml" ../src/test_parser.nit:147,7--9
+                            AQid ../src/test_parser.nit:147,7--9
+                              TId "xml" ../src/test_parser.nit:147,7--9
                             AListExprs ../src/test_parser.nit:147,9
                           TKwthen "then" ../src/test_parser.nit:147,11--14
                           ABlockExpr ../src/test_parser.nit:148,5--149,32
                             ACallExpr ../src/test_parser.nit:148,5--25
                               ACallExpr ../src/test_parser.nit:148,5--8
                                 AImplicitSelfExpr ../src/test_parser.nit:148,5
-                                TId "tree" ../src/test_parser.nit:148,5--8
+                                AQid ../src/test_parser.nit:148,5--8
+                                  TId "tree" ../src/test_parser.nit:148,5--8
                                 AListExprs ../src/test_parser.nit:148,8
-                              TId "parentize_tokens" ../src/test_parser.nit:148,10--25
+                              AQid ../src/test_parser.nit:148,10--25
+                                TId "parentize_tokens" ../src/test_parser.nit:148,10--25
                               AListExprs ../src/test_parser.nit:148,25
                             ACallExpr ../src/test_parser.nit:149,5--32
                               ACallExpr ../src/test_parser.nit:149,5--15
                                 ACallExpr ../src/test_parser.nit:149,5--8
                                   AImplicitSelfExpr ../src/test_parser.nit:149,5
-                                  TId "tree" ../src/test_parser.nit:149,5--8
+                                  AQid ../src/test_parser.nit:149,5--8
+                                    TId "tree" ../src/test_parser.nit:149,5--8
                                   AListExprs ../src/test_parser.nit:149,8
-                                TId "to_xml" ../src/test_parser.nit:149,10--15
+                                AQid ../src/test_parser.nit:149,10--15
+                                  TId "to_xml" ../src/test_parser.nit:149,10--15
                                 AListExprs ../src/test_parser.nit:149,15
-                              TId "write_to" ../src/test_parser.nit:149,17--24
+                              AQid ../src/test_parser.nit:149,17--24
+                                TId "write_to" ../src/test_parser.nit:149,17--24
                               AParExprs ../src/test_parser.nit:149,25--32
                                 TOpar "(" ../src/test_parser.nit:149,25
                                 ACallExpr ../src/test_parser.nit:149,26--31
                                   AImplicitSelfExpr ../src/test_parser.nit:149,26
-                                  TId "stdout" ../src/test_parser.nit:149,26--31
+                                  AQid ../src/test_parser.nit:149,26--31
+                                    TId "stdout" ../src/test_parser.nit:149,26--31
                                   AListExprs ../src/test_parser.nit:149,31
                                 TCpar ")" ../src/test_parser.nit:149,32
                           TKwelse "else" ../src/test_parser.nit:150,4--7
@@ -1136,7 +1282,8 @@ Start ../src/test_parser.nit:17,1--156,1
                               TKwnot "not" ../src/test_parser.nit:150,12--14
                               ACallExpr ../src/test_parser.nit:150,16--23
                                 AImplicitSelfExpr ../src/test_parser.nit:150,16
-                                TId "no_print" ../src/test_parser.nit:150,16--23
+                                AQid ../src/test_parser.nit:150,16--23
+                                  TId "no_print" ../src/test_parser.nit:150,16--23
                                 AListExprs ../src/test_parser.nit:150,23
                             TKwthen "then" ../src/test_parser.nit:150,25--28
                             ABlockExpr ../src/test_parser.nit:151,5--44
@@ -1149,12 +1296,14 @@ Start ../src/test_parser.nit:17,1--156,1
                                       TClassid "PrintTreeVisitor" ../src/test_parser.nit:151,10--25
                                     AListExprs ../src/test_parser.nit:151,25
                                   TCpar ")" ../src/test_parser.nit:151,26
-                                TId "enter_visit" ../src/test_parser.nit:151,28--38
+                                AQid ../src/test_parser.nit:151,28--38
+                                  TId "enter_visit" ../src/test_parser.nit:151,28--38
                                 AParExprs ../src/test_parser.nit:151,39--44
                                   TOpar "(" ../src/test_parser.nit:151,39
                                   ACallExpr ../src/test_parser.nit:151,40--43
                                     AImplicitSelfExpr ../src/test_parser.nit:151,40
-                                    TId "tree" ../src/test_parser.nit:151,40--43
+                                    AQid ../src/test_parser.nit:151,40--43
+                                      TId "tree" ../src/test_parser.nit:151,40--43
                                     AListExprs ../src/test_parser.nit:151,43
                                   TCpar ")" ../src/test_parser.nit:151,44
                             ABlockExpr ../src/test_parser.nit:152,4--6
index fcd0e45..b48e525 100644 (file)
@@ -13,18 +13,21 @@ Start 1,1--42
               TKwnew "new" 1,18--20
               AType 1,22--25
                 TClassid "Toto" 1,22--25
-              TId "toto" 1,27--30
+              AQid 1,27--30
+                TId "toto" 1,27--30
               AParExprs 1,31--41
                 TOpar "(" 1,31
                 APlusExpr 1,32--40
                   ACallExpr 1,32--35
                     AImplicitSelfExpr 1,32
-                    TId "toto" 1,32--35
+                    AQid 1,32--35
+                      TId "toto" 1,32--35
                     AListExprs 1,35
                   TPlus "+" 1,36
                   ACallExpr 1,37--40
                     AImplicitSelfExpr 1,37
-                    TId "toto" 1,37--40
+                    AQid 1,37--40
+                      TId "toto" 1,37--40
                     AListExprs 1,40
                 TCpar ")" 1,41
   EOF "" 1,42
index 1fa723d..639e45d 100644 (file)
@@ -3,11 +3,13 @@
 --> ABlockExpr 1,1--11
   ACallExpr 1,1--11
     AImplicitSelfExpr 1,1
-    TId "hello" 1,1--5
+    AQid 1,1--5
+      TId "hello" 1,1--5
     AListExprs 1,7--11
       ACallExpr 1,7--11
         AImplicitSelfExpr 1,7
-        TId "world" 1,7--11
+        AQid 1,7--11
+          TId "world" 1,7--11
         AListExprs 1,11
 --> AStringExpr 1,1--13
   TString "\"hello world\"" 1,1--13
   TKwin "in" 1,7--8
   ACallExpr 1,10
     AImplicitSelfExpr 1,10
-    TId "x" 1,10
+    AQid 1,10
+      TId "x" 1,10
     AListExprs 1,10
   TKwdo "do" 1,12--13
   ACallExpr 1,15
     AImplicitSelfExpr 1,15
-    TId "p" 1,15
+    AQid 1,15
+      TId "p" 1,15
     AListExprs 1,15
 --> AModule 1,1--12
   ATopClassdef 1,1--12
@@ -35,7 +39,8 @@
       TKwdo "do" 1,9--10
       ACallExpr 1,12
         AImplicitSelfExpr 1,12
-        TId "z" 1,12
+        AQid 1,12
+          TId "z" 1,12
         AListExprs 1,12
 --> ... ... AForExpr 1,1--3,3
   TKwfor "for" 1,1--3
   TKwin "in" 1,7--8
   ACallExpr 1,10
     AImplicitSelfExpr 1,10
-    TId "x" 1,10
+    AQid 1,10
+      TId "x" 1,10
     AListExprs 1,10
   TKwdo "do" 1,12--13
   ABlockExpr 2,1--3,3
     ACallExpr 2,1
       AImplicitSelfExpr 2,1
-      TId "p" 2,1
+      AQid 2,1
+        TId "p" 2,1
       AListExprs 2,1
     TKwend "end" 3,1--3
 --> ... ... ... ... AModule 1,1--5,3
           TKwin "in" 2,7--8
           ACallExpr 2,10
             AImplicitSelfExpr 2,10
-            TId "x" 2,10
+            AQid 2,10
+              TId "x" 2,10
             AListExprs 2,10
           TKwdo "do" 2,12--13
           ABlockExpr 3,1--4,3
             ACallExpr 3,1
               AImplicitSelfExpr 3,1
-              TId "p" 3,1
+              AQid 3,1
+                TId "p" 3,1
               AListExprs 3,1
             TKwend "end" 4,1--3
         TKwend "end" 5,1--3
diff --git a/tests/sav/test_unicode_4bytes.res b/tests/sav/test_unicode_4bytes.res
new file mode 100644 (file)
index 0000000..614d068
--- /dev/null
@@ -0,0 +1,2 @@
+103d3
+10ffff
diff --git a/tests/test_autoinit_optional.nit b/tests/test_autoinit_optional.nit
new file mode 100644 (file)
index 0000000..9be0277
--- /dev/null
@@ -0,0 +1,126 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# This test provides variations on having an attribute with a default value but optionally settable with the constructor
+# The main points of variation here is what are the basic exposed services and behavior
+
+# The attribute is stored as not nullable but manual setter with a nullable signature is exposed
+# Setting with `null` invoke the real setter with the default value.
+# The manual setter is used as an initializer thus collected in the autoinit.
+#
+# Best option if one wants to allow the user to reset the default (with null) once the object is created
+class A
+       var s: String is noautoinit, private writable(real_s=)
+       fun s=(v: nullable String) is autoinit do self.real_s = v or else "Default"
+end
+
+# The attribute is stored as not nullable with standard automatic getter/setter
+# The initializer is a manual method that accepts the nullable value and assigns the default value if null is given.
+#
+# Best option if the default can only be set a construction time
+class B
+       var s: String is noautoinit
+       protected fun s_opt=(v: nullable String) is autoinit do self.s = v or else "Default"
+end
+
+# The attribute is stored as nullable.
+# A manual getter is used to return a default value if the attribute is null.
+#
+# Shortest solution without annotation.
+# Con: the default is determined by the getter and never stored (this could be an issue if the default is complex)
+class C
+       protected var s_opt: nullable String
+       fun s: String do return s_opt or else "Default"
+end
+
+# The attribute is stored as nullable.
+# A manual getter is used to return a default value if the attribute is null.
+#
+# Longer solution without annotation but the getter lazily computes and stores the default once
+class D
+       protected var s_opt: nullable String
+       fun s: String do
+               var res = s_opt
+               if res != null then return res
+               res = "Default"
+               s_opt = res
+               return res
+       end
+end
+
+# The attribute is stored as not nullable with standard automatic getter/setter
+# The initializer is manual method that accepts the nullable value and does nothing if null is given.
+#
+# This one has a tricky behavior if one accesses to `s` before `s_opt=` is executed
+class E
+       var s = "Default" is lazy
+       protected fun s_opt=(v: nullable String) is autoinit do if v != null then s = v
+end
+
+var a2 = new A("Mine")
+print a2.s
+var a1 = new A
+print a1.s
+a1.s = "Other"
+print a1.s
+a1.s = null
+print a1.s
+
+print ""
+
+var b2 = new B("Mine")
+print b2.s
+var b1 = new B
+print b1.s
+b1.s = "Other"
+print b1.s
+b1.s_opt = null
+print b1.s
+b1.s_opt = "Yet Another"
+print b1.s
+
+print ""
+
+var c2 = new C("Mine")
+print c2.s
+var c1 = new C
+print c1.s
+c1.s_opt = "Other"
+print c1.s
+c1.s_opt = null
+print c1.s
+
+print ""
+
+var d2 = new D("Mine")
+print d2.s
+var d1 = new D
+print d1.s
+d1.s_opt = "Other"
+print d1.s
+d1.s_opt = null
+print d1.s
+
+print ""
+
+var e2 = new E("Mine")
+print e2.s
+var e1 = new E
+print e1.s
+e1.s = "Other"
+print e1.s
+e1.s_opt = null
+print e1.s
+e1.s_opt = "Yet Another"
+print e1.s
diff --git a/tests/test_unicode_4bytes.nit b/tests/test_unicode_4bytes.nit
new file mode 100644 (file)
index 0000000..d069253
--- /dev/null
@@ -0,0 +1,20 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+intrude import standard::text::flat
+import standard
+
+var s = "𐏓􏿿".as(FlatString)
+print s.items.char_at(0).ascii.to_hex
+print s.items.char_at(4).ascii.to_hex