metamodel: rename 'universal' to 'enum'
authorJean Privat <jean@pryen.org>
Sat, 12 Feb 2011 08:11:28 +0000 (03:11 -0500)
committerJean Privat <jean@pryen.org>
Mon, 14 Feb 2011 20:24:13 +0000 (15:24 -0500)
In the identifiers used in the metamodel and in the error messages.

Signed-off-by: Jean Privat <jean@pryen.org>

163 files changed:
lib/dummy_array.nit
lib/filter_stream.nit
lib/game.nit
lib/opts.nit
lib/sdl.nit
lib/standard/collection/abstract_collection.nit
lib/standard/collection/array.nit
lib/standard/collection/hash_collection.nit
lib/standard/collection/list.nit
lib/standard/collection/range.nit
lib/standard/collection/sorter.nit
lib/standard/exec.nit
lib/standard/file.nit
lib/standard/kernel.nit
lib/standard/stream.nit
lib/standard/string.nit
lib/standard/string_search.nit
src/abstracttool.nit
src/analysis/allocate_iregister_slots.nit
src/analysis/cha_analysis.nit
src/analysis/inline_get_and_set.nit
src/analysis/inline_methods.nit
src/analysis/instantiated_type_analysis.nit
src/analysis/reachable_as_init.nit
src/analysis/reachable_as_init_impl.nit
src/analysis/reachable_from_init_method_analysis.nit
src/analysis/reachable_from_init_method_analysis_impl.nit
src/analysis/reachable_method_analysis.nit
src/analysis/remove_out_of_init_get_test.nit
src/analysis/rta_analysis.nit
src/compiling/compiling_writer.nit
src/compiling/icode_generator.nit
src/compiling/table_computation.nit
src/icode/icode_base.nit
src/location.nit
src/metamodel/abstractmetamodel.nit
src/metamodel/genericity.nit
src/metamodel/inheritance.nit
src/metamodel/partial_order.nit
src/metamodel/static_type.nit
src/metamodel/type_formal.nit
src/metamodel/virtualtype.nit
src/mmloader.nit
src/nitc.nit
src/nitdoc.nit
src/parser/lexer.nit
src/parser/parser.nit
src/parser/parser_abs.nit
src/parser/parser_nodes.nit
src/parser/test_parser.nit
src/parser/xss/lexer.xss
src/parser/xss/nodes.xss
src/parser/xss/parser.xss
src/parser/xss/prods.xss
src/parser/xss/tokens.xss
src/syntax/flow.nit
src/syntax/icode_generation.nit
src/syntax/mmbuilder.nit
src/syntax/scope.nit
src/syntax/syntax.nit
src/syntax/syntax_base.nit
src/syntax/typing.nit
tests/base_as_cast.nit
tests/base_as_notnull.nit
tests/base_assert2.nit
tests/base_attr.nit
tests/base_attr3.nit
tests/base_attr4.nit
tests/base_attr5.nit
tests/base_attr6.nit
tests/base_attr_def.nit
tests/base_attr_isset.nit
tests/base_attr_nullable.nit
tests/base_attr_nullable_int.nit
tests/base_classid.nit
tests/base_closure6.nit
tests/base_closure_raf.nit
tests/base_eq.nit
tests/base_gen.nit
tests/base_gen_f.nit
tests/base_init_inh.nit
tests/base_init_inherit.nit
tests/base_init_inherit2.nit
tests/base_init_inherit3.nit
tests/base_init_inherit4.nit
tests/base_init_inherit5.nit
tests/base_init_linext.nit
tests/base_init_linext2.nit
tests/base_init_simple.nit
tests/base_inline.nit
tests/base_inline_closure.nit
tests/base_inline_closure2.nit
tests/base_inline_closure_nested.nit
tests/base_inline_nested.nit
tests/base_inline_nested2.nit
tests/base_isa.nit
tests/base_isa_cast.nit
tests/base_isa_cast2.nit
tests/base_isa_cast3.nit
tests/base_isa_cast4.nit
tests/base_isa_cast_self.nit
tests/base_primitive.nit
tests/base_prot2.nit
tests/base_sig_inh.nit
tests/base_simple.nit
tests/base_simple2.nit
tests/base_super_linext.nit
tests/base_var_type_evolution.nit
tests/base_var_type_evolution_null.nit
tests/base_virtual_type.nit
tests/base_virtual_type2.nit
tests/base_virtual_type3.nit
tests/base_virtual_type5.nit
tests/base_virtual_type_self.nit
tests/bench_complex_sort.nit
tests/bench_netsim.nit
tests/bench_send.nit
tests/bench_send2.nit
tests/error_gen_f_inh_clash.nit
tests/error_inh_clash.nit
tests/error_inh_loop.nit
tests/error_needed_method.nit
tests/error_prop_glob.nit
tests/error_prop_loc.nit
tests/error_spe_attr.nit
tests/error_spe_fun.nit
tests/error_spe_param.nit
tests/error_spe_param2.nit
tests/error_spe_proc.nit
tests/error_spe_ret.nit
tests/error_type_not_ok.nit
tests/error_type_not_ok2.nit
tests/example_beer.nit
tests/example_objet.nit
tests/example_sorter.nit
tests/icode_dmr_inh.nit
tests/module_1.nit
tests/module_2.nit
tests/module_simple.nit
tests/sav/base_init_inherit3.sav
tests/sav/error_type_not_ok.sav
tests/sav/error_type_not_ok2.sav
tests/sav/error_type_not_ok2_alt1.sav
tests/sav/error_type_not_ok_alt1.sav
tests/sol.nit
tests/test_boxing.nit
tests/test_calls.nit
tests/test_gen.nit
tests/test_gen_inh.nit
tests/test_genplus.nit
tests/test_inheritance.nit
tests/test_meta.nit
tests/test_multiconstraint.nit
tests/test_multiconstraint_inh.nit
tests/test_obj.nit
tests/test_super.nit
tests/test_super_gen.nit
tests/test_super_gen_raf.nit
tests/test_super_param.nit
tests/test_super_param_raf2.nit
tests/test_variance_attr.nit
tests/test_variance_param.nit
tests/test_variance_ret.nit

index 46297ea..a0ea46c 100644 (file)
@@ -11,8 +11,8 @@
 # another product.
 
 class DummyArray
 # another product.
 
 class DummyArray
-special Set[Int]
-special ArrayCapable[Int]
+       super Set[Int]
+       super ArrayCapable[Int]
        var _capacity: Int 
        redef readable var _length: Int 
        var _keys: NativeArray[Int]
        var _capacity: Int 
        redef readable var _length: Int 
        var _keys: NativeArray[Int]
@@ -85,7 +85,7 @@ special ArrayCapable[Int]
 end
 
 class DummyIterator
 end
 
 class DummyIterator
-special Iterator[Int]
+       super Iterator[Int]
        var _array: DummyArray
        var _pos: Int
 
        var _array: DummyArray
        var _pos: Int
 
index 4146345..66366c6 100644 (file)
@@ -12,7 +12,7 @@
 # another product.
 
 class FilterIStream
 # another product.
 
 class FilterIStream
-special IStream
+       super IStream
        # Filter readed elements
        readable var _stream: nullable IStream
 
        # Filter readed elements
        readable var _stream: nullable IStream
 
@@ -29,7 +29,7 @@ special IStream
 end
 
 class FilterOStream
 end
 
 class FilterOStream
-special OStream
+       super OStream
        # Filter outputed elements
        readable var _stream: nullable OStream
 
        # Filter outputed elements
        readable var _stream: nullable OStream
 
@@ -47,7 +47,7 @@ special OStream
 end
 
 class StreamCat
 end
 
 class StreamCat
-special FilterIStream
+       super FilterIStream
        var _streams: Iterator[IStream]
 
        redef fun eof: Bool
        var _streams: Iterator[IStream]
 
        redef fun eof: Bool
@@ -98,7 +98,7 @@ special FilterIStream
 end
 
 class StreamDemux
 end
 
 class StreamDemux
-special FilterOStream
+       super FilterOStream
        var _streams: Array[OStream]
 
        redef fun is_writable: Bool
        var _streams: Array[OStream]
 
        redef fun is_writable: Bool
index dea6d9f..1319a17 100644 (file)
@@ -124,7 +124,7 @@ end
 # A sprite is a drawable element.
 # It is represented by a main pixel (x,y) and an image (image)
 class Sprite
 # A sprite is a drawable element.
 # It is represented by a main pixel (x,y) and an image (image)
 class Sprite
-special Rectangle
+       super Rectangle
 
        # Absolute X coordinate of the main pixel in the screen
        readable writable var _x: Int
 
        # Absolute X coordinate of the main pixel in the screen
        readable writable var _x: Int
index 5bcb5d0..59391cd 100644 (file)
@@ -79,7 +79,7 @@ class Option
 end
 
 class OptionText
 end
 
 class OptionText
-special Option
+       super Option
        init(text: String) do init_opt(text, null, null)
 
        redef fun pretty(off) do return to_s
        init(text: String) do init_opt(text, null, null)
 
        redef fun pretty(off) do return to_s
@@ -88,7 +88,7 @@ special Option
 end
 
 class OptionBool
 end
 
 class OptionBool
-special Option
+       super Option
        redef type VALUE: Bool
 
        init(help: String, names: String...) do init_opt(help, false, names)
        redef type VALUE: Bool
 
        init(help: String, names: String...) do init_opt(help, false, names)
@@ -97,7 +97,7 @@ special Option
 end
 
 class OptionCount
 end
 
 class OptionCount
-special Option
+       super Option
        redef type VALUE: Int
 
        init(help: String, names: String...) do init_opt(help, 0, names)
        redef type VALUE: Int
 
        init(help: String, names: String...) do init_opt(help, 0, names)
@@ -107,7 +107,7 @@ end
 
 # Option with one mandatory parameter
 class OptionParameter
 
 # Option with one mandatory parameter
 class OptionParameter
-special Option
+       super Option
        protected fun convert(str: String): VALUE is abstract
 
        redef fun read_param(it)
        protected fun convert(str: String): VALUE is abstract
 
        redef fun read_param(it)
@@ -124,7 +124,7 @@ special Option
 end
 
 class OptionString
 end
 
 class OptionString
-special OptionParameter
+       super OptionParameter
        redef type VALUE: nullable String
 
        init(help: String, names: String...) do init_opt(help, null, names)
        redef type VALUE: nullable String
 
        init(help: String, names: String...) do init_opt(help, null, names)
@@ -133,7 +133,7 @@ special OptionParameter
 end
 
 class OptionEnum
 end
 
 class OptionEnum
-special OptionParameter
+       super OptionParameter
        redef type VALUE: Int
        var _values: Array[String]
 
        redef type VALUE: Int
        var _values: Array[String]
 
@@ -163,7 +163,7 @@ special OptionParameter
 end
 
 class OptionInt
 end
 
 class OptionInt
-special OptionParameter
+       super OptionParameter
        redef type VALUE: Int
 
        init(help: String, default: Int, names: String...) do init_opt(help, default, names)
        redef type VALUE: Int
 
        init(help: String, default: Int, names: String...) do init_opt(help, default, names)
@@ -172,7 +172,7 @@ special OptionParameter
 end
 
 class OptionArray
 end
 
 class OptionArray
-special OptionParameter
+       super OptionParameter
        redef type VALUE: Array[String]
 
        init(help: String, names: String...)
        redef type VALUE: Array[String]
 
        init(help: String, names: String...)
index e1e8b87..960c062 100644 (file)
@@ -14,7 +14,7 @@
 package sdl
 
 universal SDL_Surface
 package sdl
 
 universal SDL_Surface
-special Pointer
+       super Pointer
        fun width: Int is extern "sdl_surface_width"
        fun height: Int is extern "sdl_surface_height"
        
        fun width: Int is extern "sdl_surface_width"
        fun height: Int is extern "sdl_surface_height"
        
@@ -37,12 +37,12 @@ special Pointer
 end
 
 universal SDL_Screen
 end
 
 universal SDL_Screen
-special SDL_Surface
+       super SDL_Surface
        fun flip is extern "SDL_Flip"
 end
        
 universal SDL_Event
        fun flip is extern "SDL_Flip"
 end
        
 universal SDL_Event
-special Pointer
+       super Pointer
        fun is_keyboard: Bool is extern "sdl_evt_is_keyboard"
        fun as_keyboard: SDL_KeyboardEvent is extern "sdl_evt_as_keyboard"
        fun is_mouse_button: Bool is extern "sdl_evt_is_mouse_button"
        fun is_keyboard: Bool is extern "sdl_evt_is_keyboard"
        fun as_keyboard: SDL_KeyboardEvent is extern "sdl_evt_as_keyboard"
        fun is_mouse_button: Bool is extern "sdl_evt_is_mouse_button"
@@ -54,24 +54,24 @@ special Pointer
 end
 
 universal SDL_ButtonEvent
 end
 
 universal SDL_ButtonEvent
-special SDL_Event
+       super SDL_Event
        fun is_pressed: Bool is abstract
 end
 
 universal SDL_MouseEvent
        fun is_pressed: Bool is abstract
 end
 
 universal SDL_MouseEvent
-special SDL_Event
+       super SDL_Event
        fun x: Int is abstract
        fun y: Int is abstract
 end
 
 universal SDL_KeyboardEvent
        fun x: Int is abstract
        fun y: Int is abstract
 end
 
 universal SDL_KeyboardEvent
-special SDL_ButtonEvent
+       super SDL_ButtonEvent
        redef fun is_pressed: Bool is extern "sdl_keyboard_evt_state"
 end
 
 universal SDL_MouseButtonEvent
        redef fun is_pressed: Bool is extern "sdl_keyboard_evt_state"
 end
 
 universal SDL_MouseButtonEvent
-special SDL_ButtonEvent
-special SDL_MouseEvent
+       super SDL_ButtonEvent
+       super SDL_MouseEvent
        redef fun is_pressed: Bool is extern "sdl_mouse_button_evt_state"
        redef fun x: Int is extern "sdl_mouse_button_evt_x"
        redef fun y: Int is extern "sdl_mouse_button_evt_y"
        redef fun is_pressed: Bool is extern "sdl_mouse_button_evt_state"
        redef fun x: Int is extern "sdl_mouse_button_evt_x"
        redef fun y: Int is extern "sdl_mouse_button_evt_y"
@@ -79,7 +79,7 @@ special SDL_MouseEvent
 end
 
 universal SDL_MouseMotionEvent
 end
 
 universal SDL_MouseMotionEvent
-special SDL_MouseEvent
+       super SDL_MouseEvent
        redef fun x: Int is extern "sdl_mouse_evt_x"
        redef fun y: Int is extern "sdl_mouse_evt_y"
        fun xrel: Int is extern "sdl_mouse_evt_xrel"
        redef fun x: Int is extern "sdl_mouse_evt_x"
        redef fun y: Int is extern "sdl_mouse_evt_y"
        fun xrel: Int is extern "sdl_mouse_evt_xrel"
index a94c7b6..76ba515 100644 (file)
@@ -79,7 +79,7 @@ end
 # Naive implementation of collections method
 # You only have to define iterator!
 interface NaiveCollection[E]
 # Naive implementation of collections method
 # You only have to define iterator!
 interface NaiveCollection[E]
-special Collection[E]
+       super Collection[E]
        redef fun is_empty do return length == 0
 
        redef fun length
        redef fun is_empty do return length == 0
 
        redef fun length
@@ -132,7 +132,7 @@ end
 
 # A collection that contains only one item.
 class Container[E]
 
 # A collection that contains only one item.
 class Container[E]
-special Collection[E]
+       super Collection[E]
 
        redef fun first do return _item
 
 
        redef fun first do return _item
 
@@ -164,7 +164,7 @@ end
 
 # This iterator is quite stupid since it is used for only one item.
 class ContainerIterator[E]
 
 # This iterator is quite stupid since it is used for only one item.
 class ContainerIterator[E]
-special Iterator[E]
+       super Iterator[E]
        redef fun item do return _container.item
 
        redef fun next do _is_ok = false
        redef fun item do return _container.item
 
        redef fun next do _is_ok = false
@@ -178,7 +178,7 @@ end
 
 # Items can be removed from this collection
 interface RemovableCollection[E]
 
 # Items can be removed from this collection
 interface RemovableCollection[E]
-special Collection[E]
+       super Collection[E]
        # Remove all items
        fun clear is abstract
 
        # Remove all items
        fun clear is abstract
 
@@ -191,7 +191,7 @@ end
 
 # Items can be added to these collections.
 interface SimpleCollection[E]
 
 # Items can be added to these collections.
 interface SimpleCollection[E]
-special RemovableCollection[E]
+       super RemovableCollection[E]
        # Add an item in a collection.
        # Ensure col.has(item)
        fun add(item: E) is abstract
        # Add an item in a collection.
        # Ensure col.has(item)
        fun add(item: E) is abstract
@@ -210,7 +210,7 @@ end
 #    s.add(a)
 #    s.has(b) # --> true
 interface Set[E: Object]
 #    s.add(a)
 #    s.has(b) # --> true
 interface Set[E: Object]
-special SimpleCollection[E]
+       super SimpleCollection[E]
 
        redef fun has_only(item)
        do
 
        redef fun has_only(item)
        do
@@ -239,7 +239,7 @@ special SimpleCollection[E]
 end
 
 interface MapRead[K: Object, E]
 end
 
 interface MapRead[K: Object, E]
-special Collection[E]
+       super Collection[E]
        # Get the item at `key'.
        fun [](key: K): E is abstract
 
        # Get the item at `key'.
        fun [](key: K): E is abstract
 
@@ -262,8 +262,8 @@ end
 #     map.has_key(u1)    # -> true
 #     map.has_key(u3)    # -> false
 interface Map[K: Object, E]
 #     map.has_key(u1)    # -> true
 #     map.has_key(u3)    # -> false
 interface Map[K: Object, E]
-special RemovableCollection[E]
-special MapRead[K, E]
+       super RemovableCollection[E]
+       super MapRead[K, E]
        # Set the`item' at `key'.
        fun []=(key: K, item: E) is abstract
 
        # Set the`item' at `key'.
        fun []=(key: K, item: E) is abstract
 
@@ -284,7 +284,7 @@ end
 
 # Iterators for Map.
 interface MapIterator[K: Object, E]
 
 # Iterators for Map.
 interface MapIterator[K: Object, E]
-special Iterator[E]
+       super Iterator[E]
        # The key of the current item.
        fun key: K is abstract
 
        # The key of the current item.
        fun key: K is abstract
 
@@ -295,7 +295,7 @@ end
 # Indexed collection are ordoned collections.
 # The first item is 0. The last is `length'-1.
 interface SequenceRead[E]
 # Indexed collection are ordoned collections.
 # The first item is 0. The last is `length'-1.
 interface SequenceRead[E]
-special MapRead[Int, E]
+       super MapRead[Int, E]
        # Get the first item.
        # Is equivalent with `self'[0].
        redef fun first
        # Get the first item.
        # Is equivalent with `self'[0].
        redef fun first
@@ -330,9 +330,9 @@ end
 # Indexed collection are ordoned collections.
 # The first item is 0. The last is `length'-1.
 interface Sequence[E]
 # Indexed collection are ordoned collections.
 # The first item is 0. The last is `length'-1.
 interface Sequence[E]
-special SequenceRead[E]
-special Map[Int, E]
-special SimpleCollection[E]
+       super SequenceRead[E]
+       super Map[Int, E]
+       super SimpleCollection[E]
        # Set the first item.
        # Is equivalent with `self'[0] = `item'.
        fun first=(item: E)
        # Set the first item.
        # Is equivalent with `self'[0] = `item'.
        fun first=(item: E)
@@ -373,7 +373,7 @@ end
 
 # Iterators on indexed collections.
 interface IndexedIterator[E]
 
 # Iterators on indexed collections.
 interface IndexedIterator[E]
-special MapIterator[Int, E]
+       super MapIterator[Int, E]
        # The index of the current item.
        fun index: Int is abstract
 
        # The index of the current item.
        fun index: Int is abstract
 
@@ -383,7 +383,7 @@ end
 
 # Associatives arrays that internally uses couples to represent each (key, value) pairs.
 interface CoupleMap[K: Object, E]
 
 # Associatives arrays that internally uses couples to represent each (key, value) pairs.
 interface CoupleMap[K: Object, E]
-special Map[K, E]
+       super Map[K, E]
        # Return the couple of the corresponding key
        # Return null if the key is no associated element
        protected fun couple_at(key: K): nullable Couple[K, E] is abstract
        # Return the couple of the corresponding key
        # Return null if the key is no associated element
        protected fun couple_at(key: K): nullable Couple[K, E] is abstract
@@ -405,7 +405,7 @@ end
 #
 # Actually is is a wrapper around an iterator of the internal array of the map.
 class CoupleMapIterator[K: Object, E]
 #
 # Actually is is a wrapper around an iterator of the internal array of the map.
 class CoupleMapIterator[K: Object, E]
-special MapIterator[K, E]
+       super MapIterator[K, E]
        redef fun item do return _iter.item.second
        
        #redef fun item=(e) do _iter.item.second = e
        redef fun item do return _iter.item.second
        
        #redef fun item=(e) do _iter.item.second = e
index 86357ae..133ea5b 100644 (file)
@@ -19,7 +19,7 @@ import abstract_collection
 
 # One dimention array of objects.
 class AbstractArrayRead[E]
 
 # One dimention array of objects.
 class AbstractArrayRead[E]
-special SequenceRead[E]
+       super SequenceRead[E]
        # The current length
        redef readable var _length: Int = 0
 
        # The current length
        redef readable var _length: Int = 0
 
@@ -142,8 +142,8 @@ end
 
 # Resizeable one dimention array of objects.
 class AbstractArray[E]
 
 # Resizeable one dimention array of objects.
 class AbstractArray[E]
-special AbstractArrayRead[E]
-special Sequence[E]
+       super AbstractArrayRead[E]
+       super Sequence[E]
        fun enlarge(cap: Int) is abstract
 
        redef fun push(item) do add(item)
        fun enlarge(cap: Int) is abstract
 
        redef fun push(item) do add(item)
@@ -226,8 +226,8 @@ end
 #     a.push(32)
 #     a.push(8)
 class Array[E]
 #     a.push(32)
 #     a.push(8)
 class Array[E]
-special AbstractArray[E]
-special ArrayCapable[E]
+       super AbstractArray[E]
+       super ArrayCapable[E]
        redef fun iterate
                !each(e: E)
        do
        redef fun iterate
                !each(e: E)
        do
@@ -391,7 +391,7 @@ end
 
 # An `Iterator' on `AbstractArray'
 class ArrayIterator[E]
 
 # An `Iterator' on `AbstractArray'
 class ArrayIterator[E]
-special IndexedIterator[E]
+       super IndexedIterator[E]
        redef fun item do return _array[_index]
 
        # redef fun item=(e) do _array[_index] = e
        redef fun item do return _array[_index]
 
        # redef fun item=(e) do _array[_index] = e
@@ -414,7 +414,7 @@ end
 
 # A set implemented with an Array.
 class ArraySet[E: Object]
 
 # A set implemented with an Array.
 class ArraySet[E: Object]
-special Set[E]
+       super Set[E]
        # The stored elements.
        var _array: Array[E]
 
        # The stored elements.
        var _array: Array[E]
 
@@ -462,7 +462,7 @@ end
 
 # Iterators on sets implemented with arrays.
 class ArraySetIterator[E: Object]
 
 # Iterators on sets implemented with arrays.
 class ArraySetIterator[E: Object]
-special Iterator[E]
+       super Iterator[E]
 
        redef fun is_ok do return _iter.is_ok
 
 
        redef fun is_ok do return _iter.is_ok
 
@@ -478,7 +478,7 @@ end
 
 # Associative arrays implemented with an array of (key, value) pairs.
 class ArrayMap[K: Object, E]
 
 # Associative arrays implemented with an array of (key, value) pairs.
 class ArrayMap[K: Object, E]
-special CoupleMap[K, E]
+       super CoupleMap[K, E]
 
        # O(n)
        redef fun [](key)
 
        # O(n)
        redef fun [](key)
index e30f7e5..13d5a7a 100644 (file)
@@ -18,8 +18,8 @@ import hash
 
 # A HashCollection is an array of HashNode[K] indexed by the K hash value
 private class HashCollection[K: Object, N: HashNode[K], E]
 
 # A HashCollection is an array of HashNode[K] indexed by the K hash value
 private class HashCollection[K: Object, N: HashNode[K], E]
-special Collection[E]
-special ArrayCapable[nullable N]
+       super Collection[E]
+       super ArrayCapable[nullable N]
        var _array: nullable NativeArray[nullable N] = null # Used to store items
        var _capacity: Int = 0 # Size of _array
        redef readable var _length: Int = 0 # Number of items in the map
        var _array: nullable NativeArray[nullable N] = null # Used to store items
        var _capacity: Int = 0 # Size of _array
        redef readable var _length: Int = 0 # Number of items in the map
@@ -198,8 +198,8 @@ private class HashNode[K: Object]
 end
 
 class HashMap[K: Object, V]
 end
 
 class HashMap[K: Object, V]
-special Map[K, V]
-special HashCollection[K, HashMapNode[K, V], V]
+       super Map[K, V]
+       super HashCollection[K, HashMapNode[K, V], V]
 
        redef fun [](key)
        do
 
        redef fun [](key)
        do
@@ -301,7 +301,7 @@ special HashCollection[K, HashMapNode[K, V], V]
 end
 
 class HashMapNode[K: Object, V]
 end
 
 class HashMapNode[K: Object, V]
-special HashNode[K]
+       super HashNode[K]
        redef type N: HashMapNode[K, V]
        var _value: V
 
        redef type N: HashMapNode[K, V]
        var _value: V
 
@@ -313,7 +313,7 @@ special HashNode[K]
 end
 
 class HashMapIterator[K: Object, V]
 end
 
 class HashMapIterator[K: Object, V]
-special MapIterator[K, V]
+       super MapIterator[K, V]
        redef fun is_ok do return _node != null
 
        redef fun item
        redef fun is_ok do return _node != null
 
        redef fun item
@@ -354,8 +354,8 @@ special MapIterator[K, V]
 end
 
 class HashSet[E: Object]
 end
 
 class HashSet[E: Object]
-special Set[E]
-special HashCollection[E, HashSetNode[E], E]
+       super Set[E]
+       super HashCollection[E, HashSetNode[E], E]
 
        redef fun is_empty do return _length == 0
 
 
        redef fun is_empty do return _length == 0
 
@@ -396,7 +396,7 @@ special HashCollection[E, HashSetNode[E], E]
 end
 
 class HashSetNode[E: Object]
 end
 
 class HashSetNode[E: Object]
-special HashNode[E]
+       super HashNode[E]
        redef type N: HashSetNode[E]
 
        init(e: E)
        redef type N: HashSetNode[E]
 
        init(e: E)
@@ -406,7 +406,7 @@ special HashNode[E]
 end
 
 class HashSetIterator[E: Object]
 end
 
 class HashSetIterator[E: Object]
-special Iterator[E]
+       super Iterator[E]
        redef fun is_ok do return _node != null
 
        redef fun item
        redef fun is_ok do return _node != null
 
        redef fun item
index 3b11a6b..d032066 100644 (file)
@@ -17,7 +17,7 @@ import abstract_collection
 
 # Double linked lists.
 class List[E]
 
 # Double linked lists.
 class List[E]
-special Sequence[E]
+       super Sequence[E]
 # Access
        redef fun [](index) do return get_node(index).item
 
 # Access
        redef fun [](index) do return get_node(index).item
 
@@ -242,7 +242,7 @@ end
 
 # This is the iterator class of List
 class ListIterator[E]
 
 # This is the iterator class of List
 class ListIterator[E]
-special IndexedIterator[E]
+       super IndexedIterator[E]
        redef fun item do return _node.item
 
        fun item=(e: E) do _node.item = e
        redef fun item do return _node.item
 
        fun item=(e: E) do _node.item = e
@@ -287,7 +287,7 @@ end
 
 # Linked nodes that constitute a linked list.
 private class ListNode[E]
 
 # Linked nodes that constitute a linked list.
 private class ListNode[E]
-special Container[E]
+       super Container[E]
        init(i: E)
        do 
                item = i
        init(i: E)
        do 
                item = i
index aa96cf0..9dbbc80 100644 (file)
@@ -17,7 +17,7 @@ import abstract_collection
 
 # Range of discrete objects. 
 class Range[E: Discrete]
 
 # Range of discrete objects. 
 class Range[E: Discrete]
-special Collection[E]
+       super Collection[E]
 
        redef readable var _first: E
 
 
        redef readable var _first: E
 
@@ -86,7 +86,7 @@ end
 
 class IteratorRange[E: Discrete]
        # Iterator on ranges.
 
 class IteratorRange[E: Discrete]
        # Iterator on ranges.
-special Iterator[E]
+       super Iterator[E]
        var _range: Range[E]    
        redef readable var _item: E
 
        var _range: Range[E]    
        redef readable var _item: E
 
index 8240a0c..99c58a1 100644 (file)
@@ -89,7 +89,7 @@ end
 # This class uses the operator <=> to sort arrays.
 # You can also use the `sort' method of the `Array' class.
 class ComparableSorter[E: Comparable]
 # This class uses the operator <=> to sort arrays.
 # You can also use the `sort' method of the `Array' class.
 class ComparableSorter[E: Comparable]
-special AbstractSorter[E]
+       super AbstractSorter[E]
        # Return a <=> b
        redef fun compare(a, b) do return a <=> b
 
        # Return a <=> b
        redef fun compare(a, b) do return a <=> b
 
index 996136b..ddeca9d 100644 (file)
@@ -74,8 +74,8 @@ end
 
 # stdout of the processus is readable
 class IProcess
 
 # stdout of the processus is readable
 class IProcess
-special Process
-special IStream
+       super Process
+       super IStream
        var _in: FDIStream
        
        redef fun close do _in.close
        var _in: FDIStream
        
        redef fun close do _in.close
@@ -99,8 +99,8 @@ end
 
 # stdin of the processus is writable
 class OProcess
 
 # stdin of the processus is writable
 class OProcess
-special Process
-special OStream
+       super Process
+       super OStream
        var _out: OStream
 
        redef fun close do _out.close
        var _out: OStream
 
        redef fun close do _out.close
@@ -124,9 +124,9 @@ end
 
 # stdin and stdout are both accessible
 class IOProcess
 
 # stdin and stdout are both accessible
 class IOProcess
-special IProcess
-special OProcess
-special IOStream
+       super IProcess
+       super OProcess
+       super IOStream
 
        redef fun close
        do
 
        redef fun close
        do
@@ -162,7 +162,7 @@ redef class NativeString
 end
 
 private universal NativeProcess
 end
 
 private universal NativeProcess
-special Pointer
+       super Pointer
        fun id: Int is extern "exec_NativeProcess_NativeProcess_id_0"
        fun is_finished: Bool is extern "exec_NativeProcess_NativeProcess_is_finished_0"
        fun status: Int is extern "exec_NativeProcess_NativeProcess_status_0"
        fun id: Int is extern "exec_NativeProcess_NativeProcess_id_0"
        fun is_finished: Bool is extern "exec_NativeProcess_NativeProcess_is_finished_0"
        fun status: Int is extern "exec_NativeProcess_NativeProcess_status_0"
index 5ea2468..903554c 100644 (file)
@@ -50,8 +50,8 @@ end
 
 # File Abstract Stream
 class FStream
 
 # File Abstract Stream
 class FStream
-special IOS
-special NativeFileCapable
+       super IOS
+       super NativeFileCapable
        # The path of the file.
        readable var _path: nullable String = null
 
        # The path of the file.
        readable var _path: nullable String = null
 
@@ -64,8 +64,8 @@ end
 
 # File input stream
 class IFStream
 
 # File input stream
 class IFStream
-special FStream
-special BufferedIStream
+       super FStream
+       super BufferedIStream
        # Misc
 
        fun reopen
        # Misc
 
        fun reopen
@@ -113,8 +113,8 @@ end
 
 # File output stream
 class OFStream
 
 # File output stream
 class OFStream
-special FStream
-special OStream
+       super FStream
+       super OStream
        
        # Write a string.
        redef fun write(s)
        
        # Write a string.
        redef fun write(s)
@@ -161,7 +161,7 @@ end
 ###############################################################################
 
 class Stdin
 ###############################################################################
 
 class Stdin
-special IFStream
+       super IFStream
        private init do
                _file = native_stdin
                _path = "/dev/stdin"
        private init do
                _file = native_stdin
                _path = "/dev/stdin"
@@ -170,7 +170,7 @@ special IFStream
 end
 
 class Stdout
 end
 
 class Stdout
-special OFStream
+       super OFStream
        private init do
                _file = native_stdout
                _path = "/dev/stdout"
        private init do
                _file = native_stdout
                _path = "/dev/stdout"
@@ -179,7 +179,7 @@ special OFStream
 end
 
 class Stderr
 end
 
 class Stderr
-special OFStream
+       super OFStream
        private init do
                _file = native_stderr
                _path = "/dev/stderr"
        private init do
                _file = native_stderr
                _path = "/dev/stderr"
@@ -262,7 +262,7 @@ redef class NativeString
 end
 
 universal FileStat
 end
 
 universal FileStat
-special Pointer
+       super Pointer
 # This class is system dependent ... must reify the vfs
        fun mode: Int is extern "file_FileStat_FileStat_mode_0"
        fun atime: Int is extern "file_FileStat_FileStat_atime_0"
 # This class is system dependent ... must reify the vfs
        fun mode: Int is extern "file_FileStat_FileStat_mode_0"
        fun atime: Int is extern "file_FileStat_FileStat_atime_0"
@@ -273,7 +273,7 @@ end
 
 # Instance of this class are standard FILE * pointers
 private universal NativeFile
 
 # Instance of this class are standard FILE * pointers
 private universal NativeFile
-special Pointer
+       super Pointer
        fun io_read(buf: NativeString, len: Int): Int is extern "file_NativeFile_NativeFile_io_read_2"
        fun io_write(buf: NativeString, len: Int): Int is extern "file_NativeFile_NativeFile_io_write_2"
        fun io_close: Int is extern "file_NativeFile_NativeFile_io_close_0"
        fun io_read(buf: NativeString, len: Int): Int is extern "file_NativeFile_NativeFile_io_read_2"
        fun io_write(buf: NativeString, len: Int): Int is extern "file_NativeFile_NativeFile_io_write_2"
        fun io_close: Int is extern "file_NativeFile_NativeFile_io_close_0"
index 35e46ca..30c592d 100644 (file)
@@ -119,7 +119,7 @@ end
 
 # Discrete total orders.
 interface Discrete
 
 # Discrete total orders.
 interface Discrete
-special Comparable
+       super Comparable
 
        redef type OTHER: Discrete
 
 
        redef type OTHER: Discrete
 
@@ -200,7 +200,7 @@ end
 # Native integer numbers.
 # Correspond to C int.
 universal Int
 # Native integer numbers.
 # Correspond to C int.
 universal Int
-special Discrete
+       super Discrete
        redef type OTHER: Int
 
        redef fun object_id is intern
        redef type OTHER: Int
 
        redef fun object_id is intern
@@ -340,7 +340,7 @@ end
 # Characters are denoted with simple quote.
 # eg. 'a' or '\n'.
 universal Char
 # Characters are denoted with simple quote.
 # eg. 'a' or '\n'.
 universal Char
-special Discrete
+       super Discrete
        redef type OTHER: Char
 
        redef fun object_id is intern
        redef type OTHER: Char
 
        redef fun object_id is intern
index 7752773..1a90d56 100644 (file)
@@ -23,7 +23,7 @@ end
 
 # Abstract input streams
 class IStream
 
 # Abstract input streams
 class IStream
-special IOS
+       super IOS
        # Read a character. Return its ASCII value, -1 on EOF or timeout
        fun read_char: Int is abstract
 
        # Read a character. Return its ASCII value, -1 on EOF or timeout
        fun read_char: Int is abstract
 
@@ -82,7 +82,7 @@ end
 
 # Abstract output stream
 class OStream
 
 # Abstract output stream
 class OStream
-special IOS
+       super IOS
        # write a string
        fun write(s: String) is abstract
 
        # write a string
        fun write(s: String) is abstract
 
@@ -92,7 +92,7 @@ end
 
 # Input streams with a buffer
 class BufferedIStream
 
 # Input streams with a buffer
 class BufferedIStream
-special IStream
+       super IStream
        redef fun read_char
        do
                assert not eof
        redef fun read_char
        do
                assert not eof
@@ -204,14 +204,14 @@ special IStream
 end
 
 class IOStream
 end
 
 class IOStream
-special IStream
-special OStream
+       super IStream
+       super OStream
 end
 
 ##############################################################"
 
 class FDStream
 end
 
 ##############################################################"
 
 class FDStream
-special IOS
+       super IOS
        # File description
        var _fd: Int
 
        # File description
        var _fd: Int
 
@@ -226,8 +226,8 @@ special IOS
 end
 
 class FDIStream
 end
 
 class FDIStream
-special FDStream
-special IStream
+       super FDStream
+       super IStream
        redef readable var _eof: Bool = false
        
        redef fun read_char
        redef readable var _eof: Bool = false
        
        redef fun read_char
@@ -241,8 +241,8 @@ special IStream
 end
 
 class FDOStream
 end
 
 class FDOStream
-special FDStream
-special OStream
+       super FDStream
+       super OStream
        redef readable var _is_writable: Bool
 
        redef fun write(s)
        redef readable var _is_writable: Bool
 
        redef fun write(s)
@@ -258,9 +258,9 @@ special OStream
 end
 
 class FDIOStream
 end
 
 class FDIOStream
-special FDIStream
-special FDOStream
-special IOStream
+       super FDIStream
+       super FDOStream
+       super IOStream
        init(fd: Int)
        do
                _fd = fd
        init(fd: Int)
        do
                _fd = fd
index 164e6f3..d61b260 100644 (file)
@@ -22,7 +22,7 @@ import hash
 ###############################################################################
 
 abstract class AbstractString
 ###############################################################################
 
 abstract class AbstractString
-special AbstractArrayRead[Char]
+       super AbstractArrayRead[Char]
        readable private var _items: NativeString
 
        redef fun [](index) do return _items[index]
        readable private var _items: NativeString
 
        redef fun [](index) do return _items[index]
@@ -160,8 +160,8 @@ end
 
 
 class String
 
 
 class String
-special Comparable
-special AbstractString
+       super Comparable
+       super AbstractString
        redef type OTHER: String
 
        # Create a new string from a given char *.
        redef type OTHER: String
 
        # Create a new string from a given char *.
@@ -265,10 +265,10 @@ end
 
 # Strings are arrays of characters.
 class Buffer
 
 # Strings are arrays of characters.
 class Buffer
-special AbstractString
-special Comparable
-special StringCapable
-special AbstractArray[Char]
+       super AbstractString
+       super Comparable
+       super StringCapable
+       super AbstractArray[Char]
 
        redef type OTHER: String
 
 
        redef type OTHER: String
 
index ef9256a..d37ac7b 100644 (file)
@@ -63,7 +63,7 @@ end
 # Communications of the Association for Computing Machinery, 20(10), 1977, pp. 762-772.)
 # see also http://www.cs.utexas.edu/users/moore/best-ideas/string-searching/index.html
 class BM_Pattern
 # Communications of the Association for Computing Machinery, 20(10), 1977, pp. 762-772.)
 # see also http://www.cs.utexas.edu/users/moore/best-ideas/string-searching/index.html
 class BM_Pattern
-special Pattern 
+       super Pattern
        redef fun to_s do return _motif
 
        # boyer-moore search gives the position of the first occurence of a pattern starting at position `from'
        redef fun to_s do return _motif
 
        # boyer-moore search gives the position of the first occurence of a pattern starting at position `from'
@@ -230,7 +230,7 @@ class Match
 end
 
 redef class Char
 end
 
 redef class Char
-special Pattern
+       super Pattern
        redef fun search_index_in(s, from)
        do
                var stop = s.length
        redef fun search_index_in(s, from)
        do
                var stop = s.length
@@ -253,7 +253,7 @@ special Pattern
 end
 
 redef class String
 end
 
 redef class String
-special Pattern
+       super Pattern
        redef fun search_index_in(s, from)
        do
                assert from >= 0
        redef fun search_index_in(s, from)
        do
                assert from >= 0
index 37381fa..3f5e50b 100644 (file)
@@ -24,7 +24,7 @@ import syntax
 import nit_version
 
 class AbstractCompiler
 import nit_version
 
 class AbstractCompiler
-special ToolContext
+       super ToolContext
 
        init(tool_name: String)
        do
 
        init(tool_name: String)
        do
index a8ac823..98c8e89 100644 (file)
@@ -27,7 +27,7 @@ private import primitive_info
 #  * register aliasing
 #  * IMove optimization
 class IRegisterSlotAllocationVisitor
 #  * register aliasing
 #  * IMove optimization
 class IRegisterSlotAllocationVisitor
-special ICodeVisitor
+       super ICodeVisitor
        # The visitor works in two pass:
        # First pass is used to detect first and last iregisters occurences and slot groups
        # Second pass is used to assign an effective slot to iregsiters
        # The visitor works in two pass:
        # First pass is used to detect first and last iregisters occurences and slot groups
        # Second pass is used to assign an effective slot to iregsiters
index 2d9cd0f..7d06441 100644 (file)
@@ -22,7 +22,7 @@ import icode
 import program
 
 class ChaContext
 import program
 
 class ChaContext
-special ReachableMethodAnalysis
+       super ReachableMethodAnalysis
        readable var _reachable_iroutines: HashSet[IRoutine] = new HashSet[IRoutine]
 
        redef fun is_iroutine_reachable(ir: nullable IRoutine): Bool do
        readable var _reachable_iroutines: HashSet[IRoutine] = new HashSet[IRoutine]
 
        redef fun is_iroutine_reachable(ir: nullable IRoutine): Bool do
@@ -88,7 +88,7 @@ class ChaBuilder
 end
 
 class ChaVisitor
 end
 
 class ChaVisitor
-special ICodeVisitor
+       super ICodeVisitor
        readable var _builder: ChaBuilder
 
        redef fun visit_icode(ic)
        readable var _builder: ChaBuilder
 
        redef fun visit_icode(ic)
index 791d4da..b581833 100644 (file)
@@ -45,7 +45,7 @@ redef class Program
 end
 
 private class InlineGetSetVisitor
 end
 
 private class InlineGetSetVisitor
-special ICodeVisitor
+       super ICodeVisitor
        var _icb: ICodeBuilder
        readable var _number_inlined: Int = 0
 
        var _icb: ICodeBuilder
        readable var _number_inlined: Int = 0
 
index a56ecd4..875da44 100644 (file)
@@ -20,7 +20,7 @@ package inline_methods
 import icode
 
 private class InlineMethodVisitor
 import icode
 
 private class InlineMethodVisitor
-special ICodeVisitor
+       super ICodeVisitor
        var _pass: Int = 0
        var _icb: ICodeBuilder
 
        var _pass: Int = 0
        var _icb: ICodeBuilder
 
index 039c779..f052eda 100644 (file)
@@ -63,7 +63,7 @@ end
 
 # Default behavior is to say that all types are instantiated
 class DefaultInstantiatedTypeAnalysis
 
 # Default behavior is to say that all types are instantiated
 class DefaultInstantiatedTypeAnalysis
-special InstantiatedTypeAnalysis
+       super InstantiatedTypeAnalysis
        redef fun is_class_instantiated(local_class: MMLocalClass): Bool do return true
 
        init do end
        redef fun is_class_instantiated(local_class: MMLocalClass): Bool do return true
 
        init do end
index 487d78f..2f65f7a 100644 (file)
@@ -51,7 +51,7 @@ end
 
 # Default behavior is to say that all initializers are called as init
 class DefaultReachableAsInitAnalysis
 
 # Default behavior is to say that all initializers are called as init
 class DefaultReachableAsInitAnalysis
-special ReachableAsInitAnalysis
+       super ReachableAsInitAnalysis
        redef fun is_method_reachable_as_init(method: MMMethod, c: MMLocalClass): Bool do
                if method.global.is_init and method.global.is_init_for(c) then return true
                return false
        redef fun is_method_reachable_as_init(method: MMMethod, c: MMLocalClass): Bool do
                if method.global.is_init and method.global.is_init_for(c) then return true
                return false
index 612d96f..22e9b32 100644 (file)
@@ -41,7 +41,7 @@ end
 # Visitor will add only initializers in the _methods list.
 # If the checked method is in this list, it is reachable as init !
 class ReachableAsInitAnalysisImpl
 # Visitor will add only initializers in the _methods list.
 # If the checked method is in this list, it is reachable as init !
 class ReachableAsInitAnalysisImpl
-special ReachableAsInitAnalysis
+       super ReachableAsInitAnalysis
        var _methods: HashMap[MMLocalClass, List[MMMethod]] = new HashMap[MMLocalClass, List[MMMethod]]
 
        redef fun is_method_reachable_as_init(method: MMMethod, c: MMLocalClass): Bool do
        var _methods: HashMap[MMLocalClass, List[MMMethod]] = new HashMap[MMLocalClass, List[MMMethod]]
 
        redef fun is_method_reachable_as_init(method: MMMethod, c: MMLocalClass): Bool do
@@ -53,7 +53,7 @@ special ReachableAsInitAnalysis
 end
 
 class RAIVisitor
 end
 
 class RAIVisitor
-special ICodeVisitor
+       super ICodeVisitor
        readable var _builder: ReachableAsInitBuilder
 
        redef fun visit_icode(ic)
        readable var _builder: ReachableAsInitBuilder
 
        redef fun visit_icode(ic)
index b07aeba..fcffe1e 100644 (file)
@@ -61,7 +61,7 @@ end
 # Default behavior is to say that all methods/iroutines are reachable
 # from at least one init
 class DefaultReachableFromInitMethodAnalysis
 # Default behavior is to say that all methods/iroutines are reachable
 # from at least one init
 class DefaultReachableFromInitMethodAnalysis
-special ReachableFromInitMethodAnalysis
+       super ReachableFromInitMethodAnalysis
        redef fun is_iroutine_reachable_from_init(ir: nullable IRoutine): Bool do return true
        redef fun is_method_reachable_from_init(method: MMMethod): Bool do return true
 
        redef fun is_iroutine_reachable_from_init(ir: nullable IRoutine): Bool do return true
        redef fun is_method_reachable_from_init(method: MMMethod): Bool do return true
 
index ad04ed1..902fb24 100644 (file)
@@ -49,7 +49,7 @@ class RFIMABuilder
 end
 
 class RFIMAContext
 end
 
 class RFIMAContext
-special ReachableFromInitMethodAnalysis
+       super ReachableFromInitMethodAnalysis
        readable var _reachable_from_init_iroutines: HashSet[IRoutine] = new HashSet[IRoutine]
 
        redef fun is_iroutine_reachable_from_init(ir: nullable IRoutine): Bool do
        readable var _reachable_from_init_iroutines: HashSet[IRoutine] = new HashSet[IRoutine]
 
        redef fun is_iroutine_reachable_from_init(ir: nullable IRoutine): Bool do
@@ -62,7 +62,7 @@ special ReachableFromInitMethodAnalysis
 end
 
 class RFIMAVisitor
 end
 
 class RFIMAVisitor
-special ICodeVisitor
+       super ICodeVisitor
        readable var _context: RFIMAContext
        readable var _program: Program
 
        readable var _context: RFIMAContext
        readable var _program: Program
 
index b208ae3..a7ac075 100644 (file)
@@ -57,7 +57,7 @@ end
 
 # Default behavior is to say that all methods/iroutines are reachable
 class DefaultReachableMethodAnalysis
 
 # Default behavior is to say that all methods/iroutines are reachable
 class DefaultReachableMethodAnalysis
-special ReachableMethodAnalysis
+       super ReachableMethodAnalysis
        redef fun is_iroutine_reachable(ir: nullable IRoutine): Bool do return true
        redef fun is_method_reachable(method: MMMethod): Bool do return true
 
        redef fun is_iroutine_reachable(ir: nullable IRoutine): Bool do return true
        redef fun is_method_reachable(method: MMMethod): Bool do return true
 
index e8ae331..0685777 100644 (file)
@@ -55,7 +55,7 @@ redef class Program
 end
 
 class IssetCounter
 end
 
 class IssetCounter
-special ICodeVisitor
+       super ICodeVisitor
        readable var _nb_isset: Int = 0
 
        redef fun visit_icode(ic)
        readable var _nb_isset: Int = 0
 
        redef fun visit_icode(ic)
@@ -69,7 +69,7 @@ special ICodeVisitor
 end
 
 class GetterTestRemover
 end
 
 class GetterTestRemover
-special ICodeVisitor
+       super ICodeVisitor
        readable var _nb_optimized_isset: Int = 0
 
        redef fun visit_icode(ic)
        readable var _nb_optimized_isset: Int = 0
 
        redef fun visit_icode(ic)
index aef8da8..1646f4f 100644 (file)
@@ -23,8 +23,8 @@ import icode
 import program
 
 class RtaContext
 import program
 
 class RtaContext
-special ReachableMethodAnalysis
-special InstantiatedTypeAnalysis
+       super ReachableMethodAnalysis
+       super InstantiatedTypeAnalysis
        init do end
        readable var _instanciated_classes: HashSet[MMLocalClass] = new HashSet[MMLocalClass]
 
        init do end
        readable var _instanciated_classes: HashSet[MMLocalClass] = new HashSet[MMLocalClass]
 
@@ -195,7 +195,7 @@ class RtaBuilder
 end
 
 class RtaVisitor
 end
 
 class RtaVisitor
-special ICodeVisitor
+       super ICodeVisitor
        readable var _builder: RtaBuilder
 
        redef fun visit_icode(ic)
        readable var _builder: RtaBuilder
 
        redef fun visit_icode(ic)
index 8e2294a..d32211a 100644 (file)
@@ -118,7 +118,7 @@ end
 
 # A writer node that contains a full writer
 private class WriterCoreNode
 
 # A writer node that contains a full writer
 private class WriterCoreNode
-special WriterNode
+       super WriterNode
        var _writer: Writer
 
        redef fun internal_write_to_stream(s) do _writer.write_to_stream(s)
        var _writer: Writer
 
        redef fun internal_write_to_stream(s) do _writer.write_to_stream(s)
@@ -128,7 +128,7 @@ end
 
 # A simple writer node that contains only strings
 private class WriterStrings
 
 # A simple writer node that contains only strings
 private class WriterStrings
-special WriterNode
+       super WriterNode
        # The first string
        var _string: String
 
        # The first string
        var _string: String
 
index 04d479c..a1eb934 100644 (file)
@@ -34,7 +34,7 @@ end
 
 # A class to dump ICode to a file
 class FileICodeDumper
 
 # A class to dump ICode to a file
 class FileICodeDumper
-special ICodeDumper
+       super ICodeDumper
        var _file: OFStream
 
        init(f: OFStream) do
        var _file: OFStream
 
        init(f: OFStream) do
index df7dc3b..20461ff 100644 (file)
@@ -52,14 +52,14 @@ end
 
 # All information and results of the global analysis.
 class TableInformation
 
 # All information and results of the global analysis.
 class TableInformation
-special ColorContext
+       super ColorContext
        # FIXME: do something better.
        readable writable var _max_class_table_length: Int = 0
 end
 
 # A compiled class is a class in a program
 class CompiledClass
        # FIXME: do something better.
        readable writable var _max_class_table_length: Int = 0
 end
 
 # A compiled class is a class in a program
 class CompiledClass
-special ColorContext
+       super ColorContext
        # The corresponding local class in the main module of the prgram
        readable var _local_class: MMLocalClass
 
        # The corresponding local class in the main module of the prgram
        readable var _local_class: MMLocalClass
 
@@ -413,7 +413,7 @@ end
 # An element of a class or an instance table
 # Such an elements represent method function pointers, attribute values, etc.
 abstract class TableElt
 # An element of a class or an instance table
 # Such an elements represent method function pointers, attribute values, etc.
 abstract class TableElt
-special AbsTableElt
+       super AbsTableElt
        # Is the element conflict to class `c' (used for coloring)
        fun is_related_to(c: MMLocalClass): Bool is abstract
 
        # Is the element conflict to class `c' (used for coloring)
        fun is_related_to(c: MMLocalClass): Bool is abstract
 
@@ -427,18 +427,18 @@ end
 # An element of a module table
 # Such an elements represent colors or identifiers
 abstract class ModuleTableElt
 # An element of a module table
 # Such an elements represent colors or identifiers
 abstract class ModuleTableElt
-special AbsTableElt
+       super AbsTableElt
 end
 
 # An element of a module table that represents a group of TableElt defined in the same local class
 class ModuleTableEltGroup
 end
 
 # An element of a module table that represents a group of TableElt defined in the same local class
 class ModuleTableEltGroup
-special ModuleTableElt
+       super ModuleTableElt
        readable var _elements: Array[TableElt] = new Array[TableElt]
 end
 
 # An element that represents a class property
 abstract class TableEltProp
        readable var _elements: Array[TableElt] = new Array[TableElt]
 end
 
 # An element that represents a class property
 abstract class TableEltProp
-special TableElt
+       super TableElt
        readable var _property: MMLocalProperty
 
        init(p: MMLocalProperty)
        readable var _property: MMLocalProperty
 
        init(p: MMLocalProperty)
@@ -449,22 +449,22 @@ end
 
 # An element that represents a function pointer to a global method
 class TableEltMeth
 
 # An element that represents a function pointer to a global method
 class TableEltMeth
-special TableEltProp
+       super TableEltProp
 end
 
 # An element that represents a function pointer to the super method of a local method
 class TableEltSuper
 end
 
 # An element that represents a function pointer to the super method of a local method
 class TableEltSuper
-special TableEltProp
+       super TableEltProp
 end
 
 # An element that represents the value stored for a global attribute
 class TableEltAttr
 end
 
 # An element that represents the value stored for a global attribute
 class TableEltAttr
-special TableEltProp
+       super TableEltProp
 end
 
 # An element representing a class information
 class AbsTableEltClass
 end
 
 # An element representing a class information
 class AbsTableEltClass
-special AbsTableElt
+       super AbsTableElt
        # The local class where the information comes from
        readable var _local_class: MMLocalClass
 
        # The local class where the information comes from
        readable var _local_class: MMLocalClass
 
@@ -476,8 +476,8 @@ end
 
 # An element of a class table representing a class information
 class TableEltClass
 
 # An element of a class table representing a class information
 class TableEltClass
-special TableElt
-special AbsTableEltClass
+       super TableElt
+       super AbsTableEltClass
        redef fun is_related_to(c)
        do
                var bc = c.mmmodule[_local_class.global]
        redef fun is_related_to(c)
        do
                var bc = c.mmmodule[_local_class.global]
@@ -487,13 +487,13 @@ end
 
 # An element representing the id of a class in a module table
 class TableEltClassId
 
 # An element representing the id of a class in a module table
 class TableEltClassId
-special ModuleTableElt
-special AbsTableEltClass
+       super ModuleTableElt
+       super AbsTableEltClass
 end
 
 # An element representing the constructor marker position in a class table
 class TableEltClassInitTable
 end
 
 # An element representing the constructor marker position in a class table
 class TableEltClassInitTable
-special TableEltClass
+       super TableEltClass
 end
 
 # An element used for a cast
 end
 
 # An element used for a cast
@@ -501,13 +501,13 @@ end
 # At the TableElt offset, there is the id of the super-class
 # At the ModuleTableElt offset, there is the TableElt offset (ie. the color of the super-class).
 class TableEltClassColor
 # At the TableElt offset, there is the id of the super-class
 # At the ModuleTableElt offset, there is the TableElt offset (ie. the color of the super-class).
 class TableEltClassColor
-special TableEltClass
-special ModuleTableElt
+       super TableEltClass
+       super ModuleTableElt
 end
 
 # A Group of elements introduced in the same global-class that are colored together
 class TableEltComposite
 end
 
 # A Group of elements introduced in the same global-class that are colored together
 class TableEltComposite
-special TableElt
+       super TableElt
        var _table: Array[TableElt]
        var _cc: CompiledClass
        var _offsets: HashMap[MMLocalClass, Int]
        var _table: Array[TableElt]
        var _cc: CompiledClass
        var _offsets: HashMap[MMLocalClass, Int]
@@ -532,24 +532,24 @@ end
 
 # The element that represent the class id
 class TableEltClassSelfId
 
 # The element that represent the class id
 class TableEltClassSelfId
-special TableElt
+       super TableElt
        redef fun is_related_to(c) do return true
 end
 
 # The element that represent the Object Size
 class TableEltClassObjectSize
        redef fun is_related_to(c) do return true
 end
 
 # The element that represent the Object Size
 class TableEltClassObjectSize
-special TableElt
+       super TableElt
        redef fun is_related_to(c) do return true
 end
 
 # The element that represent the object id
 class TableEltObjectId
        redef fun is_related_to(c) do return true
 end
 
 # The element that represent the object id
 class TableEltObjectId
-special TableElt
+       super TableElt
        redef fun is_related_to(c) do return true
 end
 
 # The element that
 class TableEltVftPointer
        redef fun is_related_to(c) do return true
 end
 
 # The element that
 class TableEltVftPointer
-special TableElt
+       super TableElt
        redef fun is_related_to(c) do return true
 end
        redef fun is_related_to(c) do return true
 end
index d795c55..09c966b 100644 (file)
@@ -79,7 +79,7 @@ end
 
 # A closure definition in a iroutine body
 class IClosureDef
 
 # A closure definition in a iroutine body
 class IClosureDef
-special IRoutine
+       super IRoutine
        init(p: Array[IRegister], r: nullable IRegister)
        do
                super(p, r)
        init(p: Array[IRegister], r: nullable IRegister)
        do
                super(p, r)
@@ -105,13 +105,13 @@ end
 
 # An icode that uses no registers (no args)
 abstract class ICode0
 
 # An icode that uses no registers (no args)
 abstract class ICode0
-special ICode
+       super ICode
        redef fun arity do return 0
 end
 
 # An icode that uses a single register (1 arg)
 abstract class ICode1
        redef fun arity do return 0
 end
 
 # An icode that uses a single register (1 arg)
 abstract class ICode1
-special ICode
+       super ICode
        redef fun arity do return 1
 
        # The single argument
        redef fun arity do return 1
 
        # The single argument
@@ -122,7 +122,7 @@ end
 
 # An icode that uses two single registers (2 args)
 abstract class ICode2
 
 # An icode that uses two single registers (2 args)
 abstract class ICode2
-special ICode
+       super ICode
        redef fun arity do return 2
 
        # The first argument
        redef fun arity do return 2
 
        # The first argument
@@ -140,7 +140,7 @@ end
 
 # An icode that uses a variable number of registers (n args) and a variable number of closure definitions
 abstract class ICodeN
 
 # An icode that uses a variable number of registers (n args) and a variable number of closure definitions
 abstract class ICodeN
-special ICode
+       super ICode
        redef fun arity do return _exprs.length
 
        # All arguments
        redef fun arity do return _exprs.length
 
        # All arguments
@@ -163,7 +163,7 @@ end
 
 # A linear sequence of ICode
 class ISeq
 
 # A linear sequence of ICode
 class ISeq
-special ICode0
+       super ICode0
        # The sequence of icode
        readable var _icodes: List[ICode] = new List[ICode]
 
        # The sequence of icode
        readable var _icodes: List[ICode] = new List[ICode]
 
@@ -176,14 +176,14 @@ end
 # An infinite loop of ICode
 # Use IEscape to exit
 class ILoop
 # An infinite loop of ICode
 # Use IEscape to exit
 class ILoop
-special ISeq
+       super ISeq
        init do end
 end
 
 # A Condidianal if-then-else statement
 # expr is the condition
 class IIf
        init do end
 end
 
 # A Condidianal if-then-else statement
 # expr is the condition
 class IIf
-special ICode1
+       super ICode1
        # The 'then' sequence of icode
        readable var _then_seq: ISeq = new ISeq
        # The 'else' sequence of icode
        # The 'then' sequence of icode
        readable var _then_seq: ISeq = new ISeq
        # The 'else' sequence of icode
@@ -193,7 +193,7 @@ end
 
 # Escape to to end of a parent sequence
 class IEscape
 
 # Escape to to end of a parent sequence
 class IEscape
-special ICode0
+       super ICode0
        # The seqeuence to escape
        # The control flow continues at the next icode after the associated sequence
        readable var _iescape_mark: IEscapeMark
        # The seqeuence to escape
        # The control flow continues at the next icode after the associated sequence
        readable var _iescape_mark: IEscapeMark
@@ -202,7 +202,7 @@ end
 
 # An abort statement
 class IAbort
 
 # An abort statement
 class IAbort
-special ICode0
+       super ICode0
        # The reason the abort occured
        # tests.first is the format
        readable var _texts: Array[String]
        # The reason the abort occured
        # tests.first is the format
        readable var _texts: Array[String]
@@ -219,7 +219,7 @@ end
 
 # The root of all method invocations
 abstract class IAbsCall
 
 # The root of all method invocations
 abstract class IAbsCall
-special ICodeN
+       super ICodeN
        # The called method
        readable var _property: MMMethod
 
        # The called method
        readable var _property: MMMethod
 
@@ -233,14 +233,14 @@ end
 # A simple procedure or function call
 # exprs.first is the reciever, other are arguments
 class ICall
 # A simple procedure or function call
 # exprs.first is the reciever, other are arguments
 class ICall
-special IAbsCall
+       super IAbsCall
        init(p, e) do super
 end
 
 # A super method call
 # exprs.first is the reciever, other are arguments
 class ISuper
        init(p, e) do super
 end
 
 # A super method call
 # exprs.first is the reciever, other are arguments
 class ISuper
-special IAbsCall
+       super IAbsCall
        init(p, e) do super
 end
 
        init(p, e) do super
 end
 
@@ -252,7 +252,7 @@ end
 # - IStaticCall -> target Initializer
 # - ICheckInstance
 class INew
 # - IStaticCall -> target Initializer
 # - ICheckInstance
 class INew
-special IAbsCall
+       super IAbsCall
        # The type to instantiate
        readable var _stype: MMType
        init(t: MMType, p: MMMethod, a: Sequence[IRegister])
        # The type to instantiate
        readable var _stype: MMType
        init(t: MMType, p: MMMethod, a: Sequence[IRegister])
@@ -266,7 +266,7 @@ end
 # No receivers, returns a new object of type 't'
 # Will allocate memory and ensure dynamic type and object identity
 class IAllocateInstance
 # No receivers, returns a new object of type 't'
 # Will allocate memory and ensure dynamic type and object identity
 class IAllocateInstance
-special ICode0
+       super ICode0
        # The type to allocate
        readable var _stype: MMType
        init(t: MMType)
        # The type to allocate
        readable var _stype: MMType
        init(t: MMType)
@@ -277,13 +277,13 @@ end
 
 # A static call to a specific method
 class IStaticCall
 
 # A static call to a specific method
 class IStaticCall
-special IAbsCall
+       super IAbsCall
        init(p: MMMethod, a: Sequence[IRegister]) do super
 end
 
 # A validation of a newly constructed instance
 class ICheckInstance
        init(p: MMMethod, a: Sequence[IRegister]) do super
 end
 
 # A validation of a newly constructed instance
 class ICheckInstance
-special ICode1
+       super ICode1
        # The type to allocate
        readable var _stype: MMType
        init(t: MMType, e: IRegister)
        # The type to allocate
        readable var _stype: MMType
        init(t: MMType, e: IRegister)
@@ -295,7 +295,7 @@ end
 
 # Initialisation of default attributes of a new instance
 class IInitAttributes
 
 # Initialisation of default attributes of a new instance
 class IInitAttributes
-special ICode1
+       super ICode1
        # The type to initialize
        readable var _stype: MMType
        init(t: MMType, e: IRegister)
        # The type to initialize
        readable var _stype: MMType
        init(t: MMType, e: IRegister)
@@ -308,7 +308,7 @@ end
 # A closure call
 # exprs are the arguments
 class IClosCall
 # A closure call
 # exprs are the arguments
 class IClosCall
-special ICodeN
+       super ICodeN
        # The called closure
        readable var _closure_decl: IClosureDecl
 
        # The called closure
        readable var _closure_decl: IClosureDecl
 
@@ -326,7 +326,7 @@ end
 # Native are associated to local properties to distinguish them
 # expr are the arguments
 class INative
 # Native are associated to local properties to distinguish them
 # expr are the arguments
 class INative
-special ICodeN
+       super ICodeN
        # The associated local property
        readable var _method: MMMethod
 
        # The associated local property
        readable var _method: MMMethod
 
@@ -341,7 +341,7 @@ end
 
 # A literal Int value
 class IIntValue
 
 # A literal Int value
 class IIntValue
-special ICode0
+       super ICode0
        # The value
        readable var _value: String
 
        # The value
        readable var _value: String
 
@@ -352,7 +352,7 @@ end
 
 # A literal Bool value
 class IBoolValue
 
 # A literal Bool value
 class IBoolValue
-special ICode0
+       super ICode0
        # The value
        readable var _value: Bool
 
        # The value
        readable var _value: Bool
 
@@ -363,7 +363,7 @@ end
 
 # A literal NativeString value
 class IStringValue
 
 # A literal NativeString value
 class IStringValue
-special ICode0
+       super ICode0
        # The value
        readable var _value: String
 
        # The value
        readable var _value: String
 
@@ -374,7 +374,7 @@ end
 
 # A literal Float value
 class IFloatValue
 
 # A literal Float value
 class IFloatValue
-special ICode0
+       super ICode0
        # The value
        readable var _value: String
 
        # The value
        readable var _value: String
 
@@ -385,7 +385,7 @@ end
 
 # A literal Char value
 class ICharValue
 
 # A literal Char value
 class ICharValue
-special ICode0
+       super ICode0
        # The value
        readable var _value: String
 
        # The value
        readable var _value: String
 
@@ -398,7 +398,7 @@ end
 # expr is the assigned value
 # result is the register assigned
 class IMove
 # expr is the assigned value
 # result is the register assigned
 class IMove
-special ICode1
+       super ICode1
        init(r: IRegister, e: IRegister)
        do
                super(e)
        init(r: IRegister, e: IRegister)
        do
                super(e)
@@ -411,7 +411,7 @@ end
 # An attribute read access
 # expr is the reciever
 class IAttrRead
 # An attribute read access
 # expr is the reciever
 class IAttrRead
-special ICode1
+       super ICode1
        # The accessed attribute
        readable var _property: MMAttribute
 
        # The accessed attribute
        readable var _property: MMAttribute
 
@@ -427,7 +427,7 @@ end
 # An attribute assignment
 # expr1 is the receiver, expr2 is the assigned value
 class IAttrWrite
 # An attribute assignment
 # expr1 is the receiver, expr2 is the assigned value
 class IAttrWrite
-special ICode2
+       super ICode2
        # The accessed attribute
        readable var _property: MMAttribute
 
        # The accessed attribute
        readable var _property: MMAttribute
 
@@ -442,7 +442,7 @@ end
 # An attribute is_set check
 # expr is the reciever
 class IAttrIsset
 # An attribute is_set check
 # expr is the reciever
 class IAttrIsset
-special ICode1
+       super ICode1
        # The accessed attribute
        readable var _property: MMAttribute
 
        # The accessed attribute
        readable var _property: MMAttribute
 
@@ -458,7 +458,7 @@ end
 # A type check
 # expr is the expression checked
 class ITypeCheck
 # A type check
 # expr is the expression checked
 class ITypeCheck
-special ICode1
+       super ICode1
        # The static type checkes to
        readable var _stype: MMType
 
        # The static type checkes to
        readable var _stype: MMType
 
@@ -474,7 +474,7 @@ end
 # The 'is' operator
 # expr1 and expr2 are both operands
 class IIs
 # The 'is' operator
 # expr1 and expr2 are both operands
 class IIs
-special ICode2
+       super ICode2
        init(e1, e2: IRegister)
        do
                super
        init(e1, e2: IRegister)
        do
                super
@@ -486,7 +486,7 @@ end
 # The unary 'not' operation
 # expr is the operand
 class INot
 # The unary 'not' operation
 # expr is the operand
 class INot
-special ICode1
+       super ICode1
        init(e: IRegister)
        do
                super
        init(e: IRegister)
        do
                super
@@ -498,14 +498,14 @@ end
 # Evaluate body once them return the same value again and again
 # if result is not null, then it must also be assigned in the body
 class IOnce
 # Evaluate body once them return the same value again and again
 # if result is not null, then it must also be assigned in the body
 class IOnce
-special ICode0
+       super ICode0
        readable var _body: ISeq = new ISeq
        init do end
 end
 
 # Is a closure given as a parameter?
 class IHasClos
        readable var _body: ISeq = new ISeq
        init do end
 end
 
 # Is a closure given as a parameter?
 class IHasClos
-special ICode0
+       super ICode0
        # The called closure
        readable var _closure_decl: IClosureDecl
 
        # The called closure
        readable var _closure_decl: IClosureDecl
 
index 3d2a5fd..c6e4dee 100644 (file)
@@ -17,7 +17,7 @@
 package location
 
 class Location
 package location
 
 class Location
-special Comparable
+       super Comparable
        redef type OTHER: Location
 
        readable var _file: String
        redef type OTHER: Location
 
        readable var _file: String
index 68c30dd..32af390 100644 (file)
@@ -649,12 +649,12 @@ end
 
 # Attribute local properties
 class MMAttribute
 
 # Attribute local properties
 class MMAttribute
-special MMLocalProperty
+       super MMLocalProperty
 end
 
 # Method local properties
 class MMMethod
 end
 
 # Method local properties
 class MMMethod
-special MMLocalProperty
+       super MMLocalProperty
        # Is the method defined with intern
        fun is_intern: Bool is abstract
 
        # Is the method defined with intern
        fun is_intern: Bool is abstract
 
@@ -667,6 +667,6 @@ end
 
 # Concrete local classes
 class MMConcreteClass
 
 # Concrete local classes
 class MMConcreteClass
-special MMLocalClass
+       super MMLocalClass
 end
 
 end
 
index e2d0962..4de61f7 100644 (file)
@@ -105,7 +105,7 @@ redef class MMTypeSimpleClass
 end
 
 class MMTypeGeneric
 end
 
 class MMTypeGeneric
-special MMTypeClass
+       super MMTypeClass
        # Formal arguments
        readable var _params: Array[MMType] 
 
        # Formal arguments
        readable var _params: Array[MMType] 
 
@@ -194,7 +194,7 @@ special MMTypeClass
 end
 
 class MMTypeFormalParameter
 end
 
 class MMTypeFormalParameter
-special MMTypeFormal
+       super MMTypeFormal
        # The class where self is defined
        readable var _def_class: MMLocalClass 
 
        # The class where self is defined
        readable var _def_class: MMLocalClass 
 
index 4d21665..46e6e88 100644 (file)
@@ -469,7 +469,7 @@ end
 
 # A local class that is a pure importation of an other local class
 class MMImplicitLocalClass
 
 # A local class that is a pure importation of an other local class
 class MMImplicitLocalClass
-special MMLocalClass
+       super MMLocalClass
        init(mod: MMModule, g: MMGlobalClass)
        do
                var cla = g.intro
        init(mod: MMModule, g: MMGlobalClass)
        do
                var cla = g.intro
@@ -479,7 +479,7 @@ special MMLocalClass
 end
 
 class MMRefineAncestor
 end
 
 class MMRefineAncestor
-special MMAncestor
+       super MMAncestor
        redef readable var _local_class: MMLocalClass
 
        init(b: MMLocalClass, a: MMLocalClass)
        redef readable var _local_class: MMLocalClass
 
        init(b: MMLocalClass, a: MMLocalClass)
@@ -492,7 +492,7 @@ end
 
 
 class MMSpecAncestor
 
 
 class MMSpecAncestor
-special MMAncestor
+       super MMAncestor
        redef fun local_class do return stype.local_class
 
        init(inheriter: MMType, stype: MMType)
        redef fun local_class do return stype.local_class
 
        init(inheriter: MMType, stype: MMType)
@@ -503,7 +503,7 @@ special MMAncestor
 end
 
 class MMDefaultAncestor
 end
 
 class MMDefaultAncestor
-special MMAncestor
+       super MMAncestor
        redef fun local_class do return stype.local_class
 
        init(b: MMLocalClass, anc: MMType)
        redef fun local_class do return stype.local_class
 
        init(b: MMLocalClass, anc: MMType)
index fd9a8bb..435e3d9 100644 (file)
@@ -20,7 +20,7 @@ package partial_order
 # Handles partial ordered sets (ie hierarchies)
 # Thez are built by adding new element at the bottom of the hierarchy
 class PartialOrder[E: Object]
 # Handles partial ordered sets (ie hierarchies)
 # Thez are built by adding new element at the bottom of the hierarchy
 class PartialOrder[E: Object]
-special Collection[E]
+       super Collection[E]
        # Elements
        var _elements: Map[E, PartialOrderElement[E]]
 
        # Elements
        var _elements: Map[E, PartialOrderElement[E]]
 
index 15d735a..fc1f684 100644 (file)
@@ -379,7 +379,7 @@ abstract class MMType
 end
 
 class MMNullableType
 end
 
 class MMNullableType
-special MMType
+       super MMType
        var _base_type: MMType
        redef fun is_valid do return _base_type.is_valid
        redef fun is_nullable: Bool do return true
        var _base_type: MMType
        redef fun is_valid do return _base_type.is_valid
        redef fun is_nullable: Bool do return true
@@ -428,7 +428,7 @@ special MMType
 end
 
 class MMTypeClass 
 end
 
 class MMTypeClass 
-special MMType
+       super MMType
        redef readable var _local_class: MMLocalClass
        redef fun mmmodule do return _local_class.mmmodule end
        redef fun <(t) do return t.is_supertype(self)
        redef readable var _local_class: MMLocalClass
        redef fun mmmodule do return _local_class.mmmodule end
        redef fun <(t) do return t.is_supertype(self)
@@ -454,7 +454,7 @@ special MMType
 end
 
 class MMTypeSimpleClass
 end
 
 class MMTypeSimpleClass
-special MMTypeClass
+       super MMTypeClass
        redef fun is_supertype(t)
        do
                return  t.local_class.cshe <= _local_class
        redef fun is_supertype(t)
        do
                return  t.local_class.cshe <= _local_class
@@ -479,7 +479,7 @@ end
 
 # The type of null
 class MMTypeNone
 
 # The type of null
 class MMTypeNone
-special MMType
+       super MMType
        redef readable var _mmmodule: MMModule
        redef fun is_nullable: Bool do return true
        redef fun <(t) do return t isa MMTypeNone or t isa MMNullableType
        redef readable var _mmmodule: MMModule
        redef fun is_nullable: Bool do return true
        redef fun <(t) do return t isa MMTypeNone or t isa MMNullableType
index e214218..8ab8b8b 100644 (file)
@@ -27,7 +27,7 @@ end
 
 # Formal types are named indirect types
 class MMTypeFormal
 
 # Formal types are named indirect types
 class MMTypeFormal
-special MMType
+       super MMType
        redef fun is_valid do return _bound != null and _bound.is_valid
 
        # The name of the type
        redef fun is_valid do return _bound != null and _bound.is_valid
 
        # The name of the type
index 7b09814..527f20e 100644 (file)
@@ -27,7 +27,7 @@ end
 
 # Virtual type properties
 class MMTypeProperty
 
 # Virtual type properties
 class MMTypeProperty
-special MMLocalProperty
+       super MMLocalProperty
        # The virtual static type associated
        fun stype_for(recv: MMType): nullable MMVirtualType
        do
        # The virtual static type associated
        fun stype_for(recv: MMType): nullable MMVirtualType
        do
@@ -54,7 +54,7 @@ special MMLocalProperty
 end
 
 class MMVirtualType
 end
 
 class MMVirtualType
-special MMTypeFormal
+       super MMTypeFormal
        # The property associed
        readable var _property: MMTypeProperty
 
        # The property associed
        readable var _property: MMTypeProperty
 
index c63455f..9a6eeb1 100644 (file)
@@ -24,7 +24,7 @@ import opts
 import location
 
 class Message
 import location
 
 class Message
-special Comparable
+       super Comparable
        redef type OTHER: Message
 
        readable var _location: nullable Location
        redef type OTHER: Message
 
        readable var _location: nullable Location
@@ -49,7 +49,7 @@ end
 
 # Global context for tools
 class ToolContext
 
 # Global context for tools
 class ToolContext
-special MMContext
+       super MMContext
        # Number of errors
        readable var _error_count: Int = 0
 
        # Number of errors
        readable var _error_count: Int = 0
 
index 6754990..1df5d90 100644 (file)
@@ -25,7 +25,7 @@ private import syntax
 
 # The main class of the nitcompiler program
 class NitCompiler
 
 # The main class of the nitcompiler program
 class NitCompiler
-special AbstractCompiler
+       super AbstractCompiler
        readable var _opt_output: OptionString = new OptionString("Output file", "-o", "--output")
        readable var _opt_boost: OptionBool = new OptionBool("Optimize compilation", "-O", "--boost")
        readable var _opt_no_cc: OptionBool = new OptionBool("Do not invoke C compiler", "--no-cc")
        readable var _opt_output: OptionString = new OptionString("Output file", "-o", "--output")
        readable var _opt_boost: OptionBool = new OptionBool("Optimize compilation", "-O", "--boost")
        readable var _opt_no_cc: OptionBool = new OptionBool("Do not invoke C compiler", "--no-cc")
index 3f8978a..437f837 100644 (file)
@@ -24,7 +24,7 @@ import abstracttool
 
 # Store knowledge and facilities to generate files
 class DocContext
 
 # Store knowledge and facilities to generate files
 class DocContext
-special AbstractCompiler
+       super AbstractCompiler
        # Destination directory
        readable writable var _dir: String = "."
 
        # Destination directory
        readable writable var _dir: String = "."
 
@@ -278,7 +278,7 @@ end
 
 # Efficiently sort object with their to_s method
 class AlphaSorter[E: Object]
 
 # Efficiently sort object with their to_s method
 class AlphaSorter[E: Object]
-special AbstractSorter[E]
+       super AbstractSorter[E]
        redef fun compare(a, b)
        do
                var sa: String
        redef fun compare(a, b)
        do
                var sa: String
@@ -331,7 +331,7 @@ class MMEntity
 end
 
 redef class MMModule
 end
 
 redef class MMModule
-special MMEntity
+       super MMEntity
        redef fun html_link(dctx) do 
                if dctx.mmmodule == self then
                        return "{self}"
        redef fun html_link(dctx) do 
                if dctx.mmmodule == self then
                        return "{self}"
@@ -399,7 +399,7 @@ special MMEntity
 end
 
 redef class MMLocalProperty
 end
 
 redef class MMLocalProperty
-special MMEntity
+       super MMEntity
        # Anchor of the property description in the module html file
        fun html_anchor: String
        do
        # Anchor of the property description in the module html file
        fun html_anchor: String
        do
@@ -696,7 +696,7 @@ redef class ADoc
 end
 
 redef class MMLocalClass
 end
 
 redef class MMLocalClass
-special MMEntity
+       super MMEntity
        # Anchor of the class description in the module html file
        fun html_anchor: String do return "CLASS_{self}"
 
        # Anchor of the class description in the module html file
        fun html_anchor: String do return "CLASS_{self}"
 
index 7ac93d4..8e1b0ec 100644 (file)
@@ -1200,7 +1200,7 @@ end
 # The lexer extract NIT tokens from an input stream.
 # It is better user with the Parser
 class Lexer
 # The lexer extract NIT tokens from an input stream.
 # It is better user with the Parser
 class Lexer
-special TablesCapable
+       super TablesCapable
        # Last peeked token
        var _token: nullable Token
 
        # Last peeked token
        var _token: nullable Token
 
index ae6bf39..3a6986f 100644 (file)
@@ -20,7 +20,7 @@ private class State
 end
 
 class Parser
 end
 
 class Parser
-special TablesCapable
+       super TablesCapable
        # Associated lexer
        var _lexer: Lexer
 
        # Associated lexer
        var _lexer: Lexer
 
@@ -862,7 +862,7 @@ end
 # Find location of production nodes
 # Uses existing token locations to infer location of productions.
 private class ComputeProdLocationVisitor
 # Find location of production nodes
 # Uses existing token locations to infer location of productions.
 private class ComputeProdLocationVisitor
-special Visitor
+       super Visitor
        # Currenlty visited productions that need a first token
        var _need_first_prods: Array[Prod] = new Array[Prod]
 
        # Currenlty visited productions that need a first token
        var _need_first_prods: Array[Prod] = new Array[Prod]
 
@@ -958,7 +958,7 @@ private abstract class ReduceAction
 end
 
 private class ReduceAction0
 end
 
 private class ReduceAction0
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -976,7 +976,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction1
        init(g: Int) do _goto = g
 end
 private class ReduceAction1
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -997,7 +997,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction2
        init(g: Int) do _goto = g
 end
 private class ReduceAction2
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1019,7 +1019,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction3
        init(g: Int) do _goto = g
 end
 private class ReduceAction3
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1044,7 +1044,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction4
        init(g: Int) do _goto = g
 end
 private class ReduceAction4
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1066,7 +1066,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction5
        init(g: Int) do _goto = g
 end
 private class ReduceAction5
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1091,7 +1091,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction6
        init(g: Int) do _goto = g
 end
 private class ReduceAction6
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1117,7 +1117,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction7
        init(g: Int) do _goto = g
 end
 private class ReduceAction7
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1146,7 +1146,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction8
        init(g: Int) do _goto = g
 end
 private class ReduceAction8
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1175,7 +1175,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction9
        init(g: Int) do _goto = g
 end
 private class ReduceAction9
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1207,7 +1207,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction10
        init(g: Int) do _goto = g
 end
 private class ReduceAction10
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1240,7 +1240,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction11
        init(g: Int) do _goto = g
 end
 private class ReduceAction11
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1276,7 +1276,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction12
        init(g: Int) do _goto = g
 end
 private class ReduceAction12
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1309,7 +1309,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction13
        init(g: Int) do _goto = g
 end
 private class ReduceAction13
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1345,7 +1345,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction14
        init(g: Int) do _goto = g
 end
 private class ReduceAction14
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1382,7 +1382,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction15
        init(g: Int) do _goto = g
 end
 private class ReduceAction15
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1422,7 +1422,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction16
        init(g: Int) do _goto = g
 end
 private class ReduceAction16
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1446,7 +1446,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction17
        init(g: Int) do _goto = g
 end
 private class ReduceAction17
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1473,7 +1473,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction18
        init(g: Int) do _goto = g
 end
 private class ReduceAction18
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1501,7 +1501,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction19
        init(g: Int) do _goto = g
 end
 private class ReduceAction19
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1532,7 +1532,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction20
        init(g: Int) do _goto = g
 end
 private class ReduceAction20
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1560,7 +1560,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction21
        init(g: Int) do _goto = g
 end
 private class ReduceAction21
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1591,7 +1591,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction22
        init(g: Int) do _goto = g
 end
 private class ReduceAction22
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1623,7 +1623,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction23
        init(g: Int) do _goto = g
 end
 private class ReduceAction23
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1658,7 +1658,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction24
        init(g: Int) do _goto = g
 end
 private class ReduceAction24
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1693,7 +1693,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction25
        init(g: Int) do _goto = g
 end
 private class ReduceAction25
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1731,7 +1731,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction26
        init(g: Int) do _goto = g
 end
 private class ReduceAction26
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1770,7 +1770,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction27
        init(g: Int) do _goto = g
 end
 private class ReduceAction27
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1812,7 +1812,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction28
        init(g: Int) do _goto = g
 end
 private class ReduceAction28
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1851,7 +1851,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction29
        init(g: Int) do _goto = g
 end
 private class ReduceAction29
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1893,7 +1893,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction30
        init(g: Int) do _goto = g
 end
 private class ReduceAction30
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1936,7 +1936,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction31
        init(g: Int) do _goto = g
 end
 private class ReduceAction31
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -1982,7 +1982,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction32
        init(g: Int) do _goto = g
 end
 private class ReduceAction32
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2009,7 +2009,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction33
        init(g: Int) do _goto = g
 end
 private class ReduceAction33
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2037,7 +2037,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction34
        init(g: Int) do _goto = g
 end
 private class ReduceAction34
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2065,7 +2065,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction35
        init(g: Int) do _goto = g
 end
 private class ReduceAction35
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2086,7 +2086,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction36
        init(g: Int) do _goto = g
 end
 private class ReduceAction36
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2098,7 +2098,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction37
        init(g: Int) do _goto = g
 end
 private class ReduceAction37
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2117,7 +2117,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction39
        init(g: Int) do _goto = g
 end
 private class ReduceAction39
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2156,7 +2156,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction40
        init(g: Int) do _goto = g
 end
 private class ReduceAction40
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2198,7 +2198,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction41
        init(g: Int) do _goto = g
 end
 private class ReduceAction41
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2241,7 +2241,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction42
        init(g: Int) do _goto = g
 end
 private class ReduceAction42
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2287,7 +2287,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction43
        init(g: Int) do _goto = g
 end
 private class ReduceAction43
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2330,7 +2330,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction44
        init(g: Int) do _goto = g
 end
 private class ReduceAction44
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2376,7 +2376,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction45
        init(g: Int) do _goto = g
 end
 private class ReduceAction45
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2423,7 +2423,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction46
        init(g: Int) do _goto = g
 end
 private class ReduceAction46
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2473,7 +2473,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction47
        init(g: Int) do _goto = g
 end
 private class ReduceAction47
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2516,7 +2516,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction48
        init(g: Int) do _goto = g
 end
 private class ReduceAction48
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2562,7 +2562,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction49
        init(g: Int) do _goto = g
 end
 private class ReduceAction49
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2609,7 +2609,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction50
        init(g: Int) do _goto = g
 end
 private class ReduceAction50
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2659,7 +2659,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction51
        init(g: Int) do _goto = g
 end
 private class ReduceAction51
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2706,7 +2706,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction52
        init(g: Int) do _goto = g
 end
 private class ReduceAction52
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2756,7 +2756,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction53
        init(g: Int) do _goto = g
 end
 private class ReduceAction53
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2807,7 +2807,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction54
        init(g: Int) do _goto = g
 end
 private class ReduceAction54
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2861,7 +2861,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction55
        init(g: Int) do _goto = g
 end
 private class ReduceAction55
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2878,7 +2878,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction56
        init(g: Int) do _goto = g
 end
 private class ReduceAction56
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2899,7 +2899,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction57
        init(g: Int) do _goto = g
 end
 private class ReduceAction57
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2916,7 +2916,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction58
        init(g: Int) do _goto = g
 end
 private class ReduceAction58
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2933,7 +2933,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction59
        init(g: Int) do _goto = g
 end
 private class ReduceAction59
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2954,7 +2954,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction60
        init(g: Int) do _goto = g
 end
 private class ReduceAction60
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2979,7 +2979,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction61
        init(g: Int) do _goto = g
 end
 private class ReduceAction61
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -2994,7 +2994,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction62
        init(g: Int) do _goto = g
 end
 private class ReduceAction62
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3012,7 +3012,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction63
        init(g: Int) do _goto = g
 end
 private class ReduceAction63
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3033,7 +3033,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction64
        init(g: Int) do _goto = g
 end
 private class ReduceAction64
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3057,7 +3057,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction65
        init(g: Int) do _goto = g
 end
 private class ReduceAction65
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3081,7 +3081,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction66
        init(g: Int) do _goto = g
 end
 private class ReduceAction66
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3095,7 +3095,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction67
        init(g: Int) do _goto = g
 end
 private class ReduceAction67
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3134,7 +3134,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction68
        init(g: Int) do _goto = g
 end
 private class ReduceAction68
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3176,7 +3176,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction69
        init(g: Int) do _goto = g
 end
 private class ReduceAction69
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3216,7 +3216,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction70
        init(g: Int) do _goto = g
 end
 private class ReduceAction70
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3259,7 +3259,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction71
        init(g: Int) do _goto = g
 end
 private class ReduceAction71
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3299,7 +3299,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction72
        init(g: Int) do _goto = g
 end
 private class ReduceAction72
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3342,7 +3342,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction73
        init(g: Int) do _goto = g
 end
 private class ReduceAction73
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3378,7 +3378,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction74
        init(g: Int) do _goto = g
 end
 private class ReduceAction74
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3417,7 +3417,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction75
        init(g: Int) do _goto = g
 end
 private class ReduceAction75
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3453,7 +3453,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction76
        init(g: Int) do _goto = g
 end
 private class ReduceAction76
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3492,7 +3492,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction77
        init(g: Int) do _goto = g
 end
 private class ReduceAction77
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3529,7 +3529,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction78
        init(g: Int) do _goto = g
 end
 private class ReduceAction78
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3569,7 +3569,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction79
        init(g: Int) do _goto = g
 end
 private class ReduceAction79
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3609,7 +3609,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction80
        init(g: Int) do _goto = g
 end
 private class ReduceAction80
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3652,7 +3652,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction81
        init(g: Int) do _goto = g
 end
 private class ReduceAction81
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3687,7 +3687,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction82
        init(g: Int) do _goto = g
 end
 private class ReduceAction82
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3725,7 +3725,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction83
        init(g: Int) do _goto = g
 end
 private class ReduceAction83
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3763,7 +3763,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction84
        init(g: Int) do _goto = g
 end
 private class ReduceAction84
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3804,7 +3804,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction85
        init(g: Int) do _goto = g
 end
 private class ReduceAction85
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3842,7 +3842,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction86
        init(g: Int) do _goto = g
 end
 private class ReduceAction86
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3883,7 +3883,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction87
        init(g: Int) do _goto = g
 end
 private class ReduceAction87
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3924,7 +3924,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction88
        init(g: Int) do _goto = g
 end
 private class ReduceAction88
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -3968,7 +3968,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction89
        init(g: Int) do _goto = g
 end
 private class ReduceAction89
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4006,7 +4006,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction90
        init(g: Int) do _goto = g
 end
 private class ReduceAction90
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4047,7 +4047,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction91
        init(g: Int) do _goto = g
 end
 private class ReduceAction91
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4088,7 +4088,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction92
        init(g: Int) do _goto = g
 end
 private class ReduceAction92
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4132,7 +4132,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction93
        init(g: Int) do _goto = g
 end
 private class ReduceAction93
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4173,7 +4173,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction94
        init(g: Int) do _goto = g
 end
 private class ReduceAction94
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4217,7 +4217,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction95
        init(g: Int) do _goto = g
 end
 private class ReduceAction95
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4261,7 +4261,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction96
        init(g: Int) do _goto = g
 end
 private class ReduceAction96
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4308,7 +4308,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction97
        init(g: Int) do _goto = g
 end
 private class ReduceAction97
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4348,7 +4348,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction98
        init(g: Int) do _goto = g
 end
 private class ReduceAction98
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4391,7 +4391,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction99
        init(g: Int) do _goto = g
 end
 private class ReduceAction99
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4434,7 +4434,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction100
        init(g: Int) do _goto = g
 end
 private class ReduceAction100
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4480,7 +4480,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction101
        init(g: Int) do _goto = g
 end
 private class ReduceAction101
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4523,7 +4523,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction102
        init(g: Int) do _goto = g
 end
 private class ReduceAction102
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4569,7 +4569,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction103
        init(g: Int) do _goto = g
 end
 private class ReduceAction103
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4615,7 +4615,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction104
        init(g: Int) do _goto = g
 end
 private class ReduceAction104
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4664,7 +4664,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction105
        init(g: Int) do _goto = g
 end
 private class ReduceAction105
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4707,7 +4707,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction106
        init(g: Int) do _goto = g
 end
 private class ReduceAction106
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4753,7 +4753,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction107
        init(g: Int) do _goto = g
 end
 private class ReduceAction107
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4799,7 +4799,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction108
        init(g: Int) do _goto = g
 end
 private class ReduceAction108
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4848,7 +4848,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction109
        init(g: Int) do _goto = g
 end
 private class ReduceAction109
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4894,7 +4894,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction110
        init(g: Int) do _goto = g
 end
 private class ReduceAction110
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4943,7 +4943,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction111
        init(g: Int) do _goto = g
 end
 private class ReduceAction111
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -4992,7 +4992,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction112
        init(g: Int) do _goto = g
 end
 private class ReduceAction112
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5044,7 +5044,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction113
        init(g: Int) do _goto = g
 end
 private class ReduceAction113
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5079,7 +5079,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction114
        init(g: Int) do _goto = g
 end
 private class ReduceAction114
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5117,7 +5117,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction115
        init(g: Int) do _goto = g
 end
 private class ReduceAction115
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5155,7 +5155,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction116
        init(g: Int) do _goto = g
 end
 private class ReduceAction116
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5196,7 +5196,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction117
        init(g: Int) do _goto = g
 end
 private class ReduceAction117
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5234,7 +5234,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction118
        init(g: Int) do _goto = g
 end
 private class ReduceAction118
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5275,7 +5275,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction119
        init(g: Int) do _goto = g
 end
 private class ReduceAction119
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5316,7 +5316,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction120
        init(g: Int) do _goto = g
 end
 private class ReduceAction120
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5360,7 +5360,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction121
        init(g: Int) do _goto = g
 end
 private class ReduceAction121
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5400,7 +5400,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction122
        init(g: Int) do _goto = g
 end
 private class ReduceAction122
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5443,7 +5443,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction123
        init(g: Int) do _goto = g
 end
 private class ReduceAction123
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5486,7 +5486,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction124
        init(g: Int) do _goto = g
 end
 private class ReduceAction124
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5532,7 +5532,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction125
        init(g: Int) do _goto = g
 end
 private class ReduceAction125
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5575,7 +5575,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction126
        init(g: Int) do _goto = g
 end
 private class ReduceAction126
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5621,7 +5621,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction127
        init(g: Int) do _goto = g
 end
 private class ReduceAction127
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5667,7 +5667,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction128
        init(g: Int) do _goto = g
 end
 private class ReduceAction128
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5716,7 +5716,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction129
        init(g: Int) do _goto = g
 end
 private class ReduceAction129
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5752,7 +5752,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction130
        init(g: Int) do _goto = g
 end
 private class ReduceAction130
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5791,7 +5791,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction131
        init(g: Int) do _goto = g
 end
 private class ReduceAction131
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5830,7 +5830,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction132
        init(g: Int) do _goto = g
 end
 private class ReduceAction132
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5872,7 +5872,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction133
        init(g: Int) do _goto = g
 end
 private class ReduceAction133
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5909,7 +5909,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction134
        init(g: Int) do _goto = g
 end
 private class ReduceAction134
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5949,7 +5949,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction135
        init(g: Int) do _goto = g
 end
 private class ReduceAction135
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -5989,7 +5989,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction136
        init(g: Int) do _goto = g
 end
 private class ReduceAction136
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6032,7 +6032,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction137
        init(g: Int) do _goto = g
 end
 private class ReduceAction137
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6066,7 +6066,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction138
        init(g: Int) do _goto = g
 end
 private class ReduceAction138
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6103,7 +6103,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction139
        init(g: Int) do _goto = g
 end
 private class ReduceAction139
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6121,7 +6121,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction140
        init(g: Int) do _goto = g
 end
 private class ReduceAction140
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6142,7 +6142,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction141
        init(g: Int) do _goto = g
 end
 private class ReduceAction141
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6161,7 +6161,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction142
        init(g: Int) do _goto = g
 end
 private class ReduceAction142
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6183,7 +6183,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction143
        init(g: Int) do _goto = g
 end
 private class ReduceAction143
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6205,7 +6205,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction144
        init(g: Int) do _goto = g
 end
 private class ReduceAction144
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6230,7 +6230,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction145
        init(g: Int) do _goto = g
 end
 private class ReduceAction145
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6243,7 +6243,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction146
        init(g: Int) do _goto = g
 end
 private class ReduceAction146
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6261,7 +6261,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction147
        init(g: Int) do _goto = g
 end
 private class ReduceAction147
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6279,7 +6279,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction148
        init(g: Int) do _goto = g
 end
 private class ReduceAction148
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6297,7 +6297,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction149
        init(g: Int) do _goto = g
 end
 private class ReduceAction149
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6314,7 +6314,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction150
        init(g: Int) do _goto = g
 end
 private class ReduceAction150
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6331,7 +6331,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction151
        init(g: Int) do _goto = g
 end
 private class ReduceAction151
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6348,7 +6348,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction152
        init(g: Int) do _goto = g
 end
 private class ReduceAction152
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6365,7 +6365,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction153
        init(g: Int) do _goto = g
 end
 private class ReduceAction153
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6382,7 +6382,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction154
        init(g: Int) do _goto = g
 end
 private class ReduceAction154
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6399,7 +6399,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction155
        init(g: Int) do _goto = g
 end
 private class ReduceAction155
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6416,7 +6416,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction156
        init(g: Int) do _goto = g
 end
 private class ReduceAction156
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6433,7 +6433,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction157
        init(g: Int) do _goto = g
 end
 private class ReduceAction157
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6450,7 +6450,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction158
        init(g: Int) do _goto = g
 end
 private class ReduceAction158
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6467,7 +6467,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction159
        init(g: Int) do _goto = g
 end
 private class ReduceAction159
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6484,7 +6484,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction160
        init(g: Int) do _goto = g
 end
 private class ReduceAction160
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6501,7 +6501,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction161
        init(g: Int) do _goto = g
 end
 private class ReduceAction161
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6518,7 +6518,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction162
        init(g: Int) do _goto = g
 end
 private class ReduceAction162
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6535,7 +6535,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction163
        init(g: Int) do _goto = g
 end
 private class ReduceAction163
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6556,7 +6556,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction164
        init(g: Int) do _goto = g
 end
 private class ReduceAction164
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6573,7 +6573,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction165
        init(g: Int) do _goto = g
 end
 private class ReduceAction165
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6594,7 +6594,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction166
        init(g: Int) do _goto = g
 end
 private class ReduceAction166
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6619,7 +6619,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction167
        init(g: Int) do _goto = g
 end
 private class ReduceAction167
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6644,7 +6644,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction168
        init(g: Int) do _goto = g
 end
 private class ReduceAction168
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6673,7 +6673,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction169
        init(g: Int) do _goto = g
 end
 private class ReduceAction169
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6695,7 +6695,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction170
        init(g: Int) do _goto = g
 end
 private class ReduceAction170
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6721,7 +6721,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction171
        init(g: Int) do _goto = g
 end
 private class ReduceAction171
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6743,7 +6743,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction172
        init(g: Int) do _goto = g
 end
 private class ReduceAction172
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6769,7 +6769,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction173
        init(g: Int) do _goto = g
 end
 private class ReduceAction173
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6788,7 +6788,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction174
        init(g: Int) do _goto = g
 end
 private class ReduceAction174
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6811,7 +6811,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction175
        init(g: Int) do _goto = g
 end
 private class ReduceAction175
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6829,7 +6829,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction176
        init(g: Int) do _goto = g
 end
 private class ReduceAction176
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6851,7 +6851,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction177
        init(g: Int) do _goto = g
 end
 private class ReduceAction177
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6872,7 +6872,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction178
        init(g: Int) do _goto = g
 end
 private class ReduceAction178
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6897,7 +6897,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction179
        init(g: Int) do _goto = g
 end
 private class ReduceAction179
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6918,7 +6918,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction180
        init(g: Int) do _goto = g
 end
 private class ReduceAction180
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6943,7 +6943,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction181
        init(g: Int) do _goto = g
 end
 private class ReduceAction181
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6958,7 +6958,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction182
        init(g: Int) do _goto = g
 end
 private class ReduceAction182
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6973,7 +6973,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction183
        init(g: Int) do _goto = g
 end
 private class ReduceAction183
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -6992,7 +6992,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction184
        init(g: Int) do _goto = g
 end
 private class ReduceAction184
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7014,7 +7014,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction185
        init(g: Int) do _goto = g
 end
 private class ReduceAction185
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7039,7 +7039,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction186
        init(g: Int) do _goto = g
 end
 private class ReduceAction186
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7056,7 +7056,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction187
        init(g: Int) do _goto = g
 end
 private class ReduceAction187
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7084,7 +7084,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction188
        init(g: Int) do _goto = g
 end
 private class ReduceAction188
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7115,7 +7115,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction189
        init(g: Int) do _goto = g
 end
 private class ReduceAction189
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7147,7 +7147,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction190
        init(g: Int) do _goto = g
 end
 private class ReduceAction190
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7182,7 +7182,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction191
        init(g: Int) do _goto = g
 end
 private class ReduceAction191
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7215,7 +7215,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction192
        init(g: Int) do _goto = g
 end
 private class ReduceAction192
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7251,7 +7251,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction193
        init(g: Int) do _goto = g
 end
 private class ReduceAction193
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7269,7 +7269,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction194
        init(g: Int) do _goto = g
 end
 private class ReduceAction194
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7289,7 +7289,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction195
        init(g: Int) do _goto = g
 end
 private class ReduceAction195
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7312,7 +7312,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction196
        init(g: Int) do _goto = g
 end
 private class ReduceAction196
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7340,7 +7340,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction197
        init(g: Int) do _goto = g
 end
 private class ReduceAction197
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7371,7 +7371,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction198
        init(g: Int) do _goto = g
 end
 private class ReduceAction198
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7388,7 +7388,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction199
        init(g: Int) do _goto = g
 end
 private class ReduceAction199
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7409,7 +7409,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction200
        init(g: Int) do _goto = g
 end
 private class ReduceAction200
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7424,7 +7424,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction202
        init(g: Int) do _goto = g
 end
 private class ReduceAction202
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7439,7 +7439,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction203
        init(g: Int) do _goto = g
 end
 private class ReduceAction203
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7456,7 +7456,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction204
        init(g: Int) do _goto = g
 end
 private class ReduceAction204
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7472,7 +7472,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction205
        init(g: Int) do _goto = g
 end
 private class ReduceAction205
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7485,7 +7485,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction206
        init(g: Int) do _goto = g
 end
 private class ReduceAction206
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7506,7 +7506,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction207
        init(g: Int) do _goto = g
 end
 private class ReduceAction207
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7531,7 +7531,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction208
        init(g: Int) do _goto = g
 end
 private class ReduceAction208
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7553,7 +7553,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction209
        init(g: Int) do _goto = g
 end
 private class ReduceAction209
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7579,7 +7579,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction210
        init(g: Int) do _goto = g
 end
 private class ReduceAction210
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7593,7 +7593,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction213
        init(g: Int) do _goto = g
 end
 private class ReduceAction213
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7611,7 +7611,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction214
        init(g: Int) do _goto = g
 end
 private class ReduceAction214
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7632,7 +7632,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction215
        init(g: Int) do _goto = g
 end
 private class ReduceAction215
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7651,7 +7651,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction216
        init(g: Int) do _goto = g
 end
 private class ReduceAction216
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7673,7 +7673,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction217
        init(g: Int) do _goto = g
 end
 private class ReduceAction217
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7695,7 +7695,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction218
        init(g: Int) do _goto = g
 end
 private class ReduceAction218
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7720,7 +7720,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction219
        init(g: Int) do _goto = g
 end
 private class ReduceAction219
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7737,7 +7737,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction220
        init(g: Int) do _goto = g
 end
 private class ReduceAction220
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7756,7 +7756,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction221
        init(g: Int) do _goto = g
 end
 private class ReduceAction221
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7778,7 +7778,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction222
        init(g: Int) do _goto = g
 end
 private class ReduceAction222
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7800,7 +7800,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction223
        init(g: Int) do _goto = g
 end
 private class ReduceAction223
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7825,7 +7825,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction230
        init(g: Int) do _goto = g
 end
 private class ReduceAction230
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7856,7 +7856,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction231
        init(g: Int) do _goto = g
 end
 private class ReduceAction231
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7884,7 +7884,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction232
        init(g: Int) do _goto = g
 end
 private class ReduceAction232
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7919,7 +7919,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction233
        init(g: Int) do _goto = g
 end
 private class ReduceAction233
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7951,7 +7951,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction234
        init(g: Int) do _goto = g
 end
 private class ReduceAction234
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -7975,7 +7975,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction235
        init(g: Int) do _goto = g
 end
 private class ReduceAction235
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8002,7 +8002,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction236
        init(g: Int) do _goto = g
 end
 private class ReduceAction236
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8031,7 +8031,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction237
        init(g: Int) do _goto = g
 end
 private class ReduceAction237
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8057,7 +8057,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction238
        init(g: Int) do _goto = g
 end
 private class ReduceAction238
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8078,7 +8078,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction239
        init(g: Int) do _goto = g
 end
 private class ReduceAction239
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8095,7 +8095,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction240
        init(g: Int) do _goto = g
 end
 private class ReduceAction240
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8116,7 +8116,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction241
        init(g: Int) do _goto = g
 end
 private class ReduceAction241
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8151,7 +8151,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction242
        init(g: Int) do _goto = g
 end
 private class ReduceAction242
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8190,7 +8190,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction243
        init(g: Int) do _goto = g
 end
 private class ReduceAction243
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8222,7 +8222,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction244
        init(g: Int) do _goto = g
 end
 private class ReduceAction244
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8258,7 +8258,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction245
        init(g: Int) do _goto = g
 end
 private class ReduceAction245
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8289,7 +8289,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction246
        init(g: Int) do _goto = g
 end
 private class ReduceAction246
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8324,7 +8324,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction247
        init(g: Int) do _goto = g
 end
 private class ReduceAction247
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8357,7 +8357,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction248
        init(g: Int) do _goto = g
 end
 private class ReduceAction248
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8394,7 +8394,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction249
        init(g: Int) do _goto = g
 end
 private class ReduceAction249
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8424,7 +8424,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction250
        init(g: Int) do _goto = g
 end
 private class ReduceAction250
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8458,7 +8458,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction251
        init(g: Int) do _goto = g
 end
 private class ReduceAction251
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8475,7 +8475,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction252
        init(g: Int) do _goto = g
 end
 private class ReduceAction252
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8492,7 +8492,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction253
        init(g: Int) do _goto = g
 end
 private class ReduceAction253
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8511,7 +8511,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction254
        init(g: Int) do _goto = g
 end
 private class ReduceAction254
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8535,7 +8535,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction255
        init(g: Int) do _goto = g
 end
 private class ReduceAction255
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8562,7 +8562,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction256
        init(g: Int) do _goto = g
 end
 private class ReduceAction256
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8593,7 +8593,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction257
        init(g: Int) do _goto = g
 end
 private class ReduceAction257
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8627,7 +8627,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction258
        init(g: Int) do _goto = g
 end
 private class ReduceAction258
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8658,7 +8658,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction259
        init(g: Int) do _goto = g
 end
 private class ReduceAction259
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8686,7 +8686,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction260
        init(g: Int) do _goto = g
 end
 private class ReduceAction260
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8723,7 +8723,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction261
        init(g: Int) do _goto = g
 end
 private class ReduceAction261
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8757,7 +8757,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction262
        init(g: Int) do _goto = g
 end
 private class ReduceAction262
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8788,7 +8788,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction263
        init(g: Int) do _goto = g
 end
 private class ReduceAction263
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8819,7 +8819,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction264
        init(g: Int) do _goto = g
 end
 private class ReduceAction264
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8847,7 +8847,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction265
        init(g: Int) do _goto = g
 end
 private class ReduceAction265
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8884,7 +8884,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction266
        init(g: Int) do _goto = g
 end
 private class ReduceAction266
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8918,7 +8918,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction267
        init(g: Int) do _goto = g
 end
 private class ReduceAction267
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8949,7 +8949,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction268
        init(g: Int) do _goto = g
 end
 private class ReduceAction268
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8966,7 +8966,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction269
        init(g: Int) do _goto = g
 end
 private class ReduceAction269
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -8983,7 +8983,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction270
        init(g: Int) do _goto = g
 end
 private class ReduceAction270
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9008,7 +9008,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction271
        init(g: Int) do _goto = g
 end
 private class ReduceAction271
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9030,7 +9030,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction272
        init(g: Int) do _goto = g
 end
 private class ReduceAction272
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9063,7 +9063,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction273
        init(g: Int) do _goto = g
 end
 private class ReduceAction273
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9092,7 +9092,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction274
        init(g: Int) do _goto = g
 end
 private class ReduceAction274
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9125,7 +9125,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction275
        init(g: Int) do _goto = g
 end
 private class ReduceAction275
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9154,7 +9154,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction276
        init(g: Int) do _goto = g
 end
 private class ReduceAction276
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9184,7 +9184,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction279
        init(g: Int) do _goto = g
 end
 private class ReduceAction279
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9209,7 +9209,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction280
        init(g: Int) do _goto = g
 end
 private class ReduceAction280
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9231,7 +9231,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction281
        init(g: Int) do _goto = g
 end
 private class ReduceAction281
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9266,7 +9266,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction282
        init(g: Int) do _goto = g
 end
 private class ReduceAction282
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9298,7 +9298,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction283
        init(g: Int) do _goto = g
 end
 private class ReduceAction283
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9340,7 +9340,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction284
        init(g: Int) do _goto = g
 end
 private class ReduceAction284
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9379,7 +9379,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction285
        init(g: Int) do _goto = g
 end
 private class ReduceAction285
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9406,7 +9406,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction286
        init(g: Int) do _goto = g
 end
 private class ReduceAction286
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9436,7 +9436,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction287
        init(g: Int) do _goto = g
 end
 private class ReduceAction287
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9459,7 +9459,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction288
        init(g: Int) do _goto = g
 end
 private class ReduceAction288
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9485,7 +9485,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction289
        init(g: Int) do _goto = g
 end
 private class ReduceAction289
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9499,7 +9499,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction293
        init(g: Int) do _goto = g
 end
 private class ReduceAction293
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9528,7 +9528,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction295
        init(g: Int) do _goto = g
 end
 private class ReduceAction295
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9570,7 +9570,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction297
        init(g: Int) do _goto = g
 end
 private class ReduceAction297
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9593,7 +9593,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction298
        init(g: Int) do _goto = g
 end
 private class ReduceAction298
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9616,7 +9616,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction299
        init(g: Int) do _goto = g
 end
 private class ReduceAction299
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9640,7 +9640,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction301
        init(g: Int) do _goto = g
 end
 private class ReduceAction301
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9662,7 +9662,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction303
        init(g: Int) do _goto = g
 end
 private class ReduceAction303
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9685,7 +9685,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction304
        init(g: Int) do _goto = g
 end
 private class ReduceAction304
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9708,7 +9708,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction305
        init(g: Int) do _goto = g
 end
 private class ReduceAction305
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9731,7 +9731,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction306
        init(g: Int) do _goto = g
 end
 private class ReduceAction306
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9754,7 +9754,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction307
        init(g: Int) do _goto = g
 end
 private class ReduceAction307
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9777,7 +9777,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction308
        init(g: Int) do _goto = g
 end
 private class ReduceAction308
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9800,7 +9800,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction309
        init(g: Int) do _goto = g
 end
 private class ReduceAction309
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9823,7 +9823,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction310
        init(g: Int) do _goto = g
 end
 private class ReduceAction310
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9846,7 +9846,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction311
        init(g: Int) do _goto = g
 end
 private class ReduceAction311
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9869,7 +9869,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction312
        init(g: Int) do _goto = g
 end
 private class ReduceAction312
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9892,7 +9892,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction313
        init(g: Int) do _goto = g
 end
 private class ReduceAction313
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9915,7 +9915,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction315
        init(g: Int) do _goto = g
 end
 private class ReduceAction315
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9938,7 +9938,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction316
        init(g: Int) do _goto = g
 end
 private class ReduceAction316
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9961,7 +9961,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction318
        init(g: Int) do _goto = g
 end
 private class ReduceAction318
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -9984,7 +9984,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction319
        init(g: Int) do _goto = g
 end
 private class ReduceAction319
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10007,7 +10007,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction320
        init(g: Int) do _goto = g
 end
 private class ReduceAction320
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10030,7 +10030,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction322
        init(g: Int) do _goto = g
 end
 private class ReduceAction322
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10052,7 +10052,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction323
        init(g: Int) do _goto = g
 end
 private class ReduceAction323
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10074,7 +10074,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction325
        init(g: Int) do _goto = g
 end
 private class ReduceAction325
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10103,7 +10103,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction326
        init(g: Int) do _goto = g
 end
 private class ReduceAction326
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10130,7 +10130,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction327
        init(g: Int) do _goto = g
 end
 private class ReduceAction327
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10154,7 +10154,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction328
        init(g: Int) do _goto = g
 end
 private class ReduceAction328
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10177,7 +10177,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction329
        init(g: Int) do _goto = g
 end
 private class ReduceAction329
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10197,7 +10197,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction336
        init(g: Int) do _goto = g
 end
 private class ReduceAction336
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10222,7 +10222,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction337
        init(g: Int) do _goto = g
 end
 private class ReduceAction337
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10256,7 +10256,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction338
        init(g: Int) do _goto = g
 end
 private class ReduceAction338
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10284,7 +10284,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction339
        init(g: Int) do _goto = g
 end
 private class ReduceAction339
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10312,7 +10312,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction340
        init(g: Int) do _goto = g
 end
 private class ReduceAction340
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10331,7 +10331,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction341
        init(g: Int) do _goto = g
 end
 private class ReduceAction341
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10348,7 +10348,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction342
        init(g: Int) do _goto = g
 end
 private class ReduceAction342
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10365,7 +10365,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction343
        init(g: Int) do _goto = g
 end
 private class ReduceAction343
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10382,7 +10382,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction344
        init(g: Int) do _goto = g
 end
 private class ReduceAction344
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10399,7 +10399,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction345
        init(g: Int) do _goto = g
 end
 private class ReduceAction345
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10416,7 +10416,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction346
        init(g: Int) do _goto = g
 end
 private class ReduceAction346
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10433,7 +10433,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction347
        init(g: Int) do _goto = g
 end
 private class ReduceAction347
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10450,7 +10450,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction348
        init(g: Int) do _goto = g
 end
 private class ReduceAction348
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10467,7 +10467,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction351
        init(g: Int) do _goto = g
 end
 private class ReduceAction351
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10499,7 +10499,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction352
        init(g: Int) do _goto = g
 end
 private class ReduceAction352
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10536,7 +10536,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction353
        init(g: Int) do _goto = g
 end
 private class ReduceAction353
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10561,7 +10561,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction354
        init(g: Int) do _goto = g
 end
 private class ReduceAction354
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10590,7 +10590,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction355
        init(g: Int) do _goto = g
 end
 private class ReduceAction355
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10614,7 +10614,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction356
        init(g: Int) do _goto = g
 end
 private class ReduceAction356
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10631,7 +10631,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction358
        init(g: Int) do _goto = g
 end
 private class ReduceAction358
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10648,7 +10648,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction359
        init(g: Int) do _goto = g
 end
 private class ReduceAction359
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10665,7 +10665,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction360
        init(g: Int) do _goto = g
 end
 private class ReduceAction360
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10686,7 +10686,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction361
        init(g: Int) do _goto = g
 end
 private class ReduceAction361
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10711,7 +10711,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction363
        init(g: Int) do _goto = g
 end
 private class ReduceAction363
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10723,7 +10723,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction366
        init(g: Int) do _goto = g
 end
 private class ReduceAction366
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10740,7 +10740,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction371
        init(g: Int) do _goto = g
 end
 private class ReduceAction371
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10756,7 +10756,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction372
        init(g: Int) do _goto = g
 end
 private class ReduceAction372
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10774,7 +10774,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction373
        init(g: Int) do _goto = g
 end
 private class ReduceAction373
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10790,7 +10790,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction374
        init(g: Int) do _goto = g
 end
 private class ReduceAction374
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10807,7 +10807,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction375
        init(g: Int) do _goto = g
 end
 private class ReduceAction375
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10831,7 +10831,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction376
        init(g: Int) do _goto = g
 end
 private class ReduceAction376
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10850,7 +10850,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction377
        init(g: Int) do _goto = g
 end
 private class ReduceAction377
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10873,7 +10873,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction378
        init(g: Int) do _goto = g
 end
 private class ReduceAction378
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10893,7 +10893,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction379
        init(g: Int) do _goto = g
 end
 private class ReduceAction379
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10908,7 +10908,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction380
        init(g: Int) do _goto = g
 end
 private class ReduceAction380
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10923,7 +10923,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction381
        init(g: Int) do _goto = g
 end
 private class ReduceAction381
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10934,7 +10934,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction383
        init(g: Int) do _goto = g
 end
 private class ReduceAction383
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10953,7 +10953,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction384
        init(g: Int) do _goto = g
 end
 private class ReduceAction384
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10973,7 +10973,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction386
        init(g: Int) do _goto = g
 end
 private class ReduceAction386
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10984,7 +10984,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction387
        init(g: Int) do _goto = g
 end
 private class ReduceAction387
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -10997,7 +10997,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction388
        init(g: Int) do _goto = g
 end
 private class ReduceAction388
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11009,7 +11009,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction389
        init(g: Int) do _goto = g
 end
 private class ReduceAction389
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11022,7 +11022,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction637
        init(g: Int) do _goto = g
 end
 private class ReduceAction637
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11047,7 +11047,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction638
        init(g: Int) do _goto = g
 end
 private class ReduceAction638
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11068,7 +11068,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction639
        init(g: Int) do _goto = g
 end
 private class ReduceAction639
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11097,7 +11097,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction642
        init(g: Int) do _goto = g
 end
 private class ReduceAction642
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11124,7 +11124,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction655
        init(g: Int) do _goto = g
 end
 private class ReduceAction655
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11139,7 +11139,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction656
        init(g: Int) do _goto = g
 end
 private class ReduceAction656
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11152,7 +11152,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction663
        init(g: Int) do _goto = g
 end
 private class ReduceAction663
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11169,7 +11169,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction664
        init(g: Int) do _goto = g
 end
 private class ReduceAction664
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11190,7 +11190,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction665
        init(g: Int) do _goto = g
 end
 private class ReduceAction665
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11207,7 +11207,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction666
        init(g: Int) do _goto = g
 end
 private class ReduceAction666
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11228,7 +11228,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction667
        init(g: Int) do _goto = g
 end
 private class ReduceAction667
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11245,7 +11245,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction668
        init(g: Int) do _goto = g
 end
 private class ReduceAction668
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11266,7 +11266,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction669
        init(g: Int) do _goto = g
 end
 private class ReduceAction669
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11283,7 +11283,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction670
        init(g: Int) do _goto = g
 end
 private class ReduceAction670
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11304,7 +11304,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction673
        init(g: Int) do _goto = g
 end
 private class ReduceAction673
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11321,7 +11321,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction674
        init(g: Int) do _goto = g
 end
 private class ReduceAction674
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11342,7 +11342,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction675
        init(g: Int) do _goto = g
 end
 private class ReduceAction675
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11359,7 +11359,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction676
        init(g: Int) do _goto = g
 end
 private class ReduceAction676
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11380,7 +11380,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction677
        init(g: Int) do _goto = g
 end
 private class ReduceAction677
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11397,7 +11397,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction678
        init(g: Int) do _goto = g
 end
 private class ReduceAction678
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11418,7 +11418,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction680
        init(g: Int) do _goto = g
 end
 private class ReduceAction680
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11439,7 +11439,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction682
        init(g: Int) do _goto = g
 end
 private class ReduceAction682
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11460,7 +11460,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction684
        init(g: Int) do _goto = g
 end
 private class ReduceAction684
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11480,7 +11480,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction688
        init(g: Int) do _goto = g
 end
 private class ReduceAction688
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11501,7 +11501,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction689
        init(g: Int) do _goto = g
 end
 private class ReduceAction689
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11518,7 +11518,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction690
        init(g: Int) do _goto = g
 end
 private class ReduceAction690
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11539,7 +11539,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction691
        init(g: Int) do _goto = g
 end
 private class ReduceAction691
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
@@ -11556,7 +11556,7 @@ special ReduceAction
        init(g: Int) do _goto = g
 end
 private class ReduceAction692
        init(g: Int) do _goto = g
 end
 private class ReduceAction692
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
index e11a37c..977ddd2 100644 (file)
@@ -15,354 +15,354 @@ end
 
 # Ancestor of all tokens
 abstract class Token
 
 # Ancestor of all tokens
 abstract class Token
-special ANode
+       super ANode
 end
 
 # Ancestor of all productions
 abstract class Prod
 end
 
 # Ancestor of all productions
 abstract class Prod
-special ANode
+       super ANode
        fun location=(loc: Location) do _location = loc
 end
 class TEol
        fun location=(loc: Location) do _location = loc
 end
 class TEol
-special Token
+       super Token
 end
 class TComment
 end
 class TComment
-special Token
+       super Token
 end
 class TKwmodule
 end
 class TKwmodule
-special Token
+       super Token
 end
 class TKwimport
 end
 class TKwimport
-special Token
+       super Token
 end
 class TKwclass
 end
 class TKwclass
-special Token
+       super Token
 end
 class TKwabstract
 end
 class TKwabstract
-special Token
+       super Token
 end
 class TKwinterface
 end
 class TKwinterface
-special Token
+       super Token
 end
 class TKwenum
 end
 class TKwenum
-special Token
+       super Token
 end
 class TKwspecial
 end
 class TKwspecial
-special Token
+       super Token
 end
 class TKwend
 end
 class TKwend
-special Token
+       super Token
 end
 class TKwmeth
 end
 class TKwmeth
-special Token
+       super Token
 end
 class TKwtype
 end
 class TKwtype
-special Token
+       super Token
 end
 class TKwinit
 end
 class TKwinit
-special Token
+       super Token
 end
 class TKwredef
 end
 class TKwredef
-special Token
+       super Token
 end
 class TKwis
 end
 class TKwis
-special Token
+       super Token
 end
 class TKwdo
 end
 class TKwdo
-special Token
+       super Token
 end
 class TKwreadable
 end
 class TKwreadable
-special Token
+       super Token
 end
 class TKwwritable
 end
 class TKwwritable
-special Token
+       super Token
 end
 class TKwvar
 end
 class TKwvar
-special Token
+       super Token
 end
 class TKwintern
 end
 class TKwintern
-special Token
+       super Token
 end
 class TKwextern
 end
 class TKwextern
-special Token
+       super Token
 end
 class TKwprotected
 end
 class TKwprotected
-special Token
+       super Token
 end
 class TKwprivate
 end
 class TKwprivate
-special Token
+       super Token
 end
 class TKwintrude
 end
 class TKwintrude
-special Token
+       super Token
 end
 class TKwif
 end
 class TKwif
-special Token
+       super Token
 end
 class TKwthen
 end
 class TKwthen
-special Token
+       super Token
 end
 class TKwelse
 end
 class TKwelse
-special Token
+       super Token
 end
 class TKwwhile
 end
 class TKwwhile
-special Token
+       super Token
 end
 class TKwloop
 end
 class TKwloop
-special Token
+       super Token
 end
 class TKwfor
 end
 class TKwfor
-special Token
+       super Token
 end
 class TKwin
 end
 class TKwin
-special Token
+       super Token
 end
 class TKwand
 end
 class TKwand
-special Token
+       super Token
 end
 class TKwor
 end
 class TKwor
-special Token
+       super Token
 end
 class TKwnot
 end
 class TKwnot
-special Token
+       super Token
 end
 class TKwreturn
 end
 class TKwreturn
-special Token
+       super Token
 end
 class TKwcontinue
 end
 class TKwcontinue
-special Token
+       super Token
 end
 class TKwbreak
 end
 class TKwbreak
-special Token
+       super Token
 end
 class TKwabort
 end
 class TKwabort
-special Token
+       super Token
 end
 class TKwassert
 end
 class TKwassert
-special Token
+       super Token
 end
 class TKwnew
 end
 class TKwnew
-special Token
+       super Token
 end
 class TKwisa
 end
 class TKwisa
-special Token
+       super Token
 end
 class TKwonce
 end
 class TKwonce
-special Token
+       super Token
 end
 class TKwsuper
 end
 class TKwsuper
-special Token
+       super Token
 end
 class TKwself
 end
 class TKwself
-special Token
+       super Token
 end
 class TKwtrue
 end
 class TKwtrue
-special Token
+       super Token
 end
 class TKwfalse
 end
 class TKwfalse
-special Token
+       super Token
 end
 class TKwnull
 end
 class TKwnull
-special Token
+       super Token
 end
 class TKwas
 end
 class TKwas
-special Token
+       super Token
 end
 class TKwnullable
 end
 class TKwnullable
-special Token
+       super Token
 end
 class TKwisset
 end
 class TKwisset
-special Token
+       super Token
 end
 class TKwlabel
 end
 class TKwlabel
-special Token
+       super Token
 end
 class TOpar
 end
 class TOpar
-special Token
+       super Token
 end
 class TCpar
 end
 class TCpar
-special Token
+       super Token
 end
 class TObra
 end
 class TObra
-special Token
+       super Token
 end
 class TCbra
 end
 class TCbra
-special Token
+       super Token
 end
 class TComma
 end
 class TComma
-special Token
+       super Token
 end
 class TColumn
 end
 class TColumn
-special Token
+       super Token
 end
 class TQuad
 end
 class TQuad
-special Token
+       super Token
 end
 class TAssign
 end
 class TAssign
-special Token
+       super Token
 end
 class TPluseq
 end
 class TPluseq
-special Token
+       super Token
 end
 class TMinuseq
 end
 class TMinuseq
-special Token
+       super Token
 end
 class TDotdotdot
 end
 class TDotdotdot
-special Token
+       super Token
 end
 class TDotdot
 end
 class TDotdot
-special Token
+       super Token
 end
 class TDot
 end
 class TDot
-special Token
+       super Token
 end
 class TPlus
 end
 class TPlus
-special Token
+       super Token
 end
 class TMinus
 end
 class TMinus
-special Token
+       super Token
 end
 class TStar
 end
 class TStar
-special Token
+       super Token
 end
 class TSlash
 end
 class TSlash
-special Token
+       super Token
 end
 class TPercent
 end
 class TPercent
-special Token
+       super Token
 end
 class TEq
 end
 class TEq
-special Token
+       super Token
 end
 class TNe
 end
 class TNe
-special Token
+       super Token
 end
 class TLt
 end
 class TLt
-special Token
+       super Token
 end
 class TLe
 end
 class TLe
-special Token
+       super Token
 end
 class TLl
 end
 class TLl
-special Token
+       super Token
 end
 class TGt
 end
 class TGt
-special Token
+       super Token
 end
 class TGe
 end
 class TGe
-special Token
+       super Token
 end
 class TGg
 end
 class TGg
-special Token
+       super Token
 end
 class TStarship
 end
 class TStarship
-special Token
+       super Token
 end
 class TBang
 end
 class TBang
-special Token
+       super Token
 end
 class TClassid
 end
 class TClassid
-special Token
+       super Token
 end
 class TId
 end
 class TId
-special Token
+       super Token
 end
 class TAttrid
 end
 class TAttrid
-special Token
+       super Token
 end
 class TNumber
 end
 class TNumber
-special Token
+       super Token
 end
 class TFloat
 end
 class TFloat
-special Token
+       super Token
 end
 class TChar
 end
 class TChar
-special Token
+       super Token
 end
 class TString
 end
 class TString
-special Token
+       super Token
 end
 class TStartString
 end
 class TStartString
-special Token
+       super Token
 end
 class TMidString
 end
 class TMidString
-special Token
+       super Token
 end
 class TEndString
 end
 class TEndString
-special Token
+       super Token
 end
 class EOF
 end
 class EOF
-special Token
+       super Token
 private init noinit do end
 end
 class AError
 private init noinit do end
 end
 class AError
-special EOF
+       super EOF
 private init noinit do end
 end
 
 private init noinit do end
 end
 
-class AModule special Prod end
-class AModuledecl special Prod end
-class AImport special Prod end
-class AVisibility special Prod end
-class AClassdef special Prod end
-class AClasskind special Prod end
-class AFormaldef special Prod end
-class ASuperclass special Prod end
-class APropdef special Prod end
-class AAble special Prod end
-class AMethid special Prod end
-class ASignature special Prod end
-class AParam special Prod end
-class AClosureDecl special Prod end
-class AType special Prod end
-class ALabel special Prod end
-class AExpr special Prod end
-class AAssignOp special Prod end
-class AClosureDef special Prod end
-class AClosureId special Prod end
-class AQualified special Prod end
-class ADoc special Prod end
+class AModule super Prod end
+class AModuledecl super Prod end
+class AImport super Prod end
+class AVisibility super Prod end
+class AClassdef super Prod end
+class AClasskind super Prod end
+class AFormaldef super Prod end
+class ASuperclass super Prod end
+class APropdef super Prod end
+class AAble super Prod end
+class AMethid super Prod end
+class ASignature super Prod end
+class AParam super Prod end
+class AClosureDecl super Prod end
+class AType super Prod end
+class ALabel super Prod end
+class AExpr super Prod end
+class AAssignOp super Prod end
+class AClosureDef super Prod end
+class AClosureId super Prod end
+class AQualified super Prod end
+class ADoc super Prod end
 
 class AModule
 
 class AModule
-special AModule
+       super AModule
     readable var _n_moduledecl: nullable AModuledecl = null
     readable var _n_imports: List[AImport] = new List[AImport]
     readable var _n_classdefs: List[AClassdef] = new List[AClassdef]
 end
 class AModuledecl
     readable var _n_moduledecl: nullable AModuledecl = null
     readable var _n_imports: List[AImport] = new List[AImport]
     readable var _n_classdefs: List[AClassdef] = new List[AClassdef]
 end
 class AModuledecl
-special AModuledecl
+       super AModuledecl
     readable var _n_doc: nullable ADoc = null
     readable var _n_kwmodule: TKwmodule
     readable var _n_id: TId
 end
 class AStdImport
     readable var _n_doc: nullable ADoc = null
     readable var _n_kwmodule: TKwmodule
     readable var _n_id: TId
 end
 class AStdImport
-special AImport
+       super AImport
     readable var _n_visibility: AVisibility
     readable var _n_kwimport: TKwimport
     readable var _n_id: TId
 end
 class ANoImport
     readable var _n_visibility: AVisibility
     readable var _n_kwimport: TKwimport
     readable var _n_id: TId
 end
 class ANoImport
-special AImport
+       super AImport
     readable var _n_visibility: AVisibility
     readable var _n_kwimport: TKwimport
     readable var _n_kwend: TKwend
 end
 class APublicVisibility
     readable var _n_visibility: AVisibility
     readable var _n_kwimport: TKwimport
     readable var _n_kwend: TKwend
 end
 class APublicVisibility
-special AVisibility
+       super AVisibility
 end
 class APrivateVisibility
 end
 class APrivateVisibility
-special AVisibility
+       super AVisibility
     readable var _n_kwprivate: TKwprivate
 end
 class AProtectedVisibility
     readable var _n_kwprivate: TKwprivate
 end
 class AProtectedVisibility
-special AVisibility
+       super AVisibility
     readable var _n_kwprotected: TKwprotected
 end
 class AIntrudeVisibility
     readable var _n_kwprotected: TKwprotected
 end
 class AIntrudeVisibility
-special AVisibility
+       super AVisibility
     readable var _n_kwintrude: TKwintrude
 end
 class AStdClassdef
     readable var _n_kwintrude: TKwintrude
 end
 class AStdClassdef
-special AClassdef
+       super AClassdef
     readable var _n_doc: nullable ADoc = null
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: AVisibility
     readable var _n_doc: nullable ADoc = null
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: AVisibility
@@ -373,43 +373,43 @@ special AClassdef
     readable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
 class ATopClassdef
     readable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
 class ATopClassdef
-special AClassdef
+       super AClassdef
     readable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
 class AMainClassdef
     readable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
 class AMainClassdef
-special AClassdef
+       super AClassdef
     readable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
 class AConcreteClasskind
     readable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
 class AConcreteClasskind
-special AClasskind
+       super AClasskind
     readable var _n_kwclass: TKwclass
 end
 class AAbstractClasskind
     readable var _n_kwclass: TKwclass
 end
 class AAbstractClasskind
-special AClasskind
+       super AClasskind
     readable var _n_kwabstract: TKwabstract
     readable var _n_kwclass: TKwclass
 end
 class AInterfaceClasskind
     readable var _n_kwabstract: TKwabstract
     readable var _n_kwclass: TKwclass
 end
 class AInterfaceClasskind
-special AClasskind
+       super AClasskind
     readable var _n_kwinterface: TKwinterface
 end
 class AEnumClasskind
     readable var _n_kwinterface: TKwinterface
 end
 class AEnumClasskind
-special AClasskind
+       super AClasskind
     readable var _n_kwenum: TKwenum
 end
 class AFormaldef
     readable var _n_kwenum: TKwenum
 end
 class AFormaldef
-special AFormaldef
+       super AFormaldef
     readable var _n_id: TClassid
     readable var _n_type: nullable AType = null
 end
 class ASuperclass
     readable var _n_id: TClassid
     readable var _n_type: nullable AType = null
 end
 class ASuperclass
-special ASuperclass
+       super ASuperclass
     readable var _n_kwspecial: nullable TKwspecial = null
     readable var _n_kwsuper: nullable TKwsuper = null
     readable var _n_type: AType
 end
 class AAttrPropdef
     readable var _n_kwspecial: nullable TKwspecial = null
     readable var _n_kwsuper: nullable TKwsuper = null
     readable var _n_type: AType
 end
 class AAttrPropdef
-special APropdef
+       super APropdef
     readable var _n_doc: nullable ADoc = null
     readable var _n_readable: nullable AAble = null
     readable var _n_writable: nullable AAble = null
     readable var _n_doc: nullable ADoc = null
     readable var _n_readable: nullable AAble = null
     readable var _n_writable: nullable AAble = null
@@ -422,7 +422,7 @@ special APropdef
     readable var _n_expr: nullable AExpr = null
 end
 class AMethPropdef
     readable var _n_expr: nullable AExpr = null
 end
 class AMethPropdef
-special APropdef
+       super APropdef
     readable var _n_doc: nullable ADoc = null
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: AVisibility
     readable var _n_doc: nullable ADoc = null
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: AVisibility
@@ -430,7 +430,7 @@ special APropdef
     readable var _n_signature: ASignature
 end
 class ADeferredMethPropdef
     readable var _n_signature: ASignature
 end
 class ADeferredMethPropdef
-special APropdef
+       super APropdef
     readable var _n_doc: nullable ADoc = null
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: AVisibility
     readable var _n_doc: nullable ADoc = null
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: AVisibility
@@ -439,7 +439,7 @@ special APropdef
     readable var _n_signature: ASignature
 end
 class AInternMethPropdef
     readable var _n_signature: ASignature
 end
 class AInternMethPropdef
-special APropdef
+       super APropdef
     readable var _n_doc: nullable ADoc = null
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: AVisibility
     readable var _n_doc: nullable ADoc = null
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: AVisibility
@@ -448,7 +448,7 @@ special APropdef
     readable var _n_signature: ASignature
 end
 class AExternMethPropdef
     readable var _n_signature: ASignature
 end
 class AExternMethPropdef
-special APropdef
+       super APropdef
     readable var _n_doc: nullable ADoc = null
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: AVisibility
     readable var _n_doc: nullable ADoc = null
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: AVisibility
@@ -458,7 +458,7 @@ special APropdef
     readable var _n_extern: nullable TString = null
 end
 class AConcreteMethPropdef
     readable var _n_extern: nullable TString = null
 end
 class AConcreteMethPropdef
-special APropdef
+       super APropdef
     readable var _n_doc: nullable ADoc = null
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: AVisibility
     readable var _n_doc: nullable ADoc = null
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: AVisibility
@@ -468,7 +468,7 @@ special APropdef
     readable var _n_block: nullable AExpr = null
 end
 class AConcreteInitPropdef
     readable var _n_block: nullable AExpr = null
 end
 class AConcreteInitPropdef
-special APropdef
+       super APropdef
     readable var _n_doc: nullable ADoc = null
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: AVisibility
     readable var _n_doc: nullable ADoc = null
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: AVisibility
@@ -478,12 +478,12 @@ special APropdef
     readable var _n_block: nullable AExpr = null
 end
 class AMainMethPropdef
     readable var _n_block: nullable AExpr = null
 end
 class AMainMethPropdef
-special APropdef
+       super APropdef
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_block: nullable AExpr = null
 end
 class ATypePropdef
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_block: nullable AExpr = null
 end
 class ATypePropdef
-special APropdef
+       super APropdef
     readable var _n_doc: nullable ADoc = null
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: AVisibility
     readable var _n_doc: nullable ADoc = null
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: AVisibility
@@ -492,106 +492,106 @@ special APropdef
     readable var _n_type: AType
 end
 class AReadAble
     readable var _n_type: AType
 end
 class AReadAble
-special AAble
+       super AAble
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_kwreadable: TKwreadable
 end
 class AWriteAble
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_kwreadable: TKwreadable
 end
 class AWriteAble
-special AAble
+       super AAble
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: nullable AVisibility = null
     readable var _n_kwwritable: TKwwritable
 end
 class AIdMethid
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: nullable AVisibility = null
     readable var _n_kwwritable: TKwwritable
 end
 class AIdMethid
-special AMethid
+       super AMethid
     readable var _n_id: TId
 end
 class APlusMethid
     readable var _n_id: TId
 end
 class APlusMethid
-special AMethid
+       super AMethid
     readable var _n_plus: TPlus
 end
 class AMinusMethid
     readable var _n_plus: TPlus
 end
 class AMinusMethid
-special AMethid
+       super AMethid
     readable var _n_minus: TMinus
 end
 class AStarMethid
     readable var _n_minus: TMinus
 end
 class AStarMethid
-special AMethid
+       super AMethid
     readable var _n_star: TStar
 end
 class ASlashMethid
     readable var _n_star: TStar
 end
 class ASlashMethid
-special AMethid
+       super AMethid
     readable var _n_slash: TSlash
 end
 class APercentMethid
     readable var _n_slash: TSlash
 end
 class APercentMethid
-special AMethid
+       super AMethid
     readable var _n_percent: TPercent
 end
 class AEqMethid
     readable var _n_percent: TPercent
 end
 class AEqMethid
-special AMethid
+       super AMethid
     readable var _n_eq: TEq
 end
 class ANeMethid
     readable var _n_eq: TEq
 end
 class ANeMethid
-special AMethid
+       super AMethid
     readable var _n_ne: TNe
 end
 class ALeMethid
     readable var _n_ne: TNe
 end
 class ALeMethid
-special AMethid
+       super AMethid
     readable var _n_le: TLe
 end
 class AGeMethid
     readable var _n_le: TLe
 end
 class AGeMethid
-special AMethid
+       super AMethid
     readable var _n_ge: TGe
 end
 class ALtMethid
     readable var _n_ge: TGe
 end
 class ALtMethid
-special AMethid
+       super AMethid
     readable var _n_lt: TLt
 end
 class AGtMethid
     readable var _n_lt: TLt
 end
 class AGtMethid
-special AMethid
+       super AMethid
     readable var _n_gt: TGt
 end
 class ALlMethid
     readable var _n_gt: TGt
 end
 class ALlMethid
-special AMethid
+       super AMethid
     readable var _n_ll: TLl
 end
 class AGgMethid
     readable var _n_ll: TLl
 end
 class AGgMethid
-special AMethid
+       super AMethid
     readable var _n_gg: TGg
 end
 class ABraMethid
     readable var _n_gg: TGg
 end
 class ABraMethid
-special AMethid
+       super AMethid
     readable var _n_obra: TObra
     readable var _n_cbra: TCbra
 end
 class AStarshipMethid
     readable var _n_obra: TObra
     readable var _n_cbra: TCbra
 end
 class AStarshipMethid
-special AMethid
+       super AMethid
     readable var _n_starship: TStarship
 end
 class AAssignMethid
     readable var _n_starship: TStarship
 end
 class AAssignMethid
-special AMethid
+       super AMethid
     readable var _n_id: TId
     readable var _n_assign: TAssign
 end
 class ABraassignMethid
     readable var _n_id: TId
     readable var _n_assign: TAssign
 end
 class ABraassignMethid
-special AMethid
+       super AMethid
     readable var _n_obra: TObra
     readable var _n_cbra: TCbra
     readable var _n_assign: TAssign
 end
 class ASignature
     readable var _n_obra: TObra
     readable var _n_cbra: TCbra
     readable var _n_assign: TAssign
 end
 class ASignature
-special ASignature
+       super ASignature
     readable var _n_params: List[AParam] = new List[AParam]
     readable var _n_type: nullable AType = null
     readable var _n_closure_decls: List[AClosureDecl] = new List[AClosureDecl]
 end
 class AParam
     readable var _n_params: List[AParam] = new List[AParam]
     readable var _n_type: nullable AType = null
     readable var _n_closure_decls: List[AClosureDecl] = new List[AClosureDecl]
 end
 class AParam
-special AParam
+       super AParam
     readable var _n_id: TId
     readable var _n_type: nullable AType = null
     readable var _n_dotdotdot: nullable TDotdotdot = null
 end
 class AClosureDecl
     readable var _n_id: TId
     readable var _n_type: nullable AType = null
     readable var _n_dotdotdot: nullable TDotdotdot = null
 end
 class AClosureDecl
-special AClosureDecl
+       super AClosureDecl
     readable var _n_kwbreak: nullable TKwbreak = null
     readable var _n_bang: TBang
     readable var _n_id: TId
     readable var _n_kwbreak: nullable TKwbreak = null
     readable var _n_bang: TBang
     readable var _n_id: TId
@@ -599,22 +599,22 @@ special AClosureDecl
     readable var _n_expr: nullable AExpr = null
 end
 class AType
     readable var _n_expr: nullable AExpr = null
 end
 class AType
-special AType
+       super AType
     readable var _n_kwnullable: nullable TKwnullable = null
     readable var _n_id: TClassid
     readable var _n_types: List[AType] = new List[AType]
 end
 class ALabel
     readable var _n_kwnullable: nullable TKwnullable = null
     readable var _n_id: TClassid
     readable var _n_types: List[AType] = new List[AType]
 end
 class ALabel
-special ALabel
+       super ALabel
     readable var _n_kwlabel: TKwlabel
     readable var _n_id: TId
 end
 class ABlockExpr
     readable var _n_kwlabel: TKwlabel
     readable var _n_id: TId
 end
 class ABlockExpr
-special AExpr
+       super AExpr
     readable var _n_expr: List[AExpr] = new List[AExpr]
 end
 class AVardeclExpr
     readable var _n_expr: List[AExpr] = new List[AExpr]
 end
 class AVardeclExpr
-special AExpr
+       super AExpr
     readable var _n_kwvar: TKwvar
     readable var _n_id: TId
     readable var _n_type: nullable AType = null
     readable var _n_kwvar: TKwvar
     readable var _n_id: TId
     readable var _n_type: nullable AType = null
@@ -622,41 +622,41 @@ special AExpr
     readable var _n_expr: nullable AExpr = null
 end
 class AReturnExpr
     readable var _n_expr: nullable AExpr = null
 end
 class AReturnExpr
-special AExpr
+       super AExpr
     readable var _n_kwreturn: nullable TKwreturn = null
     readable var _n_expr: nullable AExpr = null
 end
 class ABreakExpr
     readable var _n_kwreturn: nullable TKwreturn = null
     readable var _n_expr: nullable AExpr = null
 end
 class ABreakExpr
-special AExpr
+       super AExpr
     readable var _n_kwbreak: TKwbreak
     readable var _n_label: nullable ALabel = null
     readable var _n_expr: nullable AExpr = null
 end
 class AAbortExpr
     readable var _n_kwbreak: TKwbreak
     readable var _n_label: nullable ALabel = null
     readable var _n_expr: nullable AExpr = null
 end
 class AAbortExpr
-special AExpr
+       super AExpr
     readable var _n_kwabort: TKwabort
 end
 class AContinueExpr
     readable var _n_kwabort: TKwabort
 end
 class AContinueExpr
-special AExpr
+       super AExpr
     readable var _n_kwcontinue: nullable TKwcontinue = null
     readable var _n_label: nullable ALabel = null
     readable var _n_expr: nullable AExpr = null
 end
 class ADoExpr
     readable var _n_kwcontinue: nullable TKwcontinue = null
     readable var _n_label: nullable ALabel = null
     readable var _n_expr: nullable AExpr = null
 end
 class ADoExpr
-special AExpr
+       super AExpr
     readable var _n_kwdo: TKwdo
     readable var _n_block: nullable AExpr = null
     readable var _n_label: nullable ALabel = null
 end
 class AIfExpr
     readable var _n_kwdo: TKwdo
     readable var _n_block: nullable AExpr = null
     readable var _n_label: nullable ALabel = null
 end
 class AIfExpr
-special AExpr
+       super AExpr
     readable var _n_kwif: TKwif
     readable var _n_expr: AExpr
     readable var _n_then: nullable AExpr = null
     readable var _n_else: nullable AExpr = null
 end
 class AIfexprExpr
     readable var _n_kwif: TKwif
     readable var _n_expr: AExpr
     readable var _n_then: nullable AExpr = null
     readable var _n_else: nullable AExpr = null
 end
 class AIfexprExpr
-special AExpr
+       super AExpr
     readable var _n_kwif: TKwif
     readable var _n_expr: AExpr
     readable var _n_kwthen: TKwthen
     readable var _n_kwif: TKwif
     readable var _n_expr: AExpr
     readable var _n_kwthen: TKwthen
@@ -665,7 +665,7 @@ special AExpr
     readable var _n_else: AExpr
 end
 class AWhileExpr
     readable var _n_else: AExpr
 end
 class AWhileExpr
-special AExpr
+       super AExpr
     readable var _n_kwwhile: TKwwhile
     readable var _n_expr: AExpr
     readable var _n_kwdo: TKwdo
     readable var _n_kwwhile: TKwwhile
     readable var _n_expr: AExpr
     readable var _n_kwdo: TKwdo
@@ -673,13 +673,13 @@ special AExpr
     readable var _n_label: nullable ALabel = null
 end
 class ALoopExpr
     readable var _n_label: nullable ALabel = null
 end
 class ALoopExpr
-special AExpr
+       super AExpr
     readable var _n_kwloop: TKwloop
     readable var _n_block: nullable AExpr = null
     readable var _n_label: nullable ALabel = null
 end
 class AForExpr
     readable var _n_kwloop: TKwloop
     readable var _n_block: nullable AExpr = null
     readable var _n_label: nullable ALabel = null
 end
 class AForExpr
-special AExpr
+       super AExpr
     readable var _n_kwfor: TKwfor
     readable var _n_id: TId
     readable var _n_expr: AExpr
     readable var _n_kwfor: TKwfor
     readable var _n_id: TId
     readable var _n_expr: AExpr
@@ -688,166 +688,166 @@ special AExpr
     readable var _n_label: nullable ALabel = null
 end
 class AAssertExpr
     readable var _n_label: nullable ALabel = null
 end
 class AAssertExpr
-special AExpr
+       super AExpr
     readable var _n_kwassert: TKwassert
     readable var _n_id: nullable TId = null
     readable var _n_expr: AExpr
     readable var _n_else: nullable AExpr = null
 end
 class AOnceExpr
     readable var _n_kwassert: TKwassert
     readable var _n_id: nullable TId = null
     readable var _n_expr: AExpr
     readable var _n_else: nullable AExpr = null
 end
 class AOnceExpr
-special AExpr
+       super AExpr
     readable var _n_kwonce: TKwonce
     readable var _n_expr: AExpr
 end
 class ASendExpr
     readable var _n_kwonce: TKwonce
     readable var _n_expr: AExpr
 end
 class ASendExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
 end
 class ABinopExpr
     readable var _n_expr: AExpr
 end
 class ABinopExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AOrExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AOrExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AAndExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AAndExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AOrElseExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AOrElseExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class ANotExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class ANotExpr
-special AExpr
+       super AExpr
     readable var _n_kwnot: TKwnot
     readable var _n_expr: AExpr
 end
 class AEqExpr
     readable var _n_kwnot: TKwnot
     readable var _n_expr: AExpr
 end
 class AEqExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AEeExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AEeExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class ANeExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class ANeExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class ALtExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class ALtExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class ALeExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class ALeExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class ALlExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class ALlExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AGtExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AGtExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AGeExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AGeExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AGgExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AGgExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AIsaExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AIsaExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_type: AType
 end
 class APlusExpr
     readable var _n_expr: AExpr
     readable var _n_type: AType
 end
 class APlusExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AMinusExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AMinusExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AStarshipExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AStarshipExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AStarExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AStarExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class ASlashExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class ASlashExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class APercentExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class APercentExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AUminusExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AUminusExpr
-special AExpr
+       super AExpr
     readable var _n_minus: TMinus
     readable var _n_expr: AExpr
 end
 class ANewExpr
     readable var _n_minus: TMinus
     readable var _n_expr: AExpr
 end
 class ANewExpr
-special AExpr
+       super AExpr
     readable var _n_kwnew: TKwnew
     readable var _n_type: AType
     readable var _n_id: nullable TId = null
     readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class AAttrExpr
     readable var _n_kwnew: TKwnew
     readable var _n_type: AType
     readable var _n_id: nullable TId = null
     readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class AAttrExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_id: TAttrid
 end
 class AAttrAssignExpr
     readable var _n_expr: AExpr
     readable var _n_id: TAttrid
 end
 class AAttrAssignExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_id: TAttrid
     readable var _n_assign: TAssign
     readable var _n_value: AExpr
 end
 class AAttrReassignExpr
     readable var _n_expr: AExpr
     readable var _n_id: TAttrid
     readable var _n_assign: TAssign
     readable var _n_value: AExpr
 end
 class AAttrReassignExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_id: TAttrid
     readable var _n_assign_op: AAssignOp
     readable var _n_value: AExpr
 end
 class ACallExpr
     readable var _n_expr: AExpr
     readable var _n_id: TAttrid
     readable var _n_assign_op: AAssignOp
     readable var _n_value: AExpr
 end
 class ACallExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_id: TId
     readable var _n_args: List[AExpr] = new List[AExpr]
     readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
 end
 class ACallAssignExpr
     readable var _n_expr: AExpr
     readable var _n_id: TId
     readable var _n_args: List[AExpr] = new List[AExpr]
     readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
 end
 class ACallAssignExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_id: TId
     readable var _n_args: List[AExpr] = new List[AExpr]
     readable var _n_expr: AExpr
     readable var _n_id: TId
     readable var _n_args: List[AExpr] = new List[AExpr]
@@ -855,7 +855,7 @@ special AExpr
     readable var _n_value: AExpr
 end
 class ACallReassignExpr
     readable var _n_value: AExpr
 end
 class ACallReassignExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_id: TId
     readable var _n_args: List[AExpr] = new List[AExpr]
     readable var _n_expr: AExpr
     readable var _n_id: TId
     readable var _n_args: List[AExpr] = new List[AExpr]
@@ -863,162 +863,162 @@ special AExpr
     readable var _n_value: AExpr
 end
 class ASuperExpr
     readable var _n_value: AExpr
 end
 class ASuperExpr
-special AExpr
+       super AExpr
     readable var _n_qualified: nullable AQualified = null
     readable var _n_kwsuper: TKwsuper
     readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class AInitExpr
     readable var _n_qualified: nullable AQualified = null
     readable var _n_kwsuper: TKwsuper
     readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class AInitExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_kwinit: TKwinit
     readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class ABraExpr
     readable var _n_expr: AExpr
     readable var _n_kwinit: TKwinit
     readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class ABraExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_args: List[AExpr] = new List[AExpr]
     readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
 end
 class ABraAssignExpr
     readable var _n_expr: AExpr
     readable var _n_args: List[AExpr] = new List[AExpr]
     readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
 end
 class ABraAssignExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_args: List[AExpr] = new List[AExpr]
     readable var _n_assign: TAssign
     readable var _n_value: AExpr
 end
 class ABraReassignExpr
     readable var _n_expr: AExpr
     readable var _n_args: List[AExpr] = new List[AExpr]
     readable var _n_assign: TAssign
     readable var _n_value: AExpr
 end
 class ABraReassignExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_args: List[AExpr] = new List[AExpr]
     readable var _n_assign_op: AAssignOp
     readable var _n_value: AExpr
 end
 class AClosureCallExpr
     readable var _n_expr: AExpr
     readable var _n_args: List[AExpr] = new List[AExpr]
     readable var _n_assign_op: AAssignOp
     readable var _n_value: AExpr
 end
 class AClosureCallExpr
-special AExpr
+       super AExpr
     readable var _n_id: TId
     readable var _n_args: List[AExpr] = new List[AExpr]
     readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
 end
 class AVarExpr
     readable var _n_id: TId
     readable var _n_args: List[AExpr] = new List[AExpr]
     readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
 end
 class AVarExpr
-special AExpr
+       super AExpr
     readable var _n_id: TId
 end
 class AVarAssignExpr
     readable var _n_id: TId
 end
 class AVarAssignExpr
-special AExpr
+       super AExpr
     readable var _n_id: TId
     readable var _n_assign: TAssign
     readable var _n_value: AExpr
 end
 class AVarReassignExpr
     readable var _n_id: TId
     readable var _n_assign: TAssign
     readable var _n_value: AExpr
 end
 class AVarReassignExpr
-special AExpr
+       super AExpr
     readable var _n_id: TId
     readable var _n_assign_op: AAssignOp
     readable var _n_value: AExpr
 end
 class ARangeExpr
     readable var _n_id: TId
     readable var _n_assign_op: AAssignOp
     readable var _n_value: AExpr
 end
 class ARangeExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class ACrangeExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class ACrangeExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AOrangeExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AOrangeExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AArrayExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AArrayExpr
-special AExpr
+       super AExpr
     readable var _n_exprs: List[AExpr] = new List[AExpr]
 end
 class ASelfExpr
     readable var _n_exprs: List[AExpr] = new List[AExpr]
 end
 class ASelfExpr
-special AExpr
+       super AExpr
     readable var _n_kwself: TKwself
 end
 class AImplicitSelfExpr
     readable var _n_kwself: TKwself
 end
 class AImplicitSelfExpr
-special AExpr
+       super AExpr
 end
 class ATrueExpr
 end
 class ATrueExpr
-special AExpr
+       super AExpr
     readable var _n_kwtrue: TKwtrue
 end
 class AFalseExpr
     readable var _n_kwtrue: TKwtrue
 end
 class AFalseExpr
-special AExpr
+       super AExpr
     readable var _n_kwfalse: TKwfalse
 end
 class ANullExpr
     readable var _n_kwfalse: TKwfalse
 end
 class ANullExpr
-special AExpr
+       super AExpr
     readable var _n_kwnull: TKwnull
 end
 class AIntExpr
     readable var _n_kwnull: TKwnull
 end
 class AIntExpr
-special AExpr
+       super AExpr
     readable var _n_number: TNumber
 end
 class AFloatExpr
     readable var _n_number: TNumber
 end
 class AFloatExpr
-special AExpr
+       super AExpr
     readable var _n_float: TFloat
 end
 class ACharExpr
     readable var _n_float: TFloat
 end
 class ACharExpr
-special AExpr
+       super AExpr
     readable var _n_char: TChar
 end
 class AStringExpr
     readable var _n_char: TChar
 end
 class AStringExpr
-special AExpr
+       super AExpr
     readable var _n_string: TString
 end
 class AStartStringExpr
     readable var _n_string: TString
 end
 class AStartStringExpr
-special AExpr
+       super AExpr
     readable var _n_string: TStartString
 end
 class AMidStringExpr
     readable var _n_string: TStartString
 end
 class AMidStringExpr
-special AExpr
+       super AExpr
     readable var _n_string: TMidString
 end
 class AEndStringExpr
     readable var _n_string: TMidString
 end
 class AEndStringExpr
-special AExpr
+       super AExpr
     readable var _n_string: TEndString
 end
 class ASuperstringExpr
     readable var _n_string: TEndString
 end
 class ASuperstringExpr
-special AExpr
+       super AExpr
     readable var _n_exprs: List[AExpr] = new List[AExpr]
 end
 class AParExpr
     readable var _n_exprs: List[AExpr] = new List[AExpr]
 end
 class AParExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
 end
 class AAsCastExpr
     readable var _n_expr: AExpr
 end
 class AAsCastExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_kwas: TKwas
     readable var _n_type: AType
 end
 class AAsNotnullExpr
     readable var _n_expr: AExpr
     readable var _n_kwas: TKwas
     readable var _n_type: AType
 end
 class AAsNotnullExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_kwas: TKwas
     readable var _n_kwnot: TKwnot
     readable var _n_kwnull: TKwnull
 end
 class AIssetAttrExpr
     readable var _n_expr: AExpr
     readable var _n_kwas: TKwas
     readable var _n_kwnot: TKwnot
     readable var _n_kwnull: TKwnull
 end
 class AIssetAttrExpr
-special AExpr
+       super AExpr
     readable var _n_kwisset: TKwisset
     readable var _n_expr: AExpr
     readable var _n_id: TAttrid
 end
 class APlusAssignOp
     readable var _n_kwisset: TKwisset
     readable var _n_expr: AExpr
     readable var _n_id: TAttrid
 end
 class APlusAssignOp
-special AAssignOp
+       super AAssignOp
     readable var _n_pluseq: TPluseq
 end
 class AMinusAssignOp
     readable var _n_pluseq: TPluseq
 end
 class AMinusAssignOp
-special AAssignOp
+       super AAssignOp
     readable var _n_minuseq: TMinuseq
 end
 class AClosureDef
     readable var _n_minuseq: TMinuseq
 end
 class AClosureDef
-special AClosureDef
+       super AClosureDef
     readable var _n_bang: TBang
     readable var _n_id: AClosureId
     readable var _n_ids: List[TId] = new List[TId]
     readable var _n_bang: TBang
     readable var _n_id: AClosureId
     readable var _n_ids: List[TId] = new List[TId]
@@ -1027,25 +1027,25 @@ special AClosureDef
     readable var _n_label: nullable ALabel = null
 end
 class ASimpleClosureId
     readable var _n_label: nullable ALabel = null
 end
 class ASimpleClosureId
-special AClosureId
+       super AClosureId
     readable var _n_id: TId
 end
 class ABreakClosureId
     readable var _n_id: TId
 end
 class ABreakClosureId
-special AClosureId
+       super AClosureId
     readable var _n_kwbreak: TKwbreak
 end
 class AQualified
     readable var _n_kwbreak: TKwbreak
 end
 class AQualified
-special AQualified
+       super AQualified
     readable var _n_id: List[TId] = new List[TId]
     readable var _n_classid: nullable TClassid = null
 end
 class ADoc
     readable var _n_id: List[TId] = new List[TId]
     readable var _n_classid: nullable TClassid = null
 end
 class ADoc
-special ADoc
+       super ADoc
     readable var _n_comment: List[TComment] = new List[TComment]
 end
 
 class Start
     readable var _n_comment: List[TComment] = new List[TComment]
 end
 
 class Start
-special Prod
+       super Prod
     readable var _n_base: nullable AModule
     readable var _n_eof: EOF
 end
     readable var _n_base: nullable AModule
     readable var _n_eof: EOF
 end
index 7201f98..7bc6b4a 100644 (file)
@@ -31,334 +31,334 @@ end
 
 # Ancestor of all tokens
 abstract class Token
 
 # Ancestor of all tokens
 abstract class Token
-special ANode
+       super ANode
 end
 
 # Ancestor of all productions
 abstract class Prod
 end
 
 # Ancestor of all productions
 abstract class Prod
-special ANode
+       super ANode
        fun location=(l: Location) do _location = l
 end
 class TEol
        fun location=(l: Location) do _location = l
 end
 class TEol
-special Token
+       super Token
 end
 class TComment
 end
 class TComment
-special Token
+       super Token
 end
 class TKwmodule
 end
 class TKwmodule
-special Token
+       super Token
 end
 class TKwimport
 end
 class TKwimport
-special Token
+       super Token
 end
 class TKwclass
 end
 class TKwclass
-special Token
+       super Token
 end
 class TKwabstract
 end
 class TKwabstract
-special Token
+       super Token
 end
 class TKwinterface
 end
 class TKwinterface
-special Token
+       super Token
 end
 class TKwenum
 end
 class TKwenum
-special Token
+       super Token
 end
 class TKwspecial
 end
 class TKwspecial
-special Token
+       super Token
 end
 class TKwend
 end
 class TKwend
-special Token
+       super Token
 end
 class TKwmeth
 end
 class TKwmeth
-special Token
+       super Token
 end
 class TKwtype
 end
 class TKwtype
-special Token
+       super Token
 end
 class TKwinit
 end
 class TKwinit
-special Token
+       super Token
 end
 class TKwredef
 end
 class TKwredef
-special Token
+       super Token
 end
 class TKwis
 end
 class TKwis
-special Token
+       super Token
 end
 class TKwdo
 end
 class TKwdo
-special Token
+       super Token
 end
 class TKwreadable
 end
 class TKwreadable
-special Token
+       super Token
 end
 class TKwwritable
 end
 class TKwwritable
-special Token
+       super Token
 end
 class TKwvar
 end
 class TKwvar
-special Token
+       super Token
 end
 class TKwintern
 end
 class TKwintern
-special Token
+       super Token
 end
 class TKwextern
 end
 class TKwextern
-special Token
+       super Token
 end
 class TKwprotected
 end
 class TKwprotected
-special Token
+       super Token
 end
 class TKwprivate
 end
 class TKwprivate
-special Token
+       super Token
 end
 class TKwintrude
 end
 class TKwintrude
-special Token
+       super Token
 end
 class TKwif
 end
 class TKwif
-special Token
+       super Token
 end
 class TKwthen
 end
 class TKwthen
-special Token
+       super Token
 end
 class TKwelse
 end
 class TKwelse
-special Token
+       super Token
 end
 class TKwwhile
 end
 class TKwwhile
-special Token
+       super Token
 end
 class TKwloop
 end
 class TKwloop
-special Token
+       super Token
 end
 class TKwfor
 end
 class TKwfor
-special Token
+       super Token
 end
 class TKwin
 end
 class TKwin
-special Token
+       super Token
 end
 class TKwand
 end
 class TKwand
-special Token
+       super Token
 end
 class TKwor
 end
 class TKwor
-special Token
+       super Token
 end
 class TKwnot
 end
 class TKwnot
-special Token
+       super Token
 end
 class TKwreturn
 end
 class TKwreturn
-special Token
+       super Token
 end
 class TKwcontinue
 end
 class TKwcontinue
-special Token
+       super Token
 end
 class TKwbreak
 end
 class TKwbreak
-special Token
+       super Token
 end
 class TKwabort
 end
 class TKwabort
-special Token
+       super Token
 end
 class TKwassert
 end
 class TKwassert
-special Token
+       super Token
 end
 class TKwnew
 end
 class TKwnew
-special Token
+       super Token
 end
 class TKwisa
 end
 class TKwisa
-special Token
+       super Token
 end
 class TKwonce
 end
 class TKwonce
-special Token
+       super Token
 end
 class TKwsuper
 end
 class TKwsuper
-special Token
+       super Token
 end
 class TKwself
 end
 class TKwself
-special Token
+       super Token
 end
 class TKwtrue
 end
 class TKwtrue
-special Token
+       super Token
 end
 class TKwfalse
 end
 class TKwfalse
-special Token
+       super Token
 end
 class TKwnull
 end
 class TKwnull
-special Token
+       super Token
 end
 class TKwas
 end
 class TKwas
-special Token
+       super Token
 end
 class TKwnullable
 end
 class TKwnullable
-special Token
+       super Token
 end
 class TKwisset
 end
 class TKwisset
-special Token
+       super Token
 end
 class TKwlabel
 end
 class TKwlabel
-special Token
+       super Token
 end
 class TOpar
 end
 class TOpar
-special Token
+       super Token
 end
 class TCpar
 end
 class TCpar
-special Token
+       super Token
 end
 class TObra
 end
 class TObra
-special Token
+       super Token
 end
 class TCbra
 end
 class TCbra
-special Token
+       super Token
 end
 class TComma
 end
 class TComma
-special Token
+       super Token
 end
 class TColumn
 end
 class TColumn
-special Token
+       super Token
 end
 class TQuad
 end
 class TQuad
-special Token
+       super Token
 end
 class TAssign
 end
 class TAssign
-special Token
+       super Token
 end
 class TPluseq
 end
 class TPluseq
-special Token
+       super Token
 end
 class TMinuseq
 end
 class TMinuseq
-special Token
+       super Token
 end
 class TDotdotdot
 end
 class TDotdotdot
-special Token
+       super Token
 end
 class TDotdot
 end
 class TDotdot
-special Token
+       super Token
 end
 class TDot
 end
 class TDot
-special Token
+       super Token
 end
 class TPlus
 end
 class TPlus
-special Token
+       super Token
 end
 class TMinus
 end
 class TMinus
-special Token
+       super Token
 end
 class TStar
 end
 class TStar
-special Token
+       super Token
 end
 class TSlash
 end
 class TSlash
-special Token
+       super Token
 end
 class TPercent
 end
 class TPercent
-special Token
+       super Token
 end
 class TEq
 end
 class TEq
-special Token
+       super Token
 end
 class TNe
 end
 class TNe
-special Token
+       super Token
 end
 class TLt
 end
 class TLt
-special Token
+       super Token
 end
 class TLe
 end
 class TLe
-special Token
+       super Token
 end
 class TLl
 end
 class TLl
-special Token
+       super Token
 end
 class TGt
 end
 class TGt
-special Token
+       super Token
 end
 class TGe
 end
 class TGe
-special Token
+       super Token
 end
 class TGg
 end
 class TGg
-special Token
+       super Token
 end
 class TStarship
 end
 class TStarship
-special Token
+       super Token
 end
 class TBang
 end
 class TBang
-special Token
+       super Token
 end
 class TClassid
 end
 class TClassid
-special Token
+       super Token
 end
 class TId
 end
 class TId
-special Token
+       super Token
 end
 class TAttrid
 end
 class TAttrid
-special Token
+       super Token
 end
 class TNumber
 end
 class TNumber
-special Token
+       super Token
 end
 class TFloat
 end
 class TFloat
-special Token
+       super Token
 end
 class TChar
 end
 class TChar
-special Token
+       super Token
 end
 class TString
 end
 class TString
-special Token
+       super Token
 end
 class TStartString
 end
 class TStartString
-special Token
+       super Token
 end
 class TMidString
 end
 class TMidString
-special Token
+       super Token
 end
 class TEndString
 end
 class TEndString
-special Token
+       super Token
 end
 class EOF
 end
 class EOF
-special Token
+       super Token
 private init noinit do end
 end
 class AError
 private init noinit do end
 end
 class AError
-special EOF
+       super EOF
 private init noinit do end
 end
 
 class AModule
 private init noinit do end
 end
 
 class AModule
-special Prod
+       super Prod
     readable var _n_moduledecl: nullable AModuledecl = null
     readable var _n_imports: List[AImport] = new List[AImport]
     readable var _n_classdefs: List[AClassdef] = new List[AClassdef]
 end
 class AModuledecl
     readable var _n_moduledecl: nullable AModuledecl = null
     readable var _n_imports: List[AImport] = new List[AImport]
     readable var _n_classdefs: List[AClassdef] = new List[AClassdef]
 end
 class AModuledecl
-special Prod
+       super Prod
     readable var _n_doc: nullable ADoc = null
     readable var _n_kwmodule: TKwmodule
     readable var _n_id: TId
 end
     readable var _n_doc: nullable ADoc = null
     readable var _n_kwmodule: TKwmodule
     readable var _n_id: TId
 end
-class AImport special Prod end
+class AImport super Prod end
 class AStdImport
 class AStdImport
-special AImport
+       super AImport
     readable var _n_visibility: AVisibility
     readable var _n_kwimport: TKwimport
     readable var _n_id: TId
 end
 class ANoImport
     readable var _n_visibility: AVisibility
     readable var _n_kwimport: TKwimport
     readable var _n_id: TId
 end
 class ANoImport
-special AImport
+       super AImport
     readable var _n_visibility: AVisibility
     readable var _n_kwimport: TKwimport
     readable var _n_kwend: TKwend
 end
     readable var _n_visibility: AVisibility
     readable var _n_kwimport: TKwimport
     readable var _n_kwend: TKwend
 end
-class AVisibility special Prod end
+class AVisibility super Prod end
 class APublicVisibility
 class APublicVisibility
-special AVisibility
+       super AVisibility
 end
 class APrivateVisibility
 end
 class APrivateVisibility
-special AVisibility
+       super AVisibility
     readable var _n_kwprivate: TKwprivate
 end
 class AProtectedVisibility
     readable var _n_kwprivate: TKwprivate
 end
 class AProtectedVisibility
-special AVisibility
+       super AVisibility
     readable var _n_kwprotected: TKwprotected
 end
 class AIntrudeVisibility
     readable var _n_kwprotected: TKwprotected
 end
 class AIntrudeVisibility
-special AVisibility
+       super AVisibility
     readable var _n_kwintrude: TKwintrude
 end
     readable var _n_kwintrude: TKwintrude
 end
-class AClassdef special Prod end
+class AClassdef super Prod end
 class AStdClassdef
 class AStdClassdef
-special AClassdef
+       super AClassdef
     readable var _n_doc: nullable ADoc = null
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: AVisibility
     readable var _n_doc: nullable ADoc = null
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: AVisibility
@@ -369,47 +369,47 @@ special AClassdef
     readable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
 class ATopClassdef
     readable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
 class ATopClassdef
-special AClassdef
+       super AClassdef
     readable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
 class AMainClassdef
     readable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
 class AMainClassdef
-special AClassdef
+       super AClassdef
     readable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
     readable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
-class AClasskind special Prod end
+class AClasskind super Prod end
 class AConcreteClasskind
 class AConcreteClasskind
-special AClasskind
+       super AClasskind
     readable var _n_kwclass: TKwclass
 end
 class AAbstractClasskind
     readable var _n_kwclass: TKwclass
 end
 class AAbstractClasskind
-special AClasskind
+       super AClasskind
     readable var _n_kwabstract: TKwabstract
     readable var _n_kwclass: TKwclass
 end
 class AInterfaceClasskind
     readable var _n_kwabstract: TKwabstract
     readable var _n_kwclass: TKwclass
 end
 class AInterfaceClasskind
-special AClasskind
+       super AClasskind
     readable var _n_kwinterface: TKwinterface
 end
 class AEnumClasskind
     readable var _n_kwinterface: TKwinterface
 end
 class AEnumClasskind
-special AClasskind
+       super AClasskind
     readable var _n_kwenum: TKwenum
 end
 class AFormaldef
     readable var _n_kwenum: TKwenum
 end
 class AFormaldef
-special Prod
+       super Prod
     readable var _n_id: TClassid
     readable var _n_type: nullable AType = null
 end
 class ASuperclass
     readable var _n_id: TClassid
     readable var _n_type: nullable AType = null
 end
 class ASuperclass
-special Prod
+       super Prod
     readable var _n_kwspecial: nullable TKwspecial = null
     readable var _n_kwsuper: nullable TKwsuper = null
     readable var _n_type: AType
 end
     readable var _n_kwspecial: nullable TKwspecial = null
     readable var _n_kwsuper: nullable TKwsuper = null
     readable var _n_type: AType
 end
-class APropdef special Prod
+class APropdef super Prod
     readable var _n_doc: nullable ADoc = null
 end
 class AAttrPropdef
     readable var _n_doc: nullable ADoc = null
 end
 class AAttrPropdef
-special APropdef
+       super APropdef
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: AVisibility
     readable var _n_kwvar: TKwvar
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: AVisibility
     readable var _n_kwvar: TKwvar
@@ -421,148 +421,148 @@ special APropdef
     readable var _n_expr: nullable AExpr = null
 end
 class AMethPropdef
     readable var _n_expr: nullable AExpr = null
 end
 class AMethPropdef
-special APropdef
+       super APropdef
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: nullable AVisibility
     readable var _n_methid: nullable AMethid = null
     readable var _n_signature: nullable ASignature
 end
 class ADeferredMethPropdef
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: nullable AVisibility
     readable var _n_methid: nullable AMethid = null
     readable var _n_signature: nullable ASignature
 end
 class ADeferredMethPropdef
-special AMethPropdef
+       super AMethPropdef
     readable var _n_kwmeth: TKwmeth
 end
 class AInternMethPropdef
     readable var _n_kwmeth: TKwmeth
 end
 class AInternMethPropdef
-special AMethPropdef
+       super AMethPropdef
     readable var _n_kwmeth: TKwmeth
 end
 class AExternMethPropdef
     readable var _n_kwmeth: TKwmeth
 end
 class AExternMethPropdef
-special AMethPropdef
+       super AMethPropdef
     readable var _n_kwmeth: TKwmeth
     readable var _n_extern: nullable TString = null
 end
 class AConcreteMethPropdef
     readable var _n_kwmeth: TKwmeth
     readable var _n_extern: nullable TString = null
 end
 class AConcreteMethPropdef
-special AMethPropdef
+       super AMethPropdef
     readable var _n_kwmeth: nullable TKwmeth
     readable var _n_block: nullable AExpr = null
 end
 class AConcreteInitPropdef
     readable var _n_kwmeth: nullable TKwmeth
     readable var _n_block: nullable AExpr = null
 end
 class AConcreteInitPropdef
-special AConcreteMethPropdef
+       super AConcreteMethPropdef
     readable var _n_kwinit: TKwinit
 end
 class AMainMethPropdef
     readable var _n_kwinit: TKwinit
 end
 class AMainMethPropdef
-special AConcreteMethPropdef
+       super AConcreteMethPropdef
 end
 class ATypePropdef
 end
 class ATypePropdef
-special APropdef
+       super APropdef
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: AVisibility
     readable var _n_kwtype: TKwtype
     readable var _n_id: TClassid
     readable var _n_type: AType
 end
     readable var _n_kwredef: nullable TKwredef = null
     readable var _n_visibility: AVisibility
     readable var _n_kwtype: TKwtype
     readable var _n_id: TClassid
     readable var _n_type: AType
 end
-class AAble special Prod
+class AAble super Prod
     readable var _n_visibility: nullable AVisibility = null
     readable var _n_kwredef: nullable TKwredef = null
 end
 class AReadAble
     readable var _n_visibility: nullable AVisibility = null
     readable var _n_kwredef: nullable TKwredef = null
 end
 class AReadAble
-special AAble
+       super AAble
     readable var _n_kwreadable: TKwreadable
 end
 class AWriteAble
     readable var _n_kwreadable: TKwreadable
 end
 class AWriteAble
-special AAble
+       super AAble
     readable var _n_kwwritable: TKwwritable
 end
     readable var _n_kwwritable: TKwwritable
 end
-class AMethid special Prod end
+class AMethid super Prod end
 class AIdMethid
 class AIdMethid
-special AMethid
+       super AMethid
     readable var _n_id: TId
 end
 class APlusMethid
     readable var _n_id: TId
 end
 class APlusMethid
-special AMethid
+       super AMethid
     readable var _n_plus: TPlus
 end
 class AMinusMethid
     readable var _n_plus: TPlus
 end
 class AMinusMethid
-special AMethid
+       super AMethid
     readable var _n_minus: TMinus
 end
 class AStarMethid
     readable var _n_minus: TMinus
 end
 class AStarMethid
-special AMethid
+       super AMethid
     readable var _n_star: TStar
 end
 class ASlashMethid
     readable var _n_star: TStar
 end
 class ASlashMethid
-special AMethid
+       super AMethid
     readable var _n_slash: TSlash
 end
 class APercentMethid
     readable var _n_slash: TSlash
 end
 class APercentMethid
-special AMethid
+       super AMethid
     readable var _n_percent: TPercent
 end
 class AEqMethid
     readable var _n_percent: TPercent
 end
 class AEqMethid
-special AMethid
+       super AMethid
     readable var _n_eq: TEq
 end
 class ANeMethid
     readable var _n_eq: TEq
 end
 class ANeMethid
-special AMethid
+       super AMethid
     readable var _n_ne: TNe
 end
 class ALeMethid
     readable var _n_ne: TNe
 end
 class ALeMethid
-special AMethid
+       super AMethid
     readable var _n_le: TLe
 end
 class AGeMethid
     readable var _n_le: TLe
 end
 class AGeMethid
-special AMethid
+       super AMethid
     readable var _n_ge: TGe
 end
 class ALtMethid
     readable var _n_ge: TGe
 end
 class ALtMethid
-special AMethid
+       super AMethid
     readable var _n_lt: TLt
 end
 class AGtMethid
     readable var _n_lt: TLt
 end
 class AGtMethid
-special AMethid
+       super AMethid
     readable var _n_gt: TGt
 end
 class ALlMethid
     readable var _n_gt: TGt
 end
 class ALlMethid
-special AMethid
+       super AMethid
     readable writable var _n_ll: TLl
 end
 class AGgMethid
     readable writable var _n_ll: TLl
 end
 class AGgMethid
-special AMethid
+       super AMethid
     readable writable var _n_gg: TGg
 end
 class ABraMethid
     readable writable var _n_gg: TGg
 end
 class ABraMethid
-special AMethid
+       super AMethid
     readable var _n_obra: TObra
     readable var _n_cbra: TCbra
 end
 class AStarshipMethid
     readable var _n_obra: TObra
     readable var _n_cbra: TCbra
 end
 class AStarshipMethid
-special AMethid
+       super AMethid
     readable var _n_starship: TStarship
 end
 class AAssignMethid
     readable var _n_starship: TStarship
 end
 class AAssignMethid
-special AMethid
+       super AMethid
     readable var _n_id: TId
     readable var _n_assign: TAssign
 end
 class ABraassignMethid
     readable var _n_id: TId
     readable var _n_assign: TAssign
 end
 class ABraassignMethid
-special AMethid
+       super AMethid
     readable var _n_obra: TObra
     readable var _n_cbra: TCbra
     readable var _n_assign: TAssign
 end
 class ASignature
     readable var _n_obra: TObra
     readable var _n_cbra: TCbra
     readable var _n_assign: TAssign
 end
 class ASignature
-special Prod
+       super Prod
     readable var _n_params: List[AParam] = new List[AParam]
     readable var _n_type: nullable AType = null
     readable var _n_closure_decls: List[AClosureDecl] = new List[AClosureDecl]
 end
 class AParam
     readable var _n_params: List[AParam] = new List[AParam]
     readable var _n_type: nullable AType = null
     readable var _n_closure_decls: List[AClosureDecl] = new List[AClosureDecl]
 end
 class AParam
-special Prod
+       super Prod
     readable var _n_id: TId
     readable var _n_type: nullable AType = null
     readable var _n_dotdotdot: nullable TDotdotdot = null
 end
 class AClosureDecl
     readable var _n_id: TId
     readable var _n_type: nullable AType = null
     readable var _n_dotdotdot: nullable TDotdotdot = null
 end
 class AClosureDecl
-special Prod
+       super Prod
     readable var _n_kwbreak: nullable TKwbreak = null
     readable var _n_bang: TBang
     readable var _n_id: TId
     readable var _n_kwbreak: nullable TKwbreak = null
     readable var _n_bang: TBang
     readable var _n_id: TId
@@ -570,23 +570,23 @@ special Prod
     readable var _n_expr: nullable AExpr = null
 end
 class AType
     readable var _n_expr: nullable AExpr = null
 end
 class AType
-special Prod
+       super Prod
     readable var _n_kwnullable: nullable TKwnullable = null
     readable var _n_id: TClassid
     readable var _n_types: List[AType] = new List[AType]
 end
 class ALabel
     readable var _n_kwnullable: nullable TKwnullable = null
     readable var _n_id: TClassid
     readable var _n_types: List[AType] = new List[AType]
 end
 class ALabel
-special Prod
+       super Prod
     readable var _n_kwlabel: TKwlabel
     readable var _n_id: TId
 end
     readable var _n_kwlabel: TKwlabel
     readable var _n_id: TId
 end
-class AExpr special Prod end
+class AExpr super Prod end
 class ABlockExpr
 class ABlockExpr
-special AExpr
+       super AExpr
     readable var _n_expr: List[AExpr] = new List[AExpr]
 end
 class AVardeclExpr
     readable var _n_expr: List[AExpr] = new List[AExpr]
 end
 class AVardeclExpr
-special AExpr
+       super AExpr
     readable var _n_kwvar: TKwvar
     readable var _n_id: TId
     readable var _n_type: nullable AType = null
     readable var _n_kwvar: TKwvar
     readable var _n_id: TId
     readable var _n_type: nullable AType = null
@@ -594,45 +594,45 @@ special AExpr
     readable var _n_expr: nullable AExpr = null
 end
 class AReturnExpr
     readable var _n_expr: nullable AExpr = null
 end
 class AReturnExpr
-special AExpr
+       super AExpr
     readable var _n_kwreturn: nullable TKwreturn = null
     readable var _n_expr: nullable AExpr = null
 end
 class ALabelable
     readable var _n_kwreturn: nullable TKwreturn = null
     readable var _n_expr: nullable AExpr = null
 end
 class ALabelable
-special Prod
+       super Prod
     readable var _n_label: nullable ALabel = null
 end
 class ABreakExpr
     readable var _n_label: nullable ALabel = null
 end
 class ABreakExpr
-special AExpr
-special ALabelable
+       super AExpr
+       super ALabelable
     readable var _n_kwbreak: TKwbreak
     readable var _n_expr: nullable AExpr = null
 end
 class AAbortExpr
     readable var _n_kwbreak: TKwbreak
     readable var _n_expr: nullable AExpr = null
 end
 class AAbortExpr
-special AExpr
+       super AExpr
     readable var _n_kwabort: TKwabort
 end
 class AContinueExpr
     readable var _n_kwabort: TKwabort
 end
 class AContinueExpr
-special AExpr
-special ALabelable
+       super AExpr
+       super ALabelable
     readable var _n_kwcontinue: nullable TKwcontinue = null
     readable var _n_expr: nullable AExpr = null
 end
 class ADoExpr
     readable var _n_kwcontinue: nullable TKwcontinue = null
     readable var _n_expr: nullable AExpr = null
 end
 class ADoExpr
-special AExpr
-special ALabelable
+       super AExpr
+       super ALabelable
     readable var _n_kwdo: TKwdo
     readable var _n_block: nullable AExpr = null
 end
 class AIfExpr
     readable var _n_kwdo: TKwdo
     readable var _n_block: nullable AExpr = null
 end
 class AIfExpr
-special AExpr
+       super AExpr
     readable var _n_kwif: TKwif
     readable var _n_expr: AExpr
     readable var _n_then: nullable AExpr = null
     readable var _n_else: nullable AExpr = null
 end
 class AIfexprExpr
     readable var _n_kwif: TKwif
     readable var _n_expr: AExpr
     readable var _n_then: nullable AExpr = null
     readable var _n_else: nullable AExpr = null
 end
 class AIfexprExpr
-special AExpr
+       super AExpr
     readable var _n_kwif: TKwif
     readable var _n_expr: AExpr
     readable var _n_kwthen: TKwthen
     readable var _n_kwif: TKwif
     readable var _n_expr: AExpr
     readable var _n_kwthen: TKwthen
@@ -641,22 +641,22 @@ special AExpr
     readable var _n_else: AExpr
 end
 class AWhileExpr
     readable var _n_else: AExpr
 end
 class AWhileExpr
-special AExpr
-special ALabelable
+       super AExpr
+       super ALabelable
     readable var _n_kwwhile:  TKwwhile
     readable var _n_expr: AExpr
     readable var _n_kwdo: TKwdo
     readable var _n_block: nullable AExpr = null
 end
 class ALoopExpr
     readable var _n_kwwhile:  TKwwhile
     readable var _n_expr: AExpr
     readable var _n_kwdo: TKwdo
     readable var _n_block: nullable AExpr = null
 end
 class ALoopExpr
-special AExpr
-special ALabelable
+       super AExpr
+       super ALabelable
     readable var _n_kwloop: TKwloop
     readable var _n_block: nullable AExpr = null
 end
 class AForExpr
     readable var _n_kwloop: TKwloop
     readable var _n_block: nullable AExpr = null
 end
 class AForExpr
-special AExpr
-special ALabelable
+       super AExpr
+       super ALabelable
     readable var _n_kwfor: TKwfor
     readable var _n_id: TId
     readable var _n_expr: AExpr
     readable var _n_kwfor: TKwfor
     readable var _n_id: TId
     readable var _n_expr: AExpr
@@ -664,306 +664,306 @@ special ALabelable
     readable var _n_block: nullable AExpr = null
 end
 class AAssertExpr
     readable var _n_block: nullable AExpr = null
 end
 class AAssertExpr
-special AExpr
+       super AExpr
     readable var _n_kwassert: TKwassert
     readable var _n_id: nullable TId = null
     readable var _n_expr: AExpr
     readable var _n_else: nullable AExpr = null
 end
 class AAssignFormExpr
     readable var _n_kwassert: TKwassert
     readable var _n_id: nullable TId = null
     readable var _n_expr: AExpr
     readable var _n_else: nullable AExpr = null
 end
 class AAssignFormExpr
-special AExpr
+       super AExpr
     readable var _n_assign: TAssign
     readable var _n_value: AExpr
 end
 class AReassignFormExpr
     readable var _n_assign: TAssign
     readable var _n_value: AExpr
 end
 class AReassignFormExpr
-special AExpr
+       super AExpr
     readable var _n_assign_op: AAssignOp
     readable var _n_value: AExpr
 end
 class AOnceExpr
     readable var _n_assign_op: AAssignOp
     readable var _n_value: AExpr
 end
 class AOnceExpr
-special AProxyExpr
+       super AProxyExpr
     readable var _n_kwonce: TKwonce
 end
 class ASendExpr
     readable var _n_kwonce: TKwonce
 end
 class ASendExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
 end
 class ABinopExpr
     readable var _n_expr: AExpr
     readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
 end
 class ABinopExpr
-special ASendExpr
+       super ASendExpr
     readable var _n_expr2: AExpr
 end
 class ABoolExpr
     readable var _n_expr2: AExpr
 end
 class ABoolExpr
-special AExpr
+       super AExpr
 end
 class AOrExpr
 end
 class AOrExpr
-special ABoolExpr
+       super ABoolExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AAndExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AAndExpr
-special ABoolExpr
+       super ABoolExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AOrElseExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class AOrElseExpr
-special ABoolExpr
+       super ABoolExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class ANotExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class ANotExpr
-special ABoolExpr
+       super ABoolExpr
     readable var _n_kwnot: TKwnot
     readable var _n_expr: AExpr
 end
 class AEqExpr
     readable var _n_kwnot: TKwnot
     readable var _n_expr: AExpr
 end
 class AEqExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class AEeExpr
 end
 class AEeExpr
-special ABoolExpr
+       super ABoolExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class ANeExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class ANeExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class ALtExpr
 end
 class ALtExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class ALeExpr
 end
 class ALeExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class ALlExpr
 end
 class ALlExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class AGtExpr
 end
 class AGtExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class AGeExpr
 end
 class AGeExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class AGgExpr
 end
 class AGgExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class AIsaExpr
 end
 class AIsaExpr
-special ABoolExpr
+       super ABoolExpr
     readable var _n_expr: AExpr
     readable var _n_type: AType
 end
 class APlusExpr
     readable var _n_expr: AExpr
     readable var _n_type: AType
 end
 class APlusExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class AMinusExpr
 end
 class AMinusExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class AStarshipExpr
 end
 class AStarshipExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class AStarExpr
 end
 class AStarExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class ASlashExpr
 end
 class ASlashExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class APercentExpr
 end
 class APercentExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class AUminusExpr
 end
 class AUminusExpr
-special ASendExpr
+       super ASendExpr
     readable var _n_minus: TMinus
 end
 class ANewExpr
     readable var _n_minus: TMinus
 end
 class ANewExpr
-special AExpr
+       super AExpr
     readable var _n_kwnew: TKwnew
     readable var _n_type: AType
     readable var _n_id: nullable TId = null
     readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class AAttrFormExpr
     readable var _n_kwnew: TKwnew
     readable var _n_type: AType
     readable var _n_id: nullable TId = null
     readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class AAttrFormExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_id: TAttrid
 end
 class AAttrExpr
     readable var _n_expr: AExpr
     readable var _n_id: TAttrid
 end
 class AAttrExpr
-special AAttrFormExpr
+       super AAttrFormExpr
 end
 class AAttrAssignExpr
 end
 class AAttrAssignExpr
-special AAttrFormExpr
-special AAssignFormExpr
+       super AAttrFormExpr
+       super AAssignFormExpr
 end
 class ACallFormExpr
 end
 class ACallFormExpr
-special ASendExpr
+       super ASendExpr
     readable var _n_id: TId
     readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class AAttrReassignExpr
     readable var _n_id: TId
     readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class AAttrReassignExpr
-special AExpr
-special AAttrFormExpr
-special AReassignFormExpr
+       super AExpr
+       super AAttrFormExpr
+       super AReassignFormExpr
 end
 class ACallExpr
 end
 class ACallExpr
-special ACallFormExpr
+       super ACallFormExpr
 end
 class ACallAssignExpr
 end
 class ACallAssignExpr
-special ACallFormExpr
-special AAssignFormExpr
+       super ACallFormExpr
+       super AAssignFormExpr
 end
 class ACallReassignExpr
 end
 class ACallReassignExpr
-special AExpr
-special ACallFormExpr
-special AReassignFormExpr
+       super AExpr
+       super ACallFormExpr
+       super AReassignFormExpr
 end
 class ASuperExpr
 end
 class ASuperExpr
-special AExpr
+       super AExpr
     readable var _n_qualified: nullable AQualified = null
     readable var _n_kwsuper: TKwsuper
     readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class AInitExpr
     readable var _n_qualified: nullable AQualified = null
     readable var _n_kwsuper: TKwsuper
     readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class AInitExpr
-special ASendExpr
+       super ASendExpr
     readable var _n_kwinit: TKwinit
     readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class ABraFormExpr
     readable var _n_kwinit: TKwinit
     readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class ABraFormExpr
-special ASendExpr
+       super ASendExpr
     readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class ABraExpr
     readable var _n_args: List[AExpr] = new List[AExpr]
 end
 class ABraExpr
-special ABraFormExpr
+       super ABraFormExpr
 end
 class ABraAssignExpr
 end
 class ABraAssignExpr
-special ABraFormExpr
-special AAssignFormExpr
+       super ABraFormExpr
+       super AAssignFormExpr
 end
 class AVarFormExpr
 end
 class AVarFormExpr
-special AExpr
+       super AExpr
     readable var _n_id: TId
 end
 class ABraReassignExpr
     readable var _n_id: TId
 end
 class ABraReassignExpr
-special ABraFormExpr
-special AReassignFormExpr
+       super ABraFormExpr
+       super AReassignFormExpr
 end
 class AClosureCallExpr
 end
 class AClosureCallExpr
-special AExpr
+       super AExpr
     readable var _n_id: TId
     readable var _n_args: List[AExpr] = new List[AExpr]
     readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
 end
 class AVarExpr
     readable var _n_id: TId
     readable var _n_args: List[AExpr] = new List[AExpr]
     readable var _n_closure_defs: List[AClosureDef] = new List[AClosureDef]
 end
 class AVarExpr
-special AVarFormExpr
+       super AVarFormExpr
 end
 class AVarAssignExpr
 end
 class AVarAssignExpr
-special AVarFormExpr
-special AAssignFormExpr
+       super AVarFormExpr
+       super AAssignFormExpr
 end
 class AVarReassignExpr
 end
 class AVarReassignExpr
-special AVarFormExpr
-special AReassignFormExpr
+       super AVarFormExpr
+       super AReassignFormExpr
 end
 class ARangeExpr
 end
 class ARangeExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class ACrangeExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class ACrangeExpr
-special ARangeExpr
+       super ARangeExpr
 end
 class AOrangeExpr
 end
 class AOrangeExpr
-special ARangeExpr
+       super ARangeExpr
 end
 class AArrayExpr
 end
 class AArrayExpr
-special AExpr
+       super AExpr
     readable var _n_exprs: List[AExpr] = new List[AExpr]
 end
 class ASelfExpr
     readable var _n_exprs: List[AExpr] = new List[AExpr]
 end
 class ASelfExpr
-special AExpr
+       super AExpr
     readable var _n_kwself: nullable TKwself
 end
 class AImplicitSelfExpr
     readable var _n_kwself: nullable TKwself
 end
 class AImplicitSelfExpr
-special ASelfExpr
+       super ASelfExpr
 end
 class ATrueExpr
 end
 class ATrueExpr
-special ABoolExpr
+       super ABoolExpr
     readable var _n_kwtrue: TKwtrue
 end
 class AFalseExpr
     readable var _n_kwtrue: TKwtrue
 end
 class AFalseExpr
-special ABoolExpr
+       super ABoolExpr
     readable var _n_kwfalse: TKwfalse
 end
 class ANullExpr
     readable var _n_kwfalse: TKwfalse
 end
 class ANullExpr
-special AExpr
+       super AExpr
     readable var _n_kwnull: TKwnull
 end
 class AIntExpr
     readable var _n_kwnull: TKwnull
 end
 class AIntExpr
-special AExpr
+       super AExpr
     readable var _n_number: TNumber
 end
 class AFloatExpr
     readable var _n_number: TNumber
 end
 class AFloatExpr
-special AExpr
+       super AExpr
     readable var _n_float: TFloat
 end
 class ACharExpr
     readable var _n_float: TFloat
 end
 class ACharExpr
-special AExpr
+       super AExpr
     readable var _n_char: TChar
 end
 class AStringFormExpr
     readable var _n_char: TChar
 end
 class AStringFormExpr
-special AExpr
+       super AExpr
 end
 class AStringExpr
 end
 class AStringExpr
-special AStringFormExpr
+       super AStringFormExpr
     readable var _n_string: TString
 end
 class AStartStringExpr
     readable var _n_string: TString
 end
 class AStartStringExpr
-special AStringFormExpr
+       super AStringFormExpr
     readable var _n_string: TStartString
 end
 class AMidStringExpr
     readable var _n_string: TStartString
 end
 class AMidStringExpr
-special AStringFormExpr
+       super AStringFormExpr
     readable var _n_string: TMidString
 end
 class AEndStringExpr
     readable var _n_string: TMidString
 end
 class AEndStringExpr
-special AStringFormExpr
+       super AStringFormExpr
     readable var _n_string: TEndString
 end
 class ASuperstringExpr
     readable var _n_string: TEndString
 end
 class ASuperstringExpr
-special AExpr
+       super AExpr
     readable var _n_exprs: List[AExpr] = new List[AExpr]
 end
 class AParExpr
     readable var _n_exprs: List[AExpr] = new List[AExpr]
 end
 class AParExpr
-special AProxyExpr
+       super AProxyExpr
 end
 class AProxyExpr
 end
 class AProxyExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
 end
 class AAsCastExpr
     readable var _n_expr: AExpr
 end
 class AAsCastExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_kwas: TKwas
     readable var _n_type: AType
 end
 class AAsNotnullExpr
     readable var _n_expr: AExpr
     readable var _n_kwas: TKwas
     readable var _n_type: AType
 end
 class AAsNotnullExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_kwas: TKwas
     readable var _n_kwnot: TKwnot
     readable var _n_kwnull: TKwnull
 end
 class AIssetAttrExpr
     readable var _n_expr: AExpr
     readable var _n_kwas: TKwas
     readable var _n_kwnot: TKwnot
     readable var _n_kwnull: TKwnull
 end
 class AIssetAttrExpr
-special AAttrFormExpr
+       super AAttrFormExpr
     readable var _n_kwisset: TKwisset
 end
     readable var _n_kwisset: TKwisset
 end
-class AAssignOp special Prod end
+class AAssignOp super Prod end
 class APlusAssignOp
 class APlusAssignOp
-special AAssignOp
+       super AAssignOp
     readable var _n_pluseq: TPluseq
 end
 class AMinusAssignOp
     readable var _n_pluseq: TPluseq
 end
 class AMinusAssignOp
-special AAssignOp
+       super AAssignOp
     readable var _n_minuseq: TMinuseq
 end
 class AClosureDef
     readable var _n_minuseq: TMinuseq
 end
 class AClosureDef
-special ALabelable
+       super ALabelable
     readable var _n_bang: TBang
     readable var _n_id: AClosureId
     readable var _n_ids: List[TId] = new List[TId]
     readable var _n_bang: TBang
     readable var _n_id: AClosureId
     readable var _n_ids: List[TId] = new List[TId]
@@ -971,28 +971,28 @@ special ALabelable
     readable var _n_expr: nullable AExpr = null
 end
 class AClosureId
     readable var _n_expr: nullable AExpr = null
 end
 class AClosureId
-special Prod
+       super Prod
 end
 class ASimpleClosureId
 end
 class ASimpleClosureId
-special AClosureId
+       super AClosureId
     readable var _n_id: TId
 end
 class ABreakClosureId
     readable var _n_id: TId
 end
 class ABreakClosureId
-special AClosureId
+       super AClosureId
     readable var _n_kwbreak: TKwbreak
 end
 class AQualified
     readable var _n_kwbreak: TKwbreak
 end
 class AQualified
-special Prod
+       super Prod
     readable var _n_id: List[TId] = new List[TId]
     readable var _n_classid: nullable TClassid = null
 end
 class ADoc
     readable var _n_id: List[TId] = new List[TId]
     readable var _n_classid: nullable TClassid = null
 end
 class ADoc
-special Prod
+       super Prod
     readable var _n_comment: List[TComment] = new List[TComment]
 end
 
 class Start
     readable var _n_comment: List[TComment] = new List[TComment]
 end
 
 class Start
-special Prod
+       super Prod
     readable var _n_base: nullable AModule
     readable var _n_eof: EOF
 end
     readable var _n_base: nullable AModule
     readable var _n_eof: EOF
 end
index 4878291..fd53079 100644 (file)
@@ -20,7 +20,7 @@ package test_parser
 import parser
 
 class PrintTreeVisitor
 import parser
 
 class PrintTreeVisitor
-special Visitor
+       super Visitor
        var _rank: Int
        redef fun visit(n: nullable ANode)
        do
        var _rank: Int
        redef fun visit(n: nullable ANode)
        do
index a8fa706..a18c223 100644 (file)
@@ -20,7 +20,7 @@ $ template make_lexer()
 # The lexer extract NIT tokens from an input stream.
 # It is better user with the Parser
 class Lexer
 # The lexer extract NIT tokens from an input stream.
 # It is better user with the Parser
 class Lexer
-special TablesCapable
+       super TablesCapable
        # Last peeked token
        var _token: nullable Token
 
        # Last peeked token
        var _token: nullable Token
 
index 3feb578..a62df55 100644 (file)
@@ -27,12 +27,12 @@ end
 
 # Ancestor of all tokens
 abstract class Token
 
 # Ancestor of all tokens
 abstract class Token
-special PNode
+       super PNode
 end
 
 # Ancestor of all productions
 abstract class Prod
 end
 
 # Ancestor of all productions
 abstract class Prod
-special PNode
+       super PNode
        fun location=(loc: Location) do _location = loc
 end
 $ end template
        fun location=(loc: Location) do _location = loc
 end
 $ end template
index 63180cf..1e96b6a 100644 (file)
@@ -33,7 +33,7 @@ private class State
 end
 
 class Parser
 end
 
 class Parser
-special TablesCapable
+       super TablesCapable
        # Associated lexer
        var _lexer: Lexer
 
        # Associated lexer
        var _lexer: Lexer
 
@@ -185,7 +185,7 @@ end
 # Find location of production nodes
 # Uses existing token locations to infer location of productions.
 private class ComputeProdLocationVisitor
 # Find location of production nodes
 # Uses existing token locations to infer location of productions.
 private class ComputeProdLocationVisitor
-special Visitor
+       super Visitor
        # Currenlty visited productions that need a first token
        var _need_first_prods: Array[Prod] = new Array[Prod]
 
        # Currenlty visited productions that need a first token
        var _need_first_prods: Array[Prod] = new Array[Prod]
 
@@ -282,7 +282,7 @@ end
 
 $ foreach {rules/rule}
 private class ReduceAction@index
 
 $ foreach {rules/rule}
 private class ReduceAction@index
-special ReduceAction
+       super ReduceAction
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
        redef fun action(p: Parser)
        do
                                        var node_list: nullable Object = null
index ef484d0..9f2b330 100644 (file)
@@ -19,12 +19,12 @@ $ template make_abs_prods()
 $ set baseprod = {//prod/@ename}
 
 $ foreach {//prod}
 $ set baseprod = {//prod/@ename}
 
 $ foreach {//prod}
-class @ename special Prod end
+class @ename super Prod end
 $ end
 
 $ foreach {//alt}
 class @ename
 $ end
 
 $ foreach {//alt}
 class @ename
-special ${../@ename}
+       super ${../@ename}
 $ foreach {elem}
 $   if @is_list
     readable var _n_@name: List[@etype] = new List[@etype]
 $ foreach {elem}
 $   if @is_list
     readable var _n_@name: List[@etype] = new List[@etype]
@@ -40,7 +40,7 @@ end
 $ end
 
 class Start
 $ end
 
 class Start
-special Prod
+       super Prod
     readable var _n_base: nullable $baseprod
     readable var _n_eof: EOF
 end
     readable var _n_base: nullable $baseprod
     readable var _n_eof: EOF
 end
index 03247a7..5352944 100644 (file)
@@ -19,16 +19,16 @@ $ template make_abs_tokens()
 $ foreach {//token}
 $ if {@parser_index}    
 class @ename
 $ foreach {//token}
 $ if {@parser_index}    
 class @ename
-special Token
+       super Token
 end
 $ end
 $ end
 class EOF
 end
 $ end
 $ end
 class EOF
-special Token
+       super Token
 private init noinit do end
 end
 class PError
 private init noinit do end
 end
 class PError
-special EOF
+       super EOF
 private init noinit do end
 end
 $ end template
 private init noinit do end
 end
 $ end template
index 102ed35..e4fbaef 100644 (file)
@@ -136,7 +136,7 @@ end
 
 # Root of a variable context hierarchy
 class RootFlowContext
 
 # Root of a variable context hierarchy
 class RootFlowContext
-special FlowContext
+       super FlowContext
        init(visitor: AbsSyntaxVisitor, node: ANode)
        do
                super(visitor, node)
        init(visitor: AbsSyntaxVisitor, node: ANode)
        do
                super(visitor, node)
@@ -145,7 +145,7 @@ end
 
 # Contexts that are an evolution of a single previous context
 class SubFlowContext
 
 # Contexts that are an evolution of a single previous context
 class SubFlowContext
-special FlowContext
+       super FlowContext
        readable var _prev: FlowContext
 
        redef fun is_set(v)
        readable var _prev: FlowContext
 
        redef fun is_set(v)
@@ -167,7 +167,7 @@ end
 
 # A variable context where a variable got a type adptation
 class CastFlowContext
 
 # A variable context where a variable got a type adptation
 class CastFlowContext
-special SubFlowContext
+       super SubFlowContext
        # The casted variable
        var _variable: Variable
 
        # The casted variable
        var _variable: Variable
 
@@ -194,7 +194,7 @@ end
 # Context that resulting from the combinaisons of other contexts.
 # Most of the merge computation are done lasily.
 class MergeFlowContext
 # Context that resulting from the combinaisons of other contexts.
 # Most of the merge computation are done lasily.
 class MergeFlowContext
-special FlowContext
+       super FlowContext
        var _base: FlowContext
        var _alts: Array[FlowContext]
 
        var _base: FlowContext
        var _alts: Array[FlowContext]
 
index 5bd50bb..afb15b7 100644 (file)
@@ -24,7 +24,7 @@ private import primitive_info
 
 # An AST2ICode context stores the currently built icode informations
 class A2IContext
 
 # An AST2ICode context stores the currently built icode informations
 class A2IContext
-special ICodeBuilder
+       super ICodeBuilder
        redef fun stmt(s: ICode)
        do
                if _current_node != null then
        redef fun stmt(s: ICode)
        do
                if _current_node != null then
@@ -279,7 +279,7 @@ redef class MMImplicitInit
 end
 
 class A2IVisitor
 end
 
 class A2IVisitor
-special AbsSyntaxVisitor
+       super AbsSyntaxVisitor
        writable var _icode_ctx: nullable A2IContext
        fun icode_ctx: A2IContext do return _icode_ctx.as(not null)
        redef fun visit(n) do n.accept_icode_generation(self)
        writable var _icode_ctx: nullable A2IContext
        fun icode_ctx: A2IContext do return _icode_ctx.as(not null)
        redef fun visit(n) do n.accept_icode_generation(self)
index 35c474b..3534938 100644 (file)
@@ -23,7 +23,7 @@ import syntax_base
 
 # Class specialization hierarchy sorter
 private class CSHSorter
 
 # Class specialization hierarchy sorter
 private class CSHSorter
-special AbstractSorter[MMLocalClass]
+       super AbstractSorter[MMLocalClass]
        redef fun compare(a, b)
        do
                return a.cshe.rank <=> b.cshe.rank
        redef fun compare(a, b)
        do
                return a.cshe.rank <=> b.cshe.rank
@@ -311,7 +311,7 @@ end
 
 # Concrete NIT class specialization relation
 class MMSrcAncestor
 
 # Concrete NIT class specialization relation
 class MMSrcAncestor
-special MMAncestor
+       super MMAncestor
        redef readable var _local_class: MMLocalClass
 
        init(c: MMLocalClass)
        redef readable var _local_class: MMLocalClass
 
        init(c: MMLocalClass)
@@ -326,7 +326,7 @@ end
 # * Build the classes and attach them to global classes
 # * Collect generic formal parameters.
 private class ClassBuilderVisitor
 # * Build the classes and attach them to global classes
 # * Collect generic formal parameters.
 private class ClassBuilderVisitor
-special AbsSyntaxVisitor
+       super AbsSyntaxVisitor
        # Current class arity
        readable writable var _local_class_arity: Int = 0
 
        # Current class arity
        readable writable var _local_class_arity: Int = 0
 
@@ -340,7 +340,7 @@ end
 # Another pass visitor for syntax analysis.
 # * Build ancertors (with only class informations not the type one)
 private class ClassSpecializationBuilderVisitor
 # Another pass visitor for syntax analysis.
 # * Build ancertors (with only class informations not the type one)
 private class ClassSpecializationBuilderVisitor
-special AbsSyntaxVisitor
+       super AbsSyntaxVisitor
        redef fun visit(n) do n.accept_class_specialization_builder(self)
        init(tc, m) do super
 end
        redef fun visit(n) do n.accept_class_specialization_builder(self)
        init(tc, m) do super
 end
@@ -348,7 +348,7 @@ end
 # Another pass visitor for syntax analysis.
 # * Compute types in ancestors
 private class ClassAncestorBuilder
 # Another pass visitor for syntax analysis.
 # * Compute types in ancestors
 private class ClassAncestorBuilder
-special AbsSyntaxVisitor
+       super AbsSyntaxVisitor
        redef fun visit(n) do n.accept_class_ancestor_builder(self)
        init(tc, m) do super
 end
        redef fun visit(n) do n.accept_class_ancestor_builder(self)
        init(tc, m) do super
 end
@@ -356,7 +356,7 @@ end
 # Another pass visitor for syntax analysis.
 # * Checks classes in regard to superclasses
 private class ClassVerifierVisitor
 # Another pass visitor for syntax analysis.
 # * Checks classes in regard to superclasses
 private class ClassVerifierVisitor
-special AbsSyntaxVisitor
+       super AbsSyntaxVisitor
        redef fun visit(n) do n.accept_class_verifier(self)
        init(tc, m) do super
 end
        redef fun visit(n) do n.accept_class_verifier(self)
        init(tc, m) do super
 end
@@ -367,7 +367,7 @@ end
 # * Build local properties and attache them to global properties
 # * Attach bound to formal types
 private class PropertyBuilderVisitor
 # * Build local properties and attache them to global properties
 # * Attach bound to formal types
 private class PropertyBuilderVisitor
-special AbsSyntaxVisitor
+       super AbsSyntaxVisitor
        redef fun visit(n) do n.accept_property_builder(self)
        init(tc, m) do super
 end
        redef fun visit(n) do n.accept_property_builder(self)
        init(tc, m) do super
 end
@@ -375,7 +375,7 @@ end
 # Another pass pass visitor for syntax analysis.
 # * Check property conformance
 private class PropertyVerifierVisitor
 # Another pass pass visitor for syntax analysis.
 # * Check property conformance
 private class PropertyVerifierVisitor
-special AbsSyntaxVisitor
+       super AbsSyntaxVisitor
 
        # The signature currently build
        readable writable var _signature_builder: SignatureBuilder
 
        # The signature currently build
        readable writable var _signature_builder: SignatureBuilder
@@ -1114,7 +1114,7 @@ end
 
 # Visitor used to build a full method name from multiple tokens
 private class MethidAccumulator
 
 # Visitor used to build a full method name from multiple tokens
 private class MethidAccumulator
-special Visitor
+       super Visitor
        readable var _name: Buffer = new Buffer
        redef fun visit(n)
        do
        readable var _name: Buffer = new Buffer
        redef fun visit(n)
        do
index 2fa457a..dbe9f73 100644 (file)
@@ -174,7 +174,7 @@ end
 # labeled 'do' uses the BreakOnlyEscapableBlock subclass
 # closures uses the EscapableClosure subclass
 class EscapableBlock
 # labeled 'do' uses the BreakOnlyEscapableBlock subclass
 # closures uses the EscapableClosure subclass
 class EscapableBlock
-special ScopeBlock
+       super ScopeBlock
        # The label of the block (if any)
        # Set by the push in EscapableContext
        readable var _lab: nullable Symbol
        # The label of the block (if any)
        # Set by the push in EscapableContext
        readable var _lab: nullable Symbol
@@ -201,7 +201,7 @@ end
 
 # specific EscapableBlock where only labelled break can be used
 class BreakOnlyEscapableBlock
 
 # specific EscapableBlock where only labelled break can be used
 class BreakOnlyEscapableBlock
-special EscapableBlock
+       super EscapableBlock
        redef fun is_break_block: Bool do return true
 
        init(node: ANode) do super
        redef fun is_break_block: Bool do return true
 
        init(node: ANode) do super
@@ -209,7 +209,7 @@ end
 
 # specific EscapableBlock for closures
 class EscapableClosure
 
 # specific EscapableBlock for closures
 class EscapableClosure
-special EscapableBlock
+       super EscapableBlock
        # The associated closure
        readable var _closure: MMClosure
 
        # The associated closure
        readable var _closure: MMClosure
 
@@ -230,7 +230,7 @@ end
 ###############################################################################
 
 class AEscapeExpr
 ###############################################################################
 
 class AEscapeExpr
-special ALabelable
+       super ALabelable
        # The associated escapable block
        readable var _escapable: nullable EscapableBlock
 
        # The associated escapable block
        readable var _escapable: nullable EscapableBlock
 
@@ -256,12 +256,12 @@ special ALabelable
 end
 
 redef class AContinueExpr
 end
 
 redef class AContinueExpr
-special AEscapeExpr
+       super AEscapeExpr
        redef fun kwname do return "continue"
 end
 
 redef class ABreakExpr
        redef fun kwname do return "continue"
 end
 
 redef class ABreakExpr
-special AEscapeExpr
+       super AEscapeExpr
        redef fun kwname do return "break"
 end
 
        redef fun kwname do return "break"
 end
 
index b597a9c..a4cbaf0 100644 (file)
@@ -25,7 +25,7 @@ import icode_generation
 
 # Loader of nit source files
 class SrcModuleLoader
 
 # Loader of nit source files
 class SrcModuleLoader
-special ModuleLoader
+       super ModuleLoader
        redef type MODULE: MMSrcModule
 
        redef fun file_type do return "nit"
        redef type MODULE: MMSrcModule
 
        redef fun file_type do return "nit"
index 68f8fa2..d7d4a7c 100644 (file)
@@ -22,7 +22,7 @@ import mmloader
 
 # Concrete NIT source module
 class MMSrcModule
 
 # Concrete NIT source module
 class MMSrcModule
-special MMModule
+       super MMModule
        # A source module can locate AST nodes of related MM entities
        # Once a source module AST is no more needed, _nodes is set to null
        # See ToolContext::keep_ast property in syntax.nit for details
        # A source module can locate AST nodes of related MM entities
        # Once a source module AST is no more needed, _nodes is set to null
        # See ToolContext::keep_ast property in syntax.nit for details
@@ -83,7 +83,7 @@ end
 
 # Concrete NIT source local classes
 class MMSrcLocalClass
 
 # Concrete NIT source local classes
 class MMSrcLocalClass
-special MMConcreteClass
+       super MMConcreteClass
        # The first related AST node (if any)
        fun node: nullable AClassdef do return mmmodule.nodes(self).as(nullable AClassdef)
 
        # The first related AST node (if any)
        fun node: nullable AClassdef do return mmmodule.nodes(self).as(nullable AClassdef)
 
@@ -134,7 +134,7 @@ end
 
 # Concrete NIT source attribute
 class MMSrcAttribute
 
 # Concrete NIT source attribute
 class MMSrcAttribute
-special MMAttribute
+       super MMAttribute
        redef fun node: nullable AAttrPropdef do return mmmodule.nodes(self).as(nullable AAttrPropdef)
        init(name: Symbol, cla: MMLocalClass, n: AAttrPropdef)
        do
        redef fun node: nullable AAttrPropdef do return mmmodule.nodes(self).as(nullable AAttrPropdef)
        init(name: Symbol, cla: MMLocalClass, n: AAttrPropdef)
        do
@@ -145,7 +145,7 @@ end
 
 # Concrete NIT source method
 class MMSrcMethod
 
 # Concrete NIT source method
 class MMSrcMethod
-special MMMethod
+       super MMMethod
        redef fun is_intern do return false
        redef fun is_abstract do return false
        redef fun extern_name do return null
        redef fun is_intern do return false
        redef fun is_abstract do return false
        redef fun extern_name do return null
@@ -153,7 +153,7 @@ end
 
 # Concrete NIT source method for an automatic accesor
 class MMAttrImplementationMethod
 
 # Concrete NIT source method for an automatic accesor
 class MMAttrImplementationMethod
-special MMSrcMethod
+       super MMSrcMethod
        redef fun node: nullable AAttrPropdef do return mmmodule.nodes(self).as(nullable AAttrPropdef)
        init(name: Symbol, cla: MMLocalClass, n: AAttrPropdef)
        do
        redef fun node: nullable AAttrPropdef do return mmmodule.nodes(self).as(nullable AAttrPropdef)
        init(name: Symbol, cla: MMLocalClass, n: AAttrPropdef)
        do
@@ -164,7 +164,7 @@ end
 
 # Concrete NIT source method for an automatic read accesor
 class MMReadImplementationMethod
 
 # Concrete NIT source method for an automatic read accesor
 class MMReadImplementationMethod
-special MMAttrImplementationMethod
+       super MMAttrImplementationMethod
        init(name: Symbol, cla: MMLocalClass, n: AAttrPropdef)
        do
                super(name, cla, n)
        init(name: Symbol, cla: MMLocalClass, n: AAttrPropdef)
        do
                super(name, cla, n)
@@ -173,7 +173,7 @@ end
 
 # Concrete NIT source method for an automatic write accesor
 class MMWriteImplementationMethod
 
 # Concrete NIT source method for an automatic write accesor
 class MMWriteImplementationMethod
-special MMAttrImplementationMethod
+       super MMAttrImplementationMethod
        init(name: Symbol, cla: MMLocalClass, n: AAttrPropdef)
        do
                super(name, cla, n)
        init(name: Symbol, cla: MMLocalClass, n: AAttrPropdef)
        do
                super(name, cla, n)
@@ -182,7 +182,7 @@ end
 
 # Concrete NIT source method for an explicit method
 class MMMethSrcMethod
 
 # Concrete NIT source method for an explicit method
 class MMMethSrcMethod
-special MMSrcMethod
+       super MMSrcMethod
        redef readable var _is_init: Bool
        redef readable var _is_intern: Bool
        redef readable var _is_abstract: Bool
        redef readable var _is_init: Bool
        redef readable var _is_intern: Bool
        redef readable var _is_abstract: Bool
@@ -201,8 +201,8 @@ end
 
 # Concrete NIT source virtual type
 class MMSrcTypeProperty
 
 # Concrete NIT source virtual type
 class MMSrcTypeProperty
-special MMLocalProperty
-special MMTypeProperty
+       super MMLocalProperty
+       super MMTypeProperty
        init(name: Symbol, cla: MMLocalClass, n: ATypePropdef)
        do
                super(name, cla)
        init(name: Symbol, cla: MMLocalClass, n: ATypePropdef)
        do
                super(name, cla)
@@ -211,7 +211,7 @@ end
 
 # Concrete NIT implicit constructor
 class MMImplicitInit
 
 # Concrete NIT implicit constructor
 class MMImplicitInit
-special MMMethSrcMethod
+       super MMMethSrcMethod
        fun super_init: nullable MMLocalProperty is abstract
        redef fun is_init do return true
        readable var _unassigned_attributes: Array[MMSrcAttribute]
        fun super_init: nullable MMLocalProperty is abstract
        redef fun is_init do return true
        readable var _unassigned_attributes: Array[MMSrcAttribute]
@@ -248,21 +248,21 @@ end
 
 # Variable declared with 'var'
 class VarVariable
 
 # Variable declared with 'var'
 class VarVariable
-special Variable
+       super Variable
        redef fun kind do return once "variable"
        init(n: Symbol, d: ANode) do super
 end
 
 # Parameter of method (declared in signature)
 class ParamVariable
        redef fun kind do return once "variable"
        init(n: Symbol, d: ANode) do super
 end
 
 # Parameter of method (declared in signature)
 class ParamVariable
-special Variable
+       super Variable
        redef fun kind do return once "parameter"
        init(n: Symbol, d: nullable ANode) do super
 end
 
 # Automatic variable (like in the 'for' statement)
 class AutoVariable
        redef fun kind do return once "parameter"
        init(n: Symbol, d: nullable ANode) do super
 end
 
 # Automatic variable (like in the 'for' statement)
 class AutoVariable
-special Variable
+       super Variable
        redef fun kind do return once "automatic variable"
        init(n: Symbol, d: ANode) do super
 end
        redef fun kind do return once "automatic variable"
        init(n: Symbol, d: ANode) do super
 end
@@ -270,7 +270,7 @@ end
 # False variable corresponding to closures declared in signatures
 # Lives in the same namespace than variables
 class ClosureVariable
 # False variable corresponding to closures declared in signatures
 # Lives in the same namespace than variables
 class ClosureVariable
-special Variable
+       super Variable
        redef fun kind do return once "closure"
 
        # The signature of the closure
        redef fun kind do return once "closure"
 
        # The signature of the closure
@@ -287,7 +287,7 @@ end
 
 # Visitor used during the syntax analysis
 class AbsSyntaxVisitor
 
 # Visitor used during the syntax analysis
 class AbsSyntaxVisitor
-special Visitor
+       super Visitor
        fun get_type_by_name(clsname: Symbol): MMType
        do
                if not _mmmodule.has_global_class_named(clsname) then _tc.fatal_error(_mmmodule.location, "Missing necessary class: \"{clsname}\"")
        fun get_type_by_name(clsname: Symbol): MMType
        do
                if not _mmmodule.has_global_class_named(clsname) then _tc.fatal_error(_mmmodule.location, "Missing necessary class: \"{clsname}\"")
@@ -737,7 +737,7 @@ redef class AExpr
 end
 
 class AAbsAbsSendExpr
 end
 
 class AAbsAbsSendExpr
-special AExpr
+       super AExpr
        # The signature of the called property (require is_typed)
        fun prop_signature: MMSignature is abstract
 
        # The signature of the called property (require is_typed)
        fun prop_signature: MMSignature is abstract
 
@@ -746,7 +746,7 @@ special AExpr
 end
 
 class AAbsSendExpr
 end
 
 class AAbsSendExpr
-special AAbsAbsSendExpr
+       super AAbsAbsSendExpr
        # The invoked method (require is_typed)
        fun prop: MMMethod is abstract
 
        # The invoked method (require is_typed)
        fun prop: MMMethod is abstract
 
@@ -755,20 +755,20 @@ special AAbsAbsSendExpr
 end
 
 class ASuperInitCall
 end
 
 class ASuperInitCall
-special AAbsSendExpr
+       super AAbsSendExpr
 end
 
 redef class ASuperExpr
 end
 
 redef class ASuperExpr
-special ASuperInitCall
+       super ASuperInitCall
        fun init_in_superclass: nullable MMMethod is abstract
 end
 
 redef class ANewExpr
        fun init_in_superclass: nullable MMMethod is abstract
 end
 
 redef class ANewExpr
-special AAbsSendExpr
+       super AAbsSendExpr
 end
 
 redef class ASendExpr
 end
 
 redef class ASendExpr
-special ASuperInitCall
+       super ASuperInitCall
        # Closure definitions
        fun closure_defs: nullable Array[AClosureDef] is abstract
 end
        # Closure definitions
        fun closure_defs: nullable Array[AClosureDef] is abstract
 end
@@ -779,19 +779,19 @@ redef class AReassignFormExpr
 end
 
 class ASendReassignExpr
 end
 
 class ASendReassignExpr
-special ASendExpr
-special AReassignFormExpr
+       super ASendExpr
+       super AReassignFormExpr
        # The invoked method used to read (require is_typed)
        # prop is the method used to write
        fun read_prop: MMMethod is abstract
 end
 
 redef class ACallReassignExpr
        # The invoked method used to read (require is_typed)
        # prop is the method used to write
        fun read_prop: MMMethod is abstract
 end
 
 redef class ACallReassignExpr
-special ASendReassignExpr
+       super ASendReassignExpr
 end
 
 redef class ABraReassignExpr
 end
 
 redef class ABraReassignExpr
-special ASendReassignExpr
+       super ASendReassignExpr
 end
 
 redef class AAttrFormExpr
 end
 
 redef class AAttrFormExpr
@@ -828,7 +828,7 @@ redef class AVarFormExpr
 end
 
 redef class AClosureCallExpr
 end
 
 redef class AClosureCallExpr
-special AAbsAbsSendExpr
+       super AAbsAbsSendExpr
        # Associated closure variable
        fun variable: ClosureVariable is abstract
 end
        # Associated closure variable
        fun variable: ClosureVariable is abstract
 end
index 2382bde..379c7f0 100644 (file)
@@ -37,7 +37,7 @@ end
 # * Resolve call and attribute access
 # * Check type conformance
 private class TypingVisitor
 # * Resolve call and attribute access
 # * Check type conformance
 private class TypingVisitor
-special AbsSyntaxVisitor
+       super AbsSyntaxVisitor
        redef fun visit(n)
        do
                if n != null then n.accept_typing(self)
        redef fun visit(n)
        do
                if n != null then n.accept_typing(self)
@@ -503,7 +503,7 @@ end
 
 # An abstract control structure with feature escapable block
 class AAbsControl
 
 # An abstract control structure with feature escapable block
 class AAbsControl
-special AExpr
+       super AExpr
        # The corresponding escapable block
        readable var _escapable: nullable EscapableBlock
 
        # The corresponding escapable block
        readable var _escapable: nullable EscapableBlock
 
@@ -545,7 +545,7 @@ special AExpr
 end
 
 redef class ADoExpr
 end
 
 redef class ADoExpr
-special AAbsControl
+       super AAbsControl
        redef fun accept_typing(v)
        do
                process_control(v, new BreakOnlyEscapableBlock(self), n_label, false)
        redef fun accept_typing(v)
        do
                process_control(v, new BreakOnlyEscapableBlock(self), n_label, false)
@@ -587,7 +587,7 @@ redef class AIfExpr
 end
 
 redef class AWhileExpr
 end
 
 redef class AWhileExpr
-special AAbsControl
+       super AAbsControl
        redef fun accept_typing(v)
        do
                process_control(v, new EscapableBlock(self), n_label, true)
        redef fun accept_typing(v)
        do
                process_control(v, new EscapableBlock(self), n_label, true)
@@ -619,7 +619,7 @@ special AAbsControl
 end
 
 redef class ALoopExpr
 end
 
 redef class ALoopExpr
-special AAbsControl
+       super AAbsControl
        redef fun accept_typing(v)
        do
                process_control(v, new EscapableBlock(self), n_label, true)
        redef fun accept_typing(v)
        do
                process_control(v, new EscapableBlock(self), n_label, true)
@@ -636,7 +636,7 @@ special AAbsControl
 end
 
 redef class AForExpr
 end
 
 redef class AForExpr
-special AAbsControl
+       super AAbsControl
        var _variable: nullable AutoVariable
        redef fun variable do return _variable.as(not null)
 
        var _variable: nullable AutoVariable
        redef fun variable do return _variable.as(not null)
 
@@ -1822,7 +1822,7 @@ redef class AClosureDef
 end
 
 class ATypeCheckExpr
 end
 
 class ATypeCheckExpr
-special AExpr
+       super AExpr
        private fun check_expr_cast(v: TypingVisitor, n_expr: AExpr, n_type: AType)
        do
                if not v.check_expr(n_expr) then return
        private fun check_expr_cast(v: TypingVisitor, n_expr: AExpr, n_type: AType)
        do
                if not v.check_expr(n_expr) then return
@@ -1853,7 +1853,7 @@ special AExpr
 end
 
 redef class AIsaExpr
 end
 
 redef class AIsaExpr
-special ATypeCheckExpr
+       super ATypeCheckExpr
        redef fun after_typing(v)
        do
                check_expr_cast(v, n_expr, n_type)
        redef fun after_typing(v)
        do
                check_expr_cast(v, n_expr, n_type)
@@ -1868,7 +1868,7 @@ special ATypeCheckExpr
 end
 
 redef class AAsCastExpr
 end
 
 redef class AAsCastExpr
-special ATypeCheckExpr
+       super ATypeCheckExpr
        redef fun after_typing(v)
        do
                check_expr_cast(v, n_expr, n_type)
        redef fun after_typing(v)
        do
                check_expr_cast(v, n_expr, n_type)
index d1637fa..d383482 100644 (file)
@@ -21,7 +21,7 @@ class O
 end
 
 class A
 end
 
 class A
-special O
+       super O
        init do end
 end
 
        init do end
 end
 
@@ -30,8 +30,8 @@ class U
 end
 
 class B
 end
 
 class B
-special A
-special U
+       super A
+       super U
        redef fun output do 2.output
        init do end
 end
        redef fun output do 2.output
        init do end
 end
index eaeb85c..5ab6412 100644 (file)
@@ -23,7 +23,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
 end
 
 fun outa(a: A) do a.output
 end
 
 fun outa(a: A) do a.output
index 779e4bd..e57746c 100644 (file)
@@ -21,7 +21,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        fun bar do 2.output
 end
 
        fun bar do 2.output
 end
 
index bb60484..5c81c2b 100644 (file)
@@ -40,7 +40,7 @@ class Foo
 end
 
 class Bar
 end
 
 class Bar
-special Foo
+       super Foo
        var _a3: Int
        redef fun run
        do
        var _a3: Int
        redef fun run
        do
index 8961423..d6b567b 100644 (file)
@@ -15,7 +15,7 @@
 import base_attr2
 
 class B
 import base_attr2
 
 class B
-special A
+       super A
        fun foo_b(a: A)
        do
                a1.output
        fun foo_b(a: A)
        do
                a1.output
index 7511824..f7bf6a7 100644 (file)
@@ -22,14 +22,14 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        redef var foo: Int = 20
        var bar: Int redef writable = 30
        redef var baz: Int redef writable = 40
 end
 
 class C
        redef var foo: Int = 20
        var bar: Int redef writable = 30
        redef var baz: Int redef writable = 40
 end
 
 class C
-special B
+       super B
        redef fun foo: Int do return 100
        redef fun bar=(i: Int) do i.output
        redef fun baz: Int do return 400
        redef fun foo: Int do return 100
        redef fun bar=(i: Int) do i.output
        redef fun baz: Int do return 400
index c20f718..cc918bd 100644 (file)
@@ -30,7 +30,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        #alt1#var foo: Int = 10
        #alt2#redef var foo: Int = 10
        #alt3#var foo: Int writable = 10
        #alt1#var foo: Int = 10
        #alt2#redef var foo: Int = 10
        #alt3#var foo: Int writable = 10
index 3945095..a83f792 100644 (file)
@@ -22,7 +22,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        redef fun foo: Int do return super + 10
        redef fun bar=(i: Int)
        do
        redef fun foo: Int do return super + 10
        redef fun bar=(i: Int)
        do
index 693fe5d..1b7474d 100644 (file)
@@ -40,7 +40,7 @@ class Foo
 end
 
 class Bar
 end
 
 class Bar
-special Foo
+       super Foo
        readable writable var _a3: Int 
        redef fun run
        do
        readable writable var _a3: Int 
        redef fun run
        do
index 9df6bab..bc5ab98 100644 (file)
@@ -63,7 +63,7 @@ class Foo
 end
 
 class Bar
 end
 
 class Bar
-special Foo
+       super Foo
        var _a3: Integer#!alt1# #!alt2#
        #alt1#var _a3: Integer = new Integer(9000)
        #alt2#var _a3: nullable Integer
        var _a3: Integer#!alt1# #!alt2#
        #alt1#var _a3: Integer = new Integer(9000)
        #alt2#var _a3: nullable Integer
@@ -94,7 +94,7 @@ special Foo
 end
 
 class Baz
 end
 
 class Baz
-special Foo
+       super Foo
 end
 
 #alt4# var b2 = new Baz
 end
 
 #alt4# var b2 = new Baz
index b662cad..3e2c6f0 100644 (file)
@@ -57,7 +57,7 @@ class Foo
 end
 
 class Bar
 end
 
 class Bar
-special Foo
+       super Foo
        var _a3: Integer
        redef fun run
        do
        var _a3: Integer
        redef fun run
        do
index e1de585..8e10a92 100644 (file)
@@ -51,7 +51,7 @@ class Foo
 end
 
 class Bar
 end
 
 class Bar
-special Foo
+       super Foo
        var _a3: Int
        redef fun run
        do
        var _a3: Int
        redef fun run
        do
index e98e34e..df23c80 100644 (file)
@@ -21,7 +21,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        fun unreasheable
        do
                var a: A
        fun unreasheable
        do
                var a: A
@@ -32,7 +32,7 @@ special A
 end
 
 class C
 end
 
 class C
-special A
+       super A
        init do end
 end
 
        init do end
 end
 
index 0d962ec..f9ecb67 100644 (file)
@@ -28,16 +28,16 @@ class T
 end
 
 class U
 end
 
 class U
-special T
+       super T
 end
 
 class V
 end
 
 class V
-special T
+       super T
 end
 
 class W
 end
 
 class W
-special U
-special V
+       super U
+       super V
 end
 
 fun maybe: Bool do return true
 end
 
 fun maybe: Bool do return true
index 325f3ed..1bed473 100644 (file)
@@ -17,7 +17,7 @@
 import base_closure2
 
 class B
 import base_closure2
 
 class B
-special A
+       super A
        redef fun foo
                !bar(i: Int) #!alt13# #!alt14# #!alt15#
                #alt13# !bar
        redef fun foo
                !bar(i: Int) #!alt13# #!alt14# #!alt15#
                #alt13# !bar
index 5ec38e5..8c738bb 100644 (file)
@@ -26,7 +26,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        redef fun ==(a: nullable Object): Bool
        do
                if not a isa B then
        redef fun ==(a: nullable Object): Bool
        do
                if not a isa B then
index 454c6e4..2fb2485 100644 (file)
@@ -33,7 +33,7 @@ class Int
 end
 
 class B
 end
 
 class B
-special A
+       super A
        redef fun i_to_s(i: Int)
        do
                (i+1).output
        redef fun i_to_s(i: Int)
        do
                (i+1).output
index 66ca5c6..5d5cb4b 100644 (file)
@@ -25,7 +25,7 @@ class G[E: G[E]]
 end
 
 class G1
 end
 
 class G1
-special G[G1]
+       super G[G1]
        redef fun foo
        do
                1.output
        redef fun foo
        do
                1.output
@@ -35,7 +35,7 @@ special G[G1]
 end
 
 class G2
 end
 
 class G2
-special G[G2]
+       super G[G2]
        redef fun foo
        do
                2.output
        redef fun foo
        do
                2.output
index f67f2c1..f9bee31 100644 (file)
@@ -23,7 +23,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        init(s: Char) do
                'B'.output
                '['.output
        init(s: Char) do
                'B'.output
                '['.output
@@ -34,7 +34,7 @@ special A
 end
 
 class C
 end
 
 class C
-special B
+       super B
        init(s) do
                'C'.output
                '['.output
        init(s) do
                'C'.output
                '['.output
@@ -44,7 +44,7 @@ special B
 end
 
 class D
 end
 
 class D
-special C
+       super C
        init(s) do super
 end
 
        init(s) do super
 end
 
index b6738e7..9c608b3 100644 (file)
@@ -20,7 +20,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        init cb
        do
                'B'.output
        init cb
        do
                'B'.output
@@ -37,7 +37,7 @@ special A
 end
 
 class C
 end
 
 class C
-special B
+       super B
        init cc
        do
                'C'.output
        init cc
        do
                'C'.output
@@ -54,7 +54,7 @@ special B
 end
 
 class M
 end
 
 class M
-special A
+       super A
        redef fun foo
        do
                'm'.output
        redef fun foo
        do
                'm'.output
@@ -63,8 +63,8 @@ special A
 end
 
 class N
 end
 
 class N
-special B
-special M
+       super B
+       super M
        redef fun foo
        do
                'n'.output
        redef fun foo
        do
                'n'.output
@@ -73,8 +73,8 @@ special M
 end
 
 class O
 end
 
 class O
-special N
-special C
+       super N
+       super C
        init co
        do
                'O'.output
        init co
        do
                'O'.output
index d8e1fcf..0ba0516 100644 (file)
@@ -14,7 +14,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
 #alt1# init cb
 #alt1# do
 #alt1#         'B'.output
 #alt1# init cb
 #alt1# do
 #alt1#         'B'.output
@@ -39,7 +39,7 @@ special A
 end
 
 class C
 end
 
 class C
-special A
+       super A
 #alt2# init cc
 #alt2# do
 #alt2#         'C'.output
 #alt2# init cc
 #alt2# do
 #alt2#         'C'.output
@@ -64,7 +64,7 @@ special A
 end
 
 class M
 end
 
 class M
-special C
+       super C
        redef fun foo
        do
                'm'.output
        redef fun foo
        do
                'm'.output
@@ -73,8 +73,8 @@ special C
 end
 
 class N
 end
 
 class N
-special B
-special M
+       super B
+       super M
        redef fun foo
        do
                'n'.output
        redef fun foo
        do
                'n'.output
index 1240768..516361b 100644 (file)
@@ -14,7 +14,7 @@ class A
 end
 
 class M
 end
 
 class M
-special A
+       super A
        redef fun foo
        do
                'm'.output
        redef fun foo
        do
                'm'.output
@@ -23,7 +23,7 @@ special A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        init cb
        do
                'B'.output
        init cb
        do
                'B'.output
@@ -40,7 +40,7 @@ special A
 end
 
 class N
 end
 
 class N
-special A
+       super A
        redef fun foo
        do
                'n'.output
        redef fun foo
        do
                'n'.output
@@ -49,8 +49,8 @@ special A
 end
 
 class O
 end
 
 class O
-special M
-special B
+       super M
+       super B
        redef fun foo
        do
                'o'.output
        redef fun foo
        do
                'o'.output
@@ -59,8 +59,8 @@ special B
 end
 
 class P
 end
 
 class P
-special B
-special N
+       super B
+       super N
        redef fun foo
        do
                'p'.output
        redef fun foo
        do
                'p'.output
@@ -69,18 +69,19 @@ special N
 end
 
 class Q
 end
 
 class Q
-#alt0#special M
-#alt0#special B
-#alt0#special N
+       #alt0#super M
+       #alt0#super B
+       #alt0#super N
 
 
-#alt1#special O
-#alt1#special N
+       #alt1#super O
+       #alt1#super N
 
 
-#alt2#special M
-#alt2#special P
+       #alt2#super M
+       #alt2#super P
        
        
-#alt3#special O
-#alt3#special P
+       #alt3#super O
+       #alt3#super P
+
        redef fun foo
        do
                'q'.output
        redef fun foo
        do
                'q'.output
index 1fe6773..1ac2f5e 100644 (file)
@@ -39,8 +39,8 @@ interface N
 end
 
 class O
 end
 
 class O
-special M
-special B
+       super M
+       super B
        redef fun foo
        do
                'o'.output
        redef fun foo
        do
                'o'.output
@@ -49,8 +49,8 @@ special B
 end
 
 class P
 end
 
 class P
-special B
-special N
+       super B
+       super N
        redef fun foo
        do
                'p'.output
        redef fun foo
        do
                'p'.output
@@ -59,18 +59,18 @@ special N
 end
 
 class Q
 end
 
 class Q
-#alt0#special M
-#alt0#special B
-#alt0#special N
+       #alt0#super M
+       #alt0#super B
+       #alt0#super N
 
 
-#alt1#special O
-#alt1#special N
+       #alt1#super O
+       #alt1#super N
 
 
-#alt2#special M
-#alt2#special P
+       #alt2#super M
+       #alt2#super P
        
        
-#alt3#special O
-#alt3#special P
+       #alt3#super O
+       #alt3#super P
        redef fun foo
        do
                'q'.output
        redef fun foo
        do
                'q'.output
index 82f83b2..ef894f9 100644 (file)
@@ -15,7 +15,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        init cb(a, b: Char)
        do
                'B'.output
        init cb(a, b: Char)
        do
                'B'.output
@@ -33,7 +33,7 @@ special A
 end
 
 class C
 end
 
 class C
-special B
+       super B
        init cc(a,b,c: Char)
        do
                'C'.output
        init cc(a,b,c: Char)
        do
                'C'.output
@@ -51,7 +51,7 @@ special B
 end
 
 class M
 end
 
 class M
-special A
+       super A
        redef fun foo
        do
                'm'.output
        redef fun foo
        do
                'm'.output
@@ -60,8 +60,8 @@ special A
 end
 
 class N
 end
 
 class N
-special B
-special M
+       super B
+       super M
        redef fun foo
        do
                'n'.output
        redef fun foo
        do
                'n'.output
@@ -70,8 +70,8 @@ special M
 end
 
 class O
 end
 
 class O
-special N
-special C
+       super N
+       super C
        init co(a,b,c,o: Char)
        do
                'O'.output
        init co(a,b,c,o: Char)
        do
                'O'.output
index 51460df..ac93fb4 100644 (file)
@@ -26,7 +26,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        init do
                'B'.output
                '1'.output
        init do
                'B'.output
                '1'.output
@@ -40,7 +40,7 @@ special A
 end
 
 class C
 end
 
 class C
-special A
+       super A
        init do
                'C'.output
                '1'.output
        init do
                'C'.output
                '1'.output
@@ -54,8 +54,8 @@ special A
 end
 
 class D
 end
 
 class D
-special B
-special C
+       super B
+       super C
        init do
                'D'.output
                '0'.output
        init do
                'D'.output
                '0'.output
index ae301ec..2ecfb60 100644 (file)
@@ -37,7 +37,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        init initb do
                'B'.output
                '1'.output
        init initb do
                'B'.output
                '1'.output
@@ -63,7 +63,7 @@ special A
 end
 
 class C
 end
 
 class C
-special A
+       super A
        init do
                'C'.output
                '1'.output
        init do
                'C'.output
                '1'.output
@@ -94,8 +94,8 @@ special A
 end
 
 class D
 end
 
 class D
-special B
-special C
+       super B
+       super C
        init initd do
 #alt1#         super
                'D'.output
        init initd do
 #alt1#         super
                'D'.output
index 2872514..1ebe670 100644 (file)
@@ -7,7 +7,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        #alt1#redef init do '1'.output
        init do '1'.output #!alt1#
        #alt1#redef init init2 do '2'.output
        #alt1#redef init do '1'.output
        init do '1'.output #!alt1#
        #alt1#redef init init2 do '2'.output
index 1e85bb6..e684f95 100644 (file)
@@ -22,13 +22,13 @@ interface Inline__
 end
 
 class A
 end
 
 class A
-special Inline__
+       super Inline__
        redef fun bar do return 20
        fun baz do 3.output
 end
 
 class B
        redef fun bar do return 20
        fun baz do 3.output
 end
 
 class B
-special A
+       super A
        redef fun foo do 100.output
        redef fun bar do return 200
        redef fun baz do 300.output
        redef fun foo do 100.output
        redef fun bar do return 200
        redef fun baz do 300.output
index 645fa8c..0d03612 100644 (file)
@@ -35,7 +35,7 @@ interface Inline__
 end
 
 class A
 end
 
 class A
-special Inline__
+       super Inline__
 end
 
 var a: A = new A
 end
 
 var a: A = new A
index 31ef7b9..6d64fda 100644 (file)
@@ -35,7 +35,7 @@ interface Inline__
 end
 
 class A
 end
 
 class A
-special Inline__
+       super Inline__
 end
 
 var a: A = new A
 end
 
 var a: A = new A
index 351dedc..b6778dc 100644 (file)
@@ -35,7 +35,7 @@ interface Inline__
 end
 
 class A
 end
 
 class A
-special Inline__
+       super Inline__
 end
 
 fun test1
 end
 
 fun test1
index f25b454..44867dd 100644 (file)
@@ -23,7 +23,7 @@ interface Inline__
 end
 
 class A
 end
 
 class A
-special Inline__
+       super Inline__
        redef fun bar do return 20
        redef fun baz do bar.output
 end
        redef fun bar do return 20
        redef fun baz do bar.output
 end
index ef70646..c94e692 100644 (file)
@@ -36,7 +36,7 @@ interface Inline__
 end
 
 class A
 end
 
 class A
-special Inline__
+       super Inline__
        redef fun foo(i: Int)
        do
                'A'.output
        redef fun foo(i: Int)
        do
                'A'.output
index 32861e2..6f7f087 100644 (file)
@@ -20,7 +20,7 @@ class O
 end
 
 class A
 end
 
 class A
-special O
+       super O
        init do end
 end
 
        init do end
 end
 
@@ -28,8 +28,8 @@ class U
 end
 
 class B
 end
 
 class B
-special A
-special U
+       super A
+       super U
        init do end
 end
 
        init do end
 end
 
index 816cb39..e88a015 100644 (file)
@@ -20,12 +20,12 @@ class A
        init do end
 end
 class B
        init do end
 end
 class B
-special A
+       super A
        fun foo do 0.output
        init do end
 end
 class C
        fun foo do 0.output
        init do end
 end
 class C
-special B
+       super B
        fun bar do 1.output
        init do end
 end
        fun bar do 1.output
        init do end
 end
index 1551ac3..782277e 100644 (file)
@@ -21,7 +21,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        fun foo(i: Int) do i.output
        init do end
 end
        fun foo(i: Int) do i.output
        init do end
 end
index 533ad77..f50fa77 100644 (file)
@@ -20,7 +20,7 @@ class A
        init do end
 end
 class B
        init do end
 end
 class B
-special A
+       super A
        fun foo(i: Int) do i.output
        fun bar: Bool do return true
        init do end
        fun foo(i: Int) do i.output
        fun bar: Bool do return true
        init do end
index ebc1a27..65ae3d6 100644 (file)
@@ -21,7 +21,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        fun foo(i: Int) do i.output
        init do end
 end
        fun foo(i: Int) do i.output
        init do end
 end
index c251d40..1afcd14 100644 (file)
@@ -47,13 +47,13 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        fun foo do 0.output
        init do end
 end
 
 class C
        fun foo do 0.output
        init do end
 end
 
 class C
-special B
+       super B
        fun bar do 1.output
        init do end
 end
        fun bar do 1.output
        init do end
 end
index 8b64c56..3b0df84 100644 (file)
@@ -44,7 +44,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        redef fun bar(i: Int)
        do
                (i*100).output
        redef fun bar(i: Int)
        do
                (i*100).output
index 15226d8..4611f85 100644 (file)
@@ -17,7 +17,7 @@
 private import base_prot
 
 class A2
 private import base_prot
 
 class A2
-special A
+       super A
        fun o
        do
                pub
        fun o
        do
                pub
index 9770c24..76a24c1 100644 (file)
@@ -26,7 +26,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        redef fun f0 do 0.output
        redef fun f1(a: Int, b: Int) do (a+b).output
        redef fun f2(a,b) do (a+b).output
        redef fun f0 do 0.output
        redef fun f1(a: Int, b: Int) do (a+b).output
        redef fun f2(a,b) do (a+b).output
index eca7e08..a8a645f 100644 (file)
@@ -40,7 +40,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        redef fun bar(i: Int)
        do
                i.output
        redef fun bar(i: Int)
        do
                i.output
index 9796cff..3c4c556 100644 (file)
@@ -44,7 +44,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        redef fun bar(i: Int)
        do
                i.output
        redef fun bar(i: Int)
        do
                i.output
index b6bea33..ed1d84f 100644 (file)
@@ -29,7 +29,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        redef fun foo
        do
                'B'.output
        redef fun foo
        do
                'B'.output
@@ -46,7 +46,7 @@ special A
 end
 
 class C
 end
 
 class C
-special A
+       super A
        redef fun foo
        do
                'C'.output
        redef fun foo
        do
                'C'.output
@@ -63,8 +63,8 @@ special A
 end
 
 class D
 end
 
 class D
-special B
-special C
+       super B
+       super C
        redef fun foo
        do
                'D'.output
        redef fun foo
        do
                'D'.output
index f62d58e..38e6caf 100644 (file)
@@ -21,12 +21,12 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        fun b do 'B'.output
 end
 
 class C
        fun b do 'B'.output
 end
 
 class C
-special A
+       super A
        fun c do 'C'.output
 end
 
        fun c do 'C'.output
 end
 
index 15012e7..6a5273e 100644 (file)
@@ -20,7 +20,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
 end
 
 fun rand: Bool do return true
 end
 
 fun rand: Bool do return true
index ec68f06..db6a045 100644 (file)
@@ -23,7 +23,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        init do end
 end
 
        init do end
 end
 
index b2fdef8..edc99cc 100644 (file)
@@ -23,7 +23,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        init do end
 end
 
        init do end
 end
 
@@ -33,7 +33,7 @@ class T
 end
 
 class U
 end
 
 class U
-special T
+       super T
        redef fun foo do 1.output
        init do end
 end
        redef fun foo do 1.output
        init do end
 end
index e8df582..c2794fe 100644 (file)
@@ -18,7 +18,7 @@ import base_virtual_type2
 import array
 
 class C
 import array
 
 class C
-special A
+       super A
        readable writable var _tab: nullable Array[E]
        init do end
 end
        readable writable var _tab: nullable Array[E]
        init do end
 end
index 8d25f7c..86d2be3 100644 (file)
@@ -17,7 +17,7 @@
 import base_virtual_type2
 
 class C
 import base_virtual_type2
 
 class C
-special A
+       super A
        redef type E: U
        init do end
 end
        redef type E: U
        init do end
 end
index 214fa90..964fc39 100644 (file)
@@ -28,7 +28,7 @@ class A[E]
 end
 
 class B
 end
 
 class B
-#alt3#special A[Int]
+       #alt3#super A[Int]
        type U: Int
 
        fun test
        type U: Int
 
        fun test
index 1dac6e4..ad72cc6 100644 (file)
@@ -21,7 +21,7 @@ interface Elt
 end
 
 class A
 end
 
 class A
-special Elt
+       super Elt
        var _a: Int
        redef fun val1: Int do return _a
 
        var _a: Int
        redef fun val1: Int do return _a
 
@@ -29,7 +29,7 @@ special Elt
 end
 
 class Elt2
 end
 
 class Elt2
-special Elt
+       super Elt
        var _b: Int
        redef fun val1: Int do return _b/2
        redef fun val2: Int do return _b
        var _b: Int
        redef fun val1: Int do return _b/2
        redef fun val2: Int do return _b
@@ -37,12 +37,12 @@ special Elt
 end
 
 class B
 end
 
 class B
-special Elt2
+       super Elt2
        init(i: Int) do initelt2(i)
 end
 
 class C
        init(i: Int) do initelt2(i)
 end
 
 class C
-special Elt
+       super Elt
        var _c: Int
        var _d: Int
        redef fun val1: Int do return _c end
        var _c: Int
        var _d: Int
        redef fun val1: Int do return _c end
@@ -55,8 +55,8 @@ special Elt
 end
 
 class D
 end
 
 class D
-special A
-special Elt2
+       super A
+       super Elt2
        redef fun val1: Int do return _a end
        redef fun val2: Int do return _b end
 
        redef fun val1: Int do return _a end
        redef fun val2: Int do return _b end
 
@@ -67,14 +67,14 @@ special Elt2
 end
 
 class E
 end
 
 class E
-special Elt2
+       super Elt2
        redef fun val1: Int do return 5 end
 
        init(i: Int) do initelt2(i)
 end
 
 class EltSorter
        redef fun val1: Int do return 5 end
 
        init(i: Int) do initelt2(i)
 end
 
 class EltSorter
-special AbstractSorter[Elt]
+       super AbstractSorter[Elt]
        redef fun compare(a: Elt, b: Elt): Int
        do
                if _is_val1 then
        redef fun compare(a: Elt, b: Elt): Int
        do
                if _is_val1 then
index 6a9ade7..d4a9122 100644 (file)
@@ -23,7 +23,7 @@ class Node
 end
 
 class WakeUpNode
 end
 
 class WakeUpNode
-special Node
+       super Node
        fun wake_up is abstract
        # Wake up the node
        fun wake_up_in(d: Int)
        fun wake_up is abstract
        # Wake up the node
        fun wake_up_in(d: Int)
@@ -35,7 +35,7 @@ special Node
 end
 
 class NodeSource
 end
 
 class NodeSource
-special Node
+       super Node
        var _nexts: nullable ArraySet[NodeSink] = null
        fun attach(n: NodeSink)
        # Add the sink `n' the the connected nodes
        var _nexts: nullable ArraySet[NodeSink] = null
        fun attach(n: NodeSink)
        # Add the sink `n' the the connected nodes
@@ -70,7 +70,7 @@ special Node
 end
 
 class NodeSink
 end
 
 class NodeSink
-special Node
+       super Node
        fun recieve(n: NodeSource) is abstract
        # the `n' has emeted a signal
 end
        fun recieve(n: NodeSource) is abstract
        # the `n' has emeted a signal
 end
@@ -131,8 +131,8 @@ end
 #
 
 class BeepSource
 #
 
 class BeepSource
-special NodeSource
-special WakeUpNode
+       super NodeSource
+       super WakeUpNode
        redef fun wake_up
        do
                send
        redef fun wake_up
        do
                send
@@ -153,7 +153,7 @@ special WakeUpNode
 end
 
 class CountSink
 end
 
 class CountSink
-special NodeSink
+       super NodeSink
        readable var _count: Int = 0
        redef fun recieve(n: NodeSource)
        do
        readable var _count: Int = 0
        redef fun recieve(n: NodeSource)
        do
@@ -162,7 +162,7 @@ special NodeSink
 end
 
 class SimpleCountSink
 end
 
 class SimpleCountSink
-special CountSink
+       super CountSink
 
        init(name: String)
        do
 
        init(name: String)
        do
@@ -171,8 +171,8 @@ special CountSink
 end
 
 class NodeAlternate
 end
 
 class NodeAlternate
-special NodeSink
-special NodeSource
+       super NodeSink
+       super NodeSource
        var _last: nullable NodeSource
        redef fun recieve(n: NodeSource)
        do
        var _last: nullable NodeSource
        redef fun recieve(n: NodeSource)
        do
@@ -189,8 +189,8 @@ special NodeSource
 end
 
 class NodeEat
 end
 
 class NodeEat
-special CountSink
-special NodeSource
+       super CountSink
+       super NodeSource
        var _limit: Int
        redef fun recieve(n: NodeSource)
        do
        var _limit: Int
        redef fun recieve(n: NodeSource)
        do
@@ -211,9 +211,9 @@ special NodeSource
 end
 
 class NodeDelay
 end
 
 class NodeDelay
-special NodeSource
-special NodeSink
-special WakeUpNode
+       super NodeSource
+       super NodeSink
+       super WakeUpNode
        var _delay: Int
        redef fun recieve(n: NodeSource)
        do
        var _delay: Int
        redef fun recieve(n: NodeSource)
        do
index 2a7fa1b..dcf2d9b 100644 (file)
@@ -52,7 +52,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        redef fun val: Int
        do
                return 1
        redef fun val: Int
        do
                return 1
@@ -64,7 +64,7 @@ special A
 end
 
 class C
 end
 
 class C
-special A
+       super A
        redef fun val: Int
        do
                return 2
        redef fun val: Int
        do
                return 2
@@ -76,7 +76,7 @@ special A
 end
 
 class D
 end
 
 class D
-special A
+       super A
        redef fun val: Int
        do
                return 3
        redef fun val: Int
        do
                return 3
index cf863b8..e296465 100644 (file)
@@ -22,32 +22,32 @@ class A
        init do end
 end
 class B
        init do end
 end
 class B
-special A
+       super A
        redef fun foo do end
        init do end
 
 end
 class C
        redef fun foo do end
        init do end
 
 end
 class C
-special A
+       super A
        init do end
 
 end
 class D
        init do end
 
 end
 class D
-special B
-special C
+       super B
+       super C
        init do end
 
 end
 class E
        init do end
 
 end
 class E
-special B
-special C
+       super B
+       super C
        redef fun foo do end
        init do end
 
 end
 class F
        redef fun foo do end
        init do end
 
 end
 class F
-special D
-special E
+       super D
+       super E
        redef fun foo do end
        init do end
 
        redef fun foo do end
        init do end
 
index aae0c6b..6ea638d 100644 (file)
@@ -17,6 +17,6 @@
 import base_gen_f
 
 class G3
 import base_gen_f
 
 class G3
-special G1
-special G2
+       super G1
+       super G2
 end
 end
index b0eafbb..f9e31b5 100644 (file)
@@ -15,6 +15,6 @@
 # limitations under the License.
 
 class A
 # limitations under the License.
 
 class A
-special Array[Int]
-special Array[Char]
+       super Array[Int]
+       super Array[Char]
 end
 end
index 8c9cf1b..510e4bd 100644 (file)
@@ -18,13 +18,13 @@ class Object
 end
 
 class A
 end
 
 class A
-special B
+       super B
 end
 
 class B
 end
 
 class B
-special C
+       super C
 end
 
 class C
 end
 
 class C
-special A
+       super A
 end
 end
index 31454f1..b9b7ac8 100644 (file)
@@ -23,7 +23,7 @@ interface Discrete
 end
 
 enum Int
 end
 
 enum Int
-special Discrete
+       super Discrete
 end
 
 interface Collection[E]
 end
 
 interface Collection[E]
@@ -36,11 +36,11 @@ enum NativeString
 end
 
 class Array[E]
 end
 
 class Array[E]
-special Collection[E]
+       super Collection[E]
 end
 
 class Range[E]
 end
 
 class Range[E]
-special Collection[E]
+       super Collection[E]
 end
 
 #alt1#var a = [1, 2]
 end
 
 #alt1#var a = [1, 2]
index 8010187..e6b29d2 100644 (file)
@@ -26,6 +26,6 @@ class B
        fun toto do end
 end
 class C
        fun toto do end
 end
 class C
-special A
-special B
+       super A
+       super B
 end
 end
index 3aceac3..b74fc3c 100644 (file)
@@ -22,14 +22,14 @@ class A
        fun toto do end
 end
 class B
        fun toto do end
 end
 class B
-special A
+       super A
        redef fun toto do end
 end
 class C
        redef fun toto do end
 end
 class C
-special A
+       super A
        redef fun toto do end
 end
 class D
        redef fun toto do end
 end
 class D
-special B
-special C
+       super B
+       super C
 end
 end
index 235eef4..75feb69 100644 (file)
@@ -18,6 +18,6 @@ class A
        var _a: Int
 end
 class B
        var _a: Int
 end
 class B
-special A
+       super A
        redef var _a: Object
 end
        redef var _a: Object
 end
index c98cc5a..7a3ae87 100644 (file)
@@ -19,6 +19,6 @@ fun toto: Int do return 1 end
 end
 
 class B
 end
 
 class B
-special A
+       super A
 redef fun toto do end
 end
 redef fun toto do end
 end
index 590802a..a3615ea 100644 (file)
@@ -20,6 +20,6 @@ fun toto(i: Int) do end
 end
 
 class B
 end
 
 class B
-special A
+       super A
 redef fun toto(c: Object) do end
 end
 redef fun toto(c: Object) do end
 end
index e607091..b0d63ac 100644 (file)
@@ -20,6 +20,6 @@ fun toto(i: Int) do end
 end
 
 class B
 end
 
 class B
-special A
+       super A
 redef fun toto(c: Char) do end
 end
 redef fun toto(c: Char) do end
 end
index 5a474df..0b23aef 100644 (file)
@@ -19,6 +19,6 @@ fun toto do end
 end
 
 class B
 end
 
 class B
-special A
+       super A
 redef fun toto: Int do return 2end
 end
 redef fun toto: Int do return 2end
 end
index 313c2ce..42c1848 100644 (file)
@@ -19,6 +19,6 @@ fun toto: Int do return 1 end
 end
 
 class B
 end
 
 class B
-special A
+       super A
 redef fun toto: Char do return 'a' end
 end
 redef fun toto: Char do return 'a' end
 end
index 16cbee2..cfe5302 100644 (file)
@@ -18,6 +18,6 @@
 #alt1#end
 
 class A
 #alt1#end
 
 class A
-special Fail
+       super Fail
 end
 
 end
 
index 3aad87b..4e49e03 100644 (file)
@@ -18,6 +18,6 @@
 #alt1#end
 
 class B
 #alt1#end
 
 class B
-special Array[Fail]
+       super Array[Fail]
 end
 
 end
 
index 9380c88..3b3744d 100644 (file)
@@ -29,7 +29,7 @@ private
 end
 
 class OneBottle
 end
 
 class OneBottle
-special Bottle
+       super Bottle
        redef fun sing
        do
                sing_start
        redef fun sing
        do
                sing_start
@@ -45,7 +45,7 @@ special Bottle
 end
 
 class TwoBottles
 end
 
 class TwoBottles
-special Bottle
+       super Bottle
        redef fun sing
        do
                sing_start
        redef fun sing
        do
                sing_start
@@ -61,7 +61,7 @@ special Bottle
 end
 
 class Bottles
 end
 
 class Bottles
-special Bottle
+       super Bottle
 
        redef fun sing
        do
 
        redef fun sing
        do
index ac72c4e..1bcc313 100644 (file)
@@ -305,7 +305,7 @@ private
 end
 
 class RayonNormal
 end
 
 class RayonNormal
-special Rayon
+       super Rayon
 
        init(r: String)
        do
 
        init(r: String)
        do
@@ -317,7 +317,7 @@ end
 class RayonFroid
 # Les super-classes sont déclarés avec le mot clé "special".
 # Implicitement, c'est "Object", la classe de tous les objets.
 class RayonFroid
 # Les super-classes sont déclarés avec le mot clé "special".
 # Implicitement, c'est "Object", la classe de tous les objets.
-special Rayon
+       super Rayon
 
 # Tant qu'on parle d'implicite, en l'absence de bloc de propriétés,
 # celles-ci sont déclarées en tant que "public"
 
 # Tant qu'on parle d'implicite, en l'absence de bloc de propriétés,
 # celles-ci sont déclarées en tant que "public"
index 7a5d8ab..23da9ac 100644 (file)
@@ -16,7 +16,7 @@
 
 
 class BackIntSorter
 
 
 class BackIntSorter
-special AbstractSorter[Int]
+       super AbstractSorter[Int]
        redef fun compare(a: Int, b: Int): Int
        do
                return b <=> a
        redef fun compare(a: Int, b: Int): Int
        do
                return b <=> a
@@ -26,7 +26,7 @@ special AbstractSorter[Int]
 end
 
 class DecimalSorter
 end
 
 class DecimalSorter
-special AbstractSorter[Int]
+       super AbstractSorter[Int]
        redef fun compare(a: Int, b: Int): Int
        do
                return (a%10) <=> (b%10)
        redef fun compare(a: Int, b: Int): Int
        do
                return (a%10) <=> (b%10)
index 02a1752..b71ec67 100644 (file)
@@ -5,7 +5,7 @@ class B
 end
 
 class A
 end
 
 class A
-special B
+       super B
        redef fun foo do
                print "afoo"
        end
        redef fun foo do
                print "afoo"
        end
index 32f758a..f614cfe 100644 (file)
@@ -40,7 +40,7 @@ class A # class 1
 end
 
 class B # class 2
 end
 
 class B # class 2
-special A
+       super A
    redef fun a12 
    do
           print(12)
    redef fun a12 
    do
           print(12)
index a7a944e..e73f7f6 100644 (file)
@@ -34,7 +34,7 @@ end
 # B is class 4
 
 class C # class 5
 # B is class 4
 
 class C # class 5
-special B
+       super B
    redef fun all25
    do
           print(250)
    redef fun all25
    do
           print(250)
index e2e675c..ba9dc49 100644 (file)
@@ -20,12 +20,12 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        redef fun q(x: A): B do return self end
 end
 
 class C
        redef fun q(x: A): B do return self end
 end
 
 class C
-special B
+       super B
        fun r(x: B) do end
        fun s: B do return self end
        var _a: B
        fun r(x: B) do end
        fun s: B do return self end
        var _a: B
index 7cf110c..daceadd 100644 (file)
@@ -1 +1 @@
-./base_init_inherit3.nit:82,1--87,7: Error: No property Q::foo is inherited. Remove the redef keyword to define a new property.
+./base_init_inherit3.nit:85,2--88,7: Error: No property Q::foo is inherited. Remove the redef keyword to define a new property.
index 13f88f2..f2131f6 100644 (file)
@@ -1 +1 @@
-./error_type_not_ok.nit:21,9--12: Type error: class Fail not found in module error_type_not_ok.
+./error_type_not_ok.nit:21,8--11: Type error: class Fail not found in module error_type_not_ok.
index 234cc18..3a07f73 100644 (file)
@@ -1 +1 @@
-./error_type_not_ok2.nit:21,15--18: Type error: class Fail not found in module error_type_not_ok2.
+./error_type_not_ok2.nit:21,14--17: Type error: class Fail not found in module error_type_not_ok2.
index 549a8af..94da281 100644 (file)
@@ -1 +1 @@
-alt/error_type_not_ok2_alt1.nit:21,15--18: Type error: 'Fail' is a generic class.
+alt/error_type_not_ok2_alt1.nit:21,14--17: Type error: 'Fail' is a generic class.
index 6b6a3c2..7488aad 100644 (file)
@@ -1 +1 @@
-alt/error_type_not_ok_alt1.nit:21,9--12: Type error: 'Fail' is a generic class.
+alt/error_type_not_ok_alt1.nit:21,8--11: Type error: 'Fail' is a generic class.
index 073423a..1525ba7 100644 (file)
@@ -18,7 +18,7 @@
 import game
 
 class Playing
 import game
 
 class Playing
-special SDL_EventListener
+       super SDL_EventListener
        redef fun on_mouse_button(evt: SDL_MouseButtonEvent)
        do
                if evt.is_pressed then
        redef fun on_mouse_button(evt: SDL_MouseButtonEvent)
        do
                if evt.is_pressed then
@@ -240,7 +240,7 @@ redef class Sprite
 end
 
 class MovingSprite
 end
 
 class MovingSprite
-special Sprite
+       super Sprite
        var _rx: Float # Real X axis (sub-pixel)
        var _ry: Float # Real Y axix (sub-pixel)
        readable var _vx: Float # X velocity (speed)
        var _rx: Float # Real X axis (sub-pixel)
        var _ry: Float # Real Y axix (sub-pixel)
        readable var _vx: Float # X velocity (speed)
@@ -259,7 +259,7 @@ special Sprite
 end
 
 class Player
 end
 
 class Player
-special MovingSprite
+       super MovingSprite
 
        fun update_one_step(mx: Int, my: Int)
        do
 
        fun update_one_step(mx: Int, my: Int)
        do
@@ -361,7 +361,7 @@ special MovingSprite
 end
 
 class Box
 end
 
 class Box
-special Sprite
+       super Sprite
        var _images: Array[SDL_Surface]
        var _image_number: Int
        var _image_delay: Int
        var _images: Array[SDL_Surface]
        var _image_number: Int
        var _image_delay: Int
@@ -411,7 +411,7 @@ special Sprite
 end
 
 class Particle
 end
 
 class Particle
-special MovingSprite
+       super MovingSprite
        fun update_one_step: Bool
        do
                _ttl = _ttl - 1
        fun update_one_step: Bool
        do
                _ttl = _ttl - 1
index 2263140..8683131 100644 (file)
@@ -27,7 +27,8 @@ class Gene[T]
        init do end
 
 end
        init do end
 
 end
-class GeneBool special Gene[Bool]
+class GeneBool
+       super Gene[Bool]
        fun a=(b: Bool)
        do
                _a_ = b
        fun a=(b: Bool)
        do
                _a_ = b
index bd2ca0b..b8edf26 100644 (file)
@@ -28,7 +28,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        redef fun foo
        do
                2.output
        redef fun foo
        do
                2.output
@@ -38,7 +38,7 @@ special A
 end
 
 class C
 end
 
 class C
-special B
+       super B
        fun baz
        do
                bar
        fun baz
        do
                bar
index 93718dc..6c2c763 100644 (file)
@@ -28,7 +28,7 @@ class Toto[E]
 end
 
 class TestNative
 end
 
 class TestNative
-special ArrayCapable[Int]
+       super ArrayCapable[Int]
 
 init
 do
 
 init
 do
index c8545bb..d31db4b 100644 (file)
@@ -17,7 +17,7 @@
 import kernel
 
 class Gen1[E, F]
 import kernel
 
 class Gen1[E, F]
-special Object
+       super Object
    readable writable var _e: E
    var _f_: F
    fun f: F do return _f_ end 
    readable writable var _e: E
    var _f_: F
    fun f: F do return _f_ end 
@@ -27,12 +27,12 @@ special Object
 end
 
 class Gen2[G: Int]
 end
 
 class Gen2[G: Int]
-special Gen1[G, Char]
+       super Gen1[G, Char]
    init(e:G) do super(e)
 end
 
 class Gen3[H: Int]
    init(e:G) do super(e)
 end
 
 class Gen3[H: Int]
-special Gen1[H, Char]
+       super Gen1[H, Char]
    redef readable redef writable redef var _e: H
    redef var _f_: Char = 'N'
    redef fun f: Char do return _f_ end 
    redef readable redef writable redef var _e: H
    redef var _f_: Char = 'N'
    redef fun f: Char do return _f_ end 
index 4050703..0c01486 100644 (file)
@@ -20,14 +20,14 @@ class T
 end
 
 class U
 end
 
 class U
-special T
+       super T
 end
 
 class A[E: T]
 end
 
 class B
 end
 
 class A[E: T]
 end
 
 class B
-special A[T]
+       super A[T]
 end
 
 #class A[F: U]
 end
 
 #class A[F: U]
index 11deb8f..dc9da19 100644 (file)
@@ -24,7 +24,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        redef fun g do print(2) end
        redef fun i do print(2) end
 
        redef fun g do print(2) end
        redef fun i do print(2) end
 
@@ -32,7 +32,7 @@ special A
 end
 
 class C
 end
 
 class C
-special A
+       super A
        redef fun h do print(3) end
        redef fun i do print(3) end
 
        redef fun h do print(3) end
        redef fun i do print(3) end
 
@@ -40,8 +40,8 @@ special A
 end
 
 class D
 end
 
 class D
-special B
-special C
+       super B
+       super C
        redef fun i do print(4) end
 
        init do end
        redef fun i do print(4) end
 
        init do end
index 198f228..b649f99 100644 (file)
@@ -39,7 +39,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
    redef fun foo
       do
           printn("B")
    redef fun foo
       do
           printn("B")
@@ -47,7 +47,7 @@ special A
 end
 
 class C
 end
 
 class C
-special A
+       super A
    fun foo2
       do
           printn("C")
    fun foo2
       do
           printn("C")
@@ -55,8 +55,8 @@ special A
 end
 
 class D
 end
 
 class D
-special B
-special C
+       super B
+       super C
    redef fun foo
       do
           printn("D")
    redef fun foo
       do
           printn("D")
index cebc6d7..d3c0bc8 100644 (file)
@@ -26,7 +26,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
    redef  fun foo
    do
       21.output
    redef  fun foo
    do
       21.output
@@ -40,7 +40,7 @@ special A
 end
 
 class C
 end
 
 class C
-special B
+       super B
    redef fun foo
    do
       31.output
    redef fun foo
    do
       31.output
index 99190b1..a3ec367 100644 (file)
@@ -24,7 +24,7 @@ class I[F]
 end
 
 class J
 end
 
 class J
-special I[A]
+       super I[A]
    fun bar do 2.output end
 
        init do end
    fun bar do 2.output end
 
        init do end
@@ -35,7 +35,7 @@ class G[E]
 end
 
 class H[F]
 end
 
 class H[F]
-special G[A]
+       super G[A]
    redef fun baz(e: J) do e.bar end
 
    init do end
    redef fun baz(e: J) do e.bar end
 
    init do end
index 0520f7b..f4a430b 100644 (file)
@@ -30,7 +30,7 @@ class O
 end
 
 class A
 end
 
 class A
-special O
+       super O
    redef fun foo
    do
       printn(11)
    redef fun foo
    do
       printn(11)
@@ -45,7 +45,7 @@ special O
 end
 
 class B
 end
 
 class B
-special A
+       super A
    redef fun foo
    do
       printn(12)
    redef fun foo
    do
       printn(12)
index 2f8d427..1a0036f 100644 (file)
@@ -24,7 +24,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        redef fun foo
        do
                1.output
        redef fun foo
        do
                1.output
index 7d7aef5..bb749df 100644 (file)
@@ -25,7 +25,7 @@ class A[E: Object, F: Object]
 end
 
 class B[G: Int]
 end
 
 class B[G: Int]
-special A[Bool,G]
+       super A[Bool,G]
        redef fun foo(b: Bool, g: G): G
        do
                1.output
        redef fun foo(b: Bool, g: G): G
        do
                1.output
index 60b72e1..4800390 100644 (file)
@@ -17,7 +17,7 @@
 import test_super_gen
 
 class C[H: Int]
 import test_super_gen
 
 class C[H: Int]
-special A[H, Int]
+       super A[H, Int]
        redef fun foo(a: H, b: Int): H
        do
                return super
        redef fun foo(a: H, b: Int): H
        do
                return super
index b82998e..1ae39e2 100644 (file)
@@ -24,7 +24,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        redef fun foo(i: Int): Int
        do
                return super + 5
        redef fun foo(i: Int): Int
        do
                return super + 5
index 1723467..fc0bae4 100644 (file)
@@ -17,7 +17,7 @@
 import test_super_param_raf
 
 class C
 import test_super_param_raf
 
 class C
-special B
+       super B
        redef fun foo(a: Int): Int
        do
                return super * 2
        redef fun foo(a: Int): Int
        do
                return super * 2
index 7ae65d3..6717b8c 100644 (file)
@@ -24,7 +24,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
     redef var _foo: nullable Int
     redef var _bar: nullable B
     redef fun output do 'B'.output end
     redef var _foo: nullable Int
     redef var _bar: nullable B
     redef fun output do 'B'.output end
index 00009d2..9a13498 100644 (file)
@@ -26,7 +26,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
        redef type T: B
        redef type U: Int
        redef fun foo(a: T) do a.out
        redef type T: B
        redef type U: Int
        redef fun foo(a: T) do a.out
@@ -38,7 +38,7 @@ special A
 end
 
 redef class Int
 end
 
 redef class Int
-special B
+       super B
        redef type T: Int
        redef fun foo(a: T) do a.out
        redef fun bar(b: U) do b.out
        redef type T: Int
        redef fun foo(a: T) do a.out
        redef fun bar(b: U) do b.out
index 02093a2..5e19834 100644 (file)
@@ -39,7 +39,7 @@ class A
 end
 
 class B
 end
 
 class B
-special A
+       super A
     redef fun foo: B 
     do 
            return new B 
     redef fun foo: B 
     do 
            return new B 
@@ -61,7 +61,7 @@ special A
 end
 
 redef class Int
 end
 
 redef class Int
-special B
+       super B
     redef fun foo: Int 
     do 
            return 8 
     redef fun foo: Int 
     do 
            return 8