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
-special Set[Int]
-special ArrayCapable[Int]
+       super Set[Int]
+       super ArrayCapable[Int]
        var _capacity: Int 
        redef readable var _length: Int 
        var _keys: NativeArray[Int]
@@ -85,7 +85,7 @@ special ArrayCapable[Int]
 end
 
 class DummyIterator
-special Iterator[Int]
+       super Iterator[Int]
        var _array: DummyArray
        var _pos: Int
 
index 4146345..66366c6 100644 (file)
@@ -12,7 +12,7 @@
 # another product.
 
 class FilterIStream
-special IStream
+       super IStream
        # Filter readed elements
        readable var _stream: nullable IStream
 
@@ -29,7 +29,7 @@ special IStream
 end
 
 class FilterOStream
-special OStream
+       super OStream
        # Filter outputed elements
        readable var _stream: nullable OStream
 
@@ -47,7 +47,7 @@ special OStream
 end
 
 class StreamCat
-special FilterIStream
+       super FilterIStream
        var _streams: Iterator[IStream]
 
        redef fun eof: Bool
@@ -98,7 +98,7 @@ special FilterIStream
 end
 
 class StreamDemux
-special FilterOStream
+       super FilterOStream
        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
-special Rectangle
+       super Rectangle
 
        # 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
-special Option
+       super Option
        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
-special Option
+       super Option
        redef type VALUE: Bool
 
        init(help: String, names: String...) do init_opt(help, false, names)
@@ -97,7 +97,7 @@ special Option
 end
 
 class OptionCount
-special Option
+       super Option
        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
-special Option
+       super Option
        protected fun convert(str: String): VALUE is abstract
 
        redef fun read_param(it)
@@ -124,7 +124,7 @@ special Option
 end
 
 class OptionString
-special OptionParameter
+       super OptionParameter
        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
-special OptionParameter
+       super OptionParameter
        redef type VALUE: Int
        var _values: Array[String]
 
@@ -163,7 +163,7 @@ special OptionParameter
 end
 
 class OptionInt
-special OptionParameter
+       super OptionParameter
        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
-special OptionParameter
+       super OptionParameter
        redef type VALUE: Array[String]
 
        init(help: String, names: String...)
index e1e8b87..960c062 100644 (file)
@@ -14,7 +14,7 @@
 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"
        
@@ -37,12 +37,12 @@ special Pointer
 end
 
 universal SDL_Screen
-special SDL_Surface
+       super SDL_Surface
        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"
@@ -54,24 +54,24 @@ special Pointer
 end
 
 universal SDL_ButtonEvent
-special SDL_Event
+       super SDL_Event
        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
-special SDL_ButtonEvent
+       super SDL_ButtonEvent
        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"
@@ -79,7 +79,7 @@ special SDL_MouseEvent
 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"
index a94c7b6..76ba515 100644 (file)
@@ -79,7 +79,7 @@ end
 # 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
@@ -132,7 +132,7 @@ end
 
 # A collection that contains only one item.
 class Container[E]
-special Collection[E]
+       super Collection[E]
 
        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]
-special Iterator[E]
+       super Iterator[E]
        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]
-special Collection[E]
+       super Collection[E]
        # Remove all items
        fun clear is abstract
 
@@ -191,7 +191,7 @@ end
 
 # 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
@@ -210,7 +210,7 @@ end
 #    s.add(a)
 #    s.has(b) # --> true
 interface Set[E: Object]
-special SimpleCollection[E]
+       super SimpleCollection[E]
 
        redef fun has_only(item)
        do
@@ -239,7 +239,7 @@ special SimpleCollection[E]
 end
 
 interface MapRead[K: Object, E]
-special Collection[E]
+       super Collection[E]
        # 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]
-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
 
@@ -284,7 +284,7 @@ end
 
 # 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
 
@@ -295,7 +295,7 @@ end
 # 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
@@ -330,9 +330,9 @@ end
 # 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)
@@ -373,7 +373,7 @@ end
 
 # 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
 
@@ -383,7 +383,7 @@ end
 
 # 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
@@ -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]
-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
index 86357ae..133ea5b 100644 (file)
@@ -19,7 +19,7 @@ import abstract_collection
 
 # One dimention array of objects.
 class AbstractArrayRead[E]
-special SequenceRead[E]
+       super SequenceRead[E]
        # The current length
        redef readable var _length: Int = 0
 
@@ -142,8 +142,8 @@ end
 
 # 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)
@@ -226,8 +226,8 @@ end
 #     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
@@ -391,7 +391,7 @@ end
 
 # 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
@@ -414,7 +414,7 @@ end
 
 # A set implemented with an Array.
 class ArraySet[E: Object]
-special Set[E]
+       super Set[E]
        # The stored elements.
        var _array: Array[E]
 
@@ -462,7 +462,7 @@ end
 
 # 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
 
@@ -478,7 +478,7 @@ end
 
 # 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)
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]
-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
@@ -198,8 +198,8 @@ private class HashNode[K: Object]
 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
@@ -301,7 +301,7 @@ special HashCollection[K, HashMapNode[K, V], V]
 end
 
 class HashMapNode[K: Object, V]
-special HashNode[K]
+       super HashNode[K]
        redef type N: HashMapNode[K, V]
        var _value: V
 
@@ -313,7 +313,7 @@ special HashNode[K]
 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
@@ -354,8 +354,8 @@ special MapIterator[K, V]
 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
 
@@ -396,7 +396,7 @@ special HashCollection[E, HashSetNode[E], E]
 end
 
 class HashSetNode[E: Object]
-special HashNode[E]
+       super HashNode[E]
        redef type N: HashSetNode[E]
 
        init(e: E)
@@ -406,7 +406,7 @@ special HashNode[E]
 end
 
 class HashSetIterator[E: Object]
-special Iterator[E]
+       super Iterator[E]
        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]
-special Sequence[E]
+       super Sequence[E]
 # 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]
-special IndexedIterator[E]
+       super IndexedIterator[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]
-special Container[E]
+       super Container[E]
        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]
-special Collection[E]
+       super Collection[E]
 
        redef readable var _first: E
 
@@ -86,7 +86,7 @@ end
 
 class IteratorRange[E: Discrete]
        # Iterator on ranges.
-special Iterator[E]
+       super Iterator[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]
-special AbstractSorter[E]
+       super AbstractSorter[E]
        # 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
-special Process
-special IStream
+       super Process
+       super IStream
        var _in: FDIStream
        
        redef fun close do _in.close
@@ -99,8 +99,8 @@ end
 
 # 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
@@ -124,9 +124,9 @@ end
 
 # stdin and stdout are both accessible
 class IOProcess
-special IProcess
-special OProcess
-special IOStream
+       super IProcess
+       super OProcess
+       super IOStream
 
        redef fun close
        do
@@ -162,7 +162,7 @@ redef class NativeString
 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"
index 5ea2468..903554c 100644 (file)
@@ -50,8 +50,8 @@ end
 
 # File Abstract Stream
 class FStream
-special IOS
-special NativeFileCapable
+       super IOS
+       super NativeFileCapable
        # The path of the file.
        readable var _path: nullable String = null
 
@@ -64,8 +64,8 @@ end
 
 # File input stream
 class IFStream
-special FStream
-special BufferedIStream
+       super FStream
+       super BufferedIStream
        # Misc
 
        fun reopen
@@ -113,8 +113,8 @@ end
 
 # File output stream
 class OFStream
-special FStream
-special OStream
+       super FStream
+       super OStream
        
        # Write a string.
        redef fun write(s)
@@ -161,7 +161,7 @@ end
 ###############################################################################
 
 class Stdin
-special IFStream
+       super IFStream
        private init do
                _file = native_stdin
                _path = "/dev/stdin"
@@ -170,7 +170,7 @@ special IFStream
 end
 
 class Stdout
-special OFStream
+       super OFStream
        private init do
                _file = native_stdout
                _path = "/dev/stdout"
@@ -179,7 +179,7 @@ special OFStream
 end
 
 class Stderr
-special OFStream
+       super OFStream
        private init do
                _file = native_stderr
                _path = "/dev/stderr"
@@ -262,7 +262,7 @@ redef class NativeString
 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"
@@ -273,7 +273,7 @@ end
 
 # 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"
index 35e46ca..30c592d 100644 (file)
@@ -119,7 +119,7 @@ end
 
 # Discrete total orders.
 interface Discrete
-special Comparable
+       super Comparable
 
        redef type OTHER: Discrete
 
@@ -200,7 +200,7 @@ end
 # Native integer numbers.
 # Correspond to C int.
 universal Int
-special Discrete
+       super Discrete
        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
-special Discrete
+       super Discrete
        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
-special IOS
+       super IOS
        # 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
-special IOS
+       super IOS
        # write a string
        fun write(s: String) is abstract
 
@@ -92,7 +92,7 @@ end
 
 # Input streams with a buffer
 class BufferedIStream
-special IStream
+       super IStream
        redef fun read_char
        do
                assert not eof
@@ -204,14 +204,14 @@ special IStream
 end
 
 class IOStream
-special IStream
-special OStream
+       super IStream
+       super OStream
 end
 
 ##############################################################"
 
 class FDStream
-special IOS
+       super IOS
        # File description
        var _fd: Int
 
@@ -226,8 +226,8 @@ special IOS
 end
 
 class FDIStream
-special FDStream
-special IStream
+       super FDStream
+       super IStream
        redef readable var _eof: Bool = false
        
        redef fun read_char
@@ -241,8 +241,8 @@ special IStream
 end
 
 class FDOStream
-special FDStream
-special OStream
+       super FDStream
+       super OStream
        redef readable var _is_writable: Bool
 
        redef fun write(s)
@@ -258,9 +258,9 @@ special OStream
 end
 
 class FDIOStream
-special FDIStream
-special FDOStream
-special IOStream
+       super FDIStream
+       super FDOStream
+       super IOStream
        init(fd: Int)
        do
                _fd = fd
index 164e6f3..d61b260 100644 (file)
@@ -22,7 +22,7 @@ import hash
 ###############################################################################
 
 abstract class AbstractString
-special AbstractArrayRead[Char]
+       super AbstractArrayRead[Char]
        readable private var _items: NativeString
 
        redef fun [](index) do return _items[index]
@@ -160,8 +160,8 @@ end
 
 
 class String
-special Comparable
-special AbstractString
+       super Comparable
+       super AbstractString
        redef type OTHER: String
 
        # Create a new string from a given char *.
@@ -265,10 +265,10 @@ end
 
 # 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
 
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
-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'
@@ -230,7 +230,7 @@ class Match
 end
 
 redef class Char
-special Pattern
+       super Pattern
        redef fun search_index_in(s, from)
        do
                var stop = s.length
@@ -253,7 +253,7 @@ special Pattern
 end
 
 redef class String
-special Pattern
+       super Pattern
        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
-special ToolContext
+       super ToolContext
 
        init(tool_name: String)
        do
index a8ac823..98c8e89 100644 (file)
@@ -27,7 +27,7 @@ private import primitive_info
 #  * 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
index 2d9cd0f..7d06441 100644 (file)
@@ -22,7 +22,7 @@ import icode
 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
@@ -88,7 +88,7 @@ class ChaBuilder
 end
 
 class ChaVisitor
-special ICodeVisitor
+       super ICodeVisitor
        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
-special ICodeVisitor
+       super ICodeVisitor
        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
-special ICodeVisitor
+       super ICodeVisitor
        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
-special InstantiatedTypeAnalysis
+       super InstantiatedTypeAnalysis
        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
-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
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
-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
@@ -53,7 +53,7 @@ special ReachableAsInitAnalysis
 end
 
 class RAIVisitor
-special ICodeVisitor
+       super ICodeVisitor
        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
-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
 
index ad04ed1..902fb24 100644 (file)
@@ -49,7 +49,7 @@ class RFIMABuilder
 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
@@ -62,7 +62,7 @@ special ReachableFromInitMethodAnalysis
 end
 
 class RFIMAVisitor
-special ICodeVisitor
+       super ICodeVisitor
        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
-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
 
index e8ae331..0685777 100644 (file)
@@ -55,7 +55,7 @@ redef class Program
 end
 
 class IssetCounter
-special ICodeVisitor
+       super ICodeVisitor
        readable var _nb_isset: Int = 0
 
        redef fun visit_icode(ic)
@@ -69,7 +69,7 @@ special ICodeVisitor
 end
 
 class GetterTestRemover
-special ICodeVisitor
+       super ICodeVisitor
        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
-special ReachableMethodAnalysis
-special InstantiatedTypeAnalysis
+       super ReachableMethodAnalysis
+       super InstantiatedTypeAnalysis
        init do end
        readable var _instanciated_classes: HashSet[MMLocalClass] = new HashSet[MMLocalClass]
 
@@ -195,7 +195,7 @@ class RtaBuilder
 end
 
 class RtaVisitor
-special ICodeVisitor
+       super ICodeVisitor
        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
-special WriterNode
+       super WriterNode
        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
-special WriterNode
+       super WriterNode
        # 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
-special ICodeDumper
+       super ICodeDumper
        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
-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
-special ColorContext
+       super ColorContext
        # 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
-special AbsTableElt
+       super AbsTableElt
        # 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
-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
-special ModuleTableElt
+       super ModuleTableElt
        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)
@@ -449,22 +449,22 @@ end
 
 # 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
-special TableEltProp
+       super TableEltProp
 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
-special AbsTableElt
+       super AbsTableElt
        # 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
-special TableElt
-special AbsTableEltClass
+       super TableElt
+       super AbsTableEltClass
        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
-special ModuleTableElt
-special AbsTableEltClass
+       super ModuleTableElt
+       super AbsTableEltClass
 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
@@ -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
-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
-special TableElt
+       super TableElt
        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
-special TableElt
+       super TableElt
        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
-special TableElt
+       super TableElt
        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
index d795c55..09c966b 100644 (file)
@@ -79,7 +79,7 @@ end
 
 # A closure definition in a iroutine body
 class IClosureDef
-special IRoutine
+       super IRoutine
        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
-special ICode
+       super ICode
        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
@@ -122,7 +122,7 @@ end
 
 # 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
@@ -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
-special ICode
+       super ICode
        redef fun arity do return _exprs.length
 
        # All arguments
@@ -163,7 +163,7 @@ end
 
 # A linear sequence of ICode
 class ISeq
-special ICode0
+       super ICode0
        # 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
-special ISeq
+       super ISeq
        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
@@ -193,7 +193,7 @@ end
 
 # 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
@@ -202,7 +202,7 @@ end
 
 # An abort statement
 class IAbort
-special ICode0
+       super ICode0
        # 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
-special ICodeN
+       super ICodeN
        # 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
-special IAbsCall
+       super IAbsCall
        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
 
@@ -252,7 +252,7 @@ end
 # - 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])
@@ -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
-special ICode0
+       super ICode0
        # 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
-special IAbsCall
+       super IAbsCall
        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)
@@ -295,7 +295,7 @@ end
 
 # 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)
@@ -308,7 +308,7 @@ end
 # A closure call
 # exprs are the arguments
 class IClosCall
-special ICodeN
+       super ICodeN
        # 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
-special ICodeN
+       super ICodeN
        # The associated local property
        readable var _method: MMMethod
 
@@ -341,7 +341,7 @@ end
 
 # A literal Int value
 class IIntValue
-special ICode0
+       super ICode0
        # The value
        readable var _value: String
 
@@ -352,7 +352,7 @@ end
 
 # A literal Bool value
 class IBoolValue
-special ICode0
+       super ICode0
        # The value
        readable var _value: Bool
 
@@ -363,7 +363,7 @@ end
 
 # A literal NativeString value
 class IStringValue
-special ICode0
+       super ICode0
        # The value
        readable var _value: String
 
@@ -374,7 +374,7 @@ end
 
 # A literal Float value
 class IFloatValue
-special ICode0
+       super ICode0
        # The value
        readable var _value: String
 
@@ -385,7 +385,7 @@ end
 
 # A literal Char value
 class ICharValue
-special ICode0
+       super ICode0
        # The value
        readable var _value: String
 
@@ -398,7 +398,7 @@ end
 # expr is the assigned value
 # result is the register assigned
 class IMove
-special ICode1
+       super ICode1
        init(r: IRegister, e: IRegister)
        do
                super(e)
@@ -411,7 +411,7 @@ end
 # An attribute read access
 # expr is the reciever
 class IAttrRead
-special ICode1
+       super ICode1
        # 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
-special ICode2
+       super ICode2
        # The accessed attribute
        readable var _property: MMAttribute
 
@@ -442,7 +442,7 @@ end
 # An attribute is_set check
 # expr is the reciever
 class IAttrIsset
-special ICode1
+       super ICode1
        # The accessed attribute
        readable var _property: MMAttribute
 
@@ -458,7 +458,7 @@ end
 # A type check
 # expr is the expression checked
 class ITypeCheck
-special ICode1
+       super ICode1
        # 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
-special ICode2
+       super ICode2
        init(e1, e2: IRegister)
        do
                super
@@ -486,7 +486,7 @@ end
 # The unary 'not' operation
 # expr is the operand
 class INot
-special ICode1
+       super ICode1
        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
-special ICode0
+       super ICode0
        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
 
index 3d2a5fd..c6e4dee 100644 (file)
@@ -17,7 +17,7 @@
 package location
 
 class Location
-special Comparable
+       super Comparable
        redef type OTHER: Location
 
        readable var _file: String
index 68c30dd..32af390 100644 (file)
@@ -649,12 +649,12 @@ end
 
 # Attribute local properties
 class MMAttribute
-special MMLocalProperty
+       super MMLocalProperty
 end
 
 # Method local properties
 class MMMethod
-special MMLocalProperty
+       super MMLocalProperty
        # Is the method defined with intern
        fun is_intern: Bool is abstract
 
@@ -667,6 +667,6 @@ end
 
 # Concrete local classes
 class MMConcreteClass
-special MMLocalClass
+       super MMLocalClass
 end
 
index e2d0962..4de61f7 100644 (file)
@@ -105,7 +105,7 @@ redef class MMTypeSimpleClass
 end
 
 class MMTypeGeneric
-special MMTypeClass
+       super MMTypeClass
        # Formal arguments
        readable var _params: Array[MMType] 
 
@@ -194,7 +194,7 @@ special MMTypeClass
 end
 
 class MMTypeFormalParameter
-special MMTypeFormal
+       super MMTypeFormal
        # 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
-special MMLocalClass
+       super MMLocalClass
        init(mod: MMModule, g: MMGlobalClass)
        do
                var cla = g.intro
@@ -479,7 +479,7 @@ special MMLocalClass
 end
 
 class MMRefineAncestor
-special MMAncestor
+       super MMAncestor
        redef readable var _local_class: MMLocalClass
 
        init(b: MMLocalClass, a: MMLocalClass)
@@ -492,7 +492,7 @@ end
 
 
 class MMSpecAncestor
-special MMAncestor
+       super MMAncestor
        redef fun local_class do return stype.local_class
 
        init(inheriter: MMType, stype: MMType)
@@ -503,7 +503,7 @@ special MMAncestor
 end
 
 class MMDefaultAncestor
-special MMAncestor
+       super MMAncestor
        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]
-special Collection[E]
+       super Collection[E]
        # Elements
        var _elements: Map[E, PartialOrderElement[E]]
 
index 15d735a..fc1f684 100644 (file)
@@ -379,7 +379,7 @@ abstract class MMType
 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
@@ -428,7 +428,7 @@ special MMType
 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)
@@ -454,7 +454,7 @@ special MMType
 end
 
 class MMTypeSimpleClass
-special MMTypeClass
+       super MMTypeClass
        redef fun is_supertype(t)
        do
                return  t.local_class.cshe <= _local_class
@@ -479,7 +479,7 @@ end
 
 # 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
index e214218..8ab8b8b 100644 (file)
@@ -27,7 +27,7 @@ end
 
 # 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
index 7b09814..527f20e 100644 (file)
@@ -27,7 +27,7 @@ end
 
 # Virtual type properties
 class MMTypeProperty
-special MMLocalProperty
+       super MMLocalProperty
        # The virtual static type associated
        fun stype_for(recv: MMType): nullable MMVirtualType
        do
@@ -54,7 +54,7 @@ special MMLocalProperty
 end
 
 class MMVirtualType
-special MMTypeFormal
+       super MMTypeFormal
        # The property associed
        readable var _property: MMTypeProperty
 
index c63455f..9a6eeb1 100644 (file)
@@ -24,7 +24,7 @@ import opts
 import location
 
 class Message
-special Comparable
+       super Comparable
        redef type OTHER: Message
 
        readable var _location: nullable Location
@@ -49,7 +49,7 @@ end
 
 # Global context for tools
 class ToolContext
-special MMContext
+       super MMContext
        # 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
-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")
index 3f8978a..437f837 100644 (file)
@@ -24,7 +24,7 @@ import abstracttool
 
 # Store knowledge and facilities to generate files
 class DocContext
-special AbstractCompiler
+       super AbstractCompiler
        # Destination directory
        readable writable var _dir: String = "."
 
@@ -278,7 +278,7 @@ end
 
 # 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
@@ -331,7 +331,7 @@ class MMEntity
 end
 
 redef class MMModule
-special MMEntity
+       super MMEntity
        redef fun html_link(dctx) do 
                if dctx.mmmodule == self then
                        return "{self}"
@@ -399,7 +399,7 @@ special MMEntity
 end
 
 redef class MMLocalProperty
-special MMEntity
+       super MMEntity
        # 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
-special MMEntity
+       super MMEntity
        # 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
-special TablesCapable
+       super TablesCapable
        # Last peeked token
        var _token: nullable Token
 
index ae6bf39..3a6986f 100644 (file)
@@ -20,7 +20,7 @@ private class State
 end
 
 class Parser
-special TablesCapable
+       super TablesCapable
        # 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
-special Visitor
+       super Visitor
        # 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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ReduceAction
+       super ReduceAction
        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
-special ANode
+       super ANode
 end
 
 # Ancestor of all productions
 abstract class Prod
-special ANode
+       super ANode
        fun location=(loc: Location) do _location = loc
 end
 class TEol
-special Token
+       super Token
 end
 class TComment
-special Token
+       super Token
 end
 class TKwmodule
-special Token
+       super Token
 end
 class TKwimport
-special Token
+       super Token
 end
 class TKwclass
-special Token
+       super Token
 end
 class TKwabstract
-special Token
+       super Token
 end
 class TKwinterface
-special Token
+       super Token
 end
 class TKwenum
-special Token
+       super Token
 end
 class TKwspecial
-special Token
+       super Token
 end
 class TKwend
-special Token
+       super Token
 end
 class TKwmeth
-special Token
+       super Token
 end
 class TKwtype
-special Token
+       super Token
 end
 class TKwinit
-special Token
+       super Token
 end
 class TKwredef
-special Token
+       super Token
 end
 class TKwis
-special Token
+       super Token
 end
 class TKwdo
-special Token
+       super Token
 end
 class TKwreadable
-special Token
+       super Token
 end
 class TKwwritable
-special Token
+       super Token
 end
 class TKwvar
-special Token
+       super Token
 end
 class TKwintern
-special Token
+       super Token
 end
 class TKwextern
-special Token
+       super Token
 end
 class TKwprotected
-special Token
+       super Token
 end
 class TKwprivate
-special Token
+       super Token
 end
 class TKwintrude
-special Token
+       super Token
 end
 class TKwif
-special Token
+       super Token
 end
 class TKwthen
-special Token
+       super Token
 end
 class TKwelse
-special Token
+       super Token
 end
 class TKwwhile
-special Token
+       super Token
 end
 class TKwloop
-special Token
+       super Token
 end
 class TKwfor
-special Token
+       super Token
 end
 class TKwin
-special Token
+       super Token
 end
 class TKwand
-special Token
+       super Token
 end
 class TKwor
-special Token
+       super Token
 end
 class TKwnot
-special Token
+       super Token
 end
 class TKwreturn
-special Token
+       super Token
 end
 class TKwcontinue
-special Token
+       super Token
 end
 class TKwbreak
-special Token
+       super Token
 end
 class TKwabort
-special Token
+       super Token
 end
 class TKwassert
-special Token
+       super Token
 end
 class TKwnew
-special Token
+       super Token
 end
 class TKwisa
-special Token
+       super Token
 end
 class TKwonce
-special Token
+       super Token
 end
 class TKwsuper
-special Token
+       super Token
 end
 class TKwself
-special Token
+       super Token
 end
 class TKwtrue
-special Token
+       super Token
 end
 class TKwfalse
-special Token
+       super Token
 end
 class TKwnull
-special Token
+       super Token
 end
 class TKwas
-special Token
+       super Token
 end
 class TKwnullable
-special Token
+       super Token
 end
 class TKwisset
-special Token
+       super Token
 end
 class TKwlabel
-special Token
+       super Token
 end
 class TOpar
-special Token
+       super Token
 end
 class TCpar
-special Token
+       super Token
 end
 class TObra
-special Token
+       super Token
 end
 class TCbra
-special Token
+       super Token
 end
 class TComma
-special Token
+       super Token
 end
 class TColumn
-special Token
+       super Token
 end
 class TQuad
-special Token
+       super Token
 end
 class TAssign
-special Token
+       super Token
 end
 class TPluseq
-special Token
+       super Token
 end
 class TMinuseq
-special Token
+       super Token
 end
 class TDotdotdot
-special Token
+       super Token
 end
 class TDotdot
-special Token
+       super Token
 end
 class TDot
-special Token
+       super Token
 end
 class TPlus
-special Token
+       super Token
 end
 class TMinus
-special Token
+       super Token
 end
 class TStar
-special Token
+       super Token
 end
 class TSlash
-special Token
+       super Token
 end
 class TPercent
-special Token
+       super Token
 end
 class TEq
-special Token
+       super Token
 end
 class TNe
-special Token
+       super Token
 end
 class TLt
-special Token
+       super Token
 end
 class TLe
-special Token
+       super Token
 end
 class TLl
-special Token
+       super Token
 end
 class TGt
-special Token
+       super Token
 end
 class TGe
-special Token
+       super Token
 end
 class TGg
-special Token
+       super Token
 end
 class TStarship
-special Token
+       super Token
 end
 class TBang
-special Token
+       super Token
 end
 class TClassid
-special Token
+       super Token
 end
 class TId
-special Token
+       super Token
 end
 class TAttrid
-special Token
+       super Token
 end
 class TNumber
-special Token
+       super Token
 end
 class TFloat
-special Token
+       super Token
 end
 class TChar
-special Token
+       super Token
 end
 class TString
-special Token
+       super Token
 end
 class TStartString
-special Token
+       super Token
 end
 class TMidString
-special Token
+       super Token
 end
 class TEndString
-special Token
+       super Token
 end
 class EOF
-special Token
+       super Token
 private init noinit do end
 end
 class AError
-special EOF
+       super EOF
 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
-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
-special AModuledecl
+       super AModuledecl
     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
-special AImport
+       super AImport
     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
-special AVisibility
+       super AVisibility
     readable var _n_kwprivate: TKwprivate
 end
 class AProtectedVisibility
-special AVisibility
+       super AVisibility
     readable var _n_kwprotected: TKwprotected
 end
 class AIntrudeVisibility
-special AVisibility
+       super AVisibility
     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
@@ -373,43 +373,43 @@ special AClassdef
     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
-special AClassdef
+       super AClassdef
     readable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
 class AConcreteClasskind
-special AClasskind
+       super AClasskind
     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
-special AClasskind
+       super AClasskind
     readable var _n_kwinterface: TKwinterface
 end
 class AEnumClasskind
-special AClasskind
+       super AClasskind
     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
-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
-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
@@ -422,7 +422,7 @@ special APropdef
     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
@@ -430,7 +430,7 @@ special APropdef
     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
@@ -439,7 +439,7 @@ special APropdef
     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
@@ -448,7 +448,7 @@ special APropdef
     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
@@ -458,7 +458,7 @@ special APropdef
     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
@@ -468,7 +468,7 @@ special APropdef
     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
@@ -478,12 +478,12 @@ special APropdef
     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
-special APropdef
+       super APropdef
     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
-special AAble
+       super AAble
     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
-special AMethid
+       super AMethid
     readable var _n_id: TId
 end
 class APlusMethid
-special AMethid
+       super AMethid
     readable var _n_plus: TPlus
 end
 class AMinusMethid
-special AMethid
+       super AMethid
     readable var _n_minus: TMinus
 end
 class AStarMethid
-special AMethid
+       super AMethid
     readable var _n_star: TStar
 end
 class ASlashMethid
-special AMethid
+       super AMethid
     readable var _n_slash: TSlash
 end
 class APercentMethid
-special AMethid
+       super AMethid
     readable var _n_percent: TPercent
 end
 class AEqMethid
-special AMethid
+       super AMethid
     readable var _n_eq: TEq
 end
 class ANeMethid
-special AMethid
+       super AMethid
     readable var _n_ne: TNe
 end
 class ALeMethid
-special AMethid
+       super AMethid
     readable var _n_le: TLe
 end
 class AGeMethid
-special AMethid
+       super AMethid
     readable var _n_ge: TGe
 end
 class ALtMethid
-special AMethid
+       super AMethid
     readable var _n_lt: TLt
 end
 class AGtMethid
-special AMethid
+       super AMethid
     readable var _n_gt: TGt
 end
 class ALlMethid
-special AMethid
+       super AMethid
     readable var _n_ll: TLl
 end
 class AGgMethid
-special AMethid
+       super AMethid
     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
-special AMethid
+       super AMethid
     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
-special AMethid
+       super AMethid
     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
-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
-special AClosureDecl
+       super AClosureDecl
     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
-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
-special ALabel
+       super ALabel
     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
-special AExpr
+       super AExpr
     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
-special AExpr
+       super AExpr
     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
-special AExpr
+       super AExpr
     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
-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
-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
-special AExpr
+       super AExpr
     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
-special AExpr
+       super AExpr
     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
-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
-special AExpr
+       super 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
-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
-special AExpr
+       super AExpr
     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
-special AExpr
+       super AExpr
     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
-special AExpr
+       super AExpr
     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
-special AExpr
+       super AExpr
     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
-special AExpr
+       super AExpr
     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
-special AExpr
+       super AExpr
     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
-special AExpr
+       super AExpr
     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
-special AExpr
+       super AExpr
     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
-special AExpr
+       super AExpr
     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
-special AExpr
+       super AExpr
     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
-special AExpr
+       super AExpr
     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
-special AExpr
+       super AExpr
     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
-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
-special AExpr
+       super AExpr
     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
-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
-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
-special AExpr
+       super 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
-special AExpr
+       super 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
-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
-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
-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
-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
-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
-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
-special AExpr
+       super AExpr
     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
-special AExpr
+       super AExpr
     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
-special AExpr
+       super AExpr
     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
-special AExpr
+       super AExpr
     readable var _n_exprs: List[AExpr] = new List[AExpr]
 end
 class ASelfExpr
-special AExpr
+       super AExpr
     readable var _n_kwself: TKwself
 end
 class AImplicitSelfExpr
-special AExpr
+       super AExpr
 end
 class ATrueExpr
-special AExpr
+       super AExpr
     readable var _n_kwtrue: TKwtrue
 end
 class AFalseExpr
-special AExpr
+       super AExpr
     readable var _n_kwfalse: TKwfalse
 end
 class ANullExpr
-special AExpr
+       super AExpr
     readable var _n_kwnull: TKwnull
 end
 class AIntExpr
-special AExpr
+       super AExpr
     readable var _n_number: TNumber
 end
 class AFloatExpr
-special AExpr
+       super AExpr
     readable var _n_float: TFloat
 end
 class ACharExpr
-special AExpr
+       super AExpr
     readable var _n_char: TChar
 end
 class AStringExpr
-special AExpr
+       super AExpr
     readable var _n_string: TString
 end
 class AStartStringExpr
-special AExpr
+       super AExpr
     readable var _n_string: TStartString
 end
 class AMidStringExpr
-special AExpr
+       super AExpr
     readable var _n_string: TMidString
 end
 class AEndStringExpr
-special AExpr
+       super AExpr
     readable var _n_string: TEndString
 end
 class ASuperstringExpr
-special AExpr
+       super AExpr
     readable var _n_exprs: List[AExpr] = new List[AExpr]
 end
 class AParExpr
-special AExpr
+       super AExpr
     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
-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
-special AExpr
+       super AExpr
     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
-special AAssignOp
+       super AAssignOp
     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]
@@ -1027,25 +1027,25 @@ special AClosureDef
     readable var _n_label: nullable ALabel = null
 end
 class ASimpleClosureId
-special AClosureId
+       super AClosureId
     readable var _n_id: TId
 end
 class ABreakClosureId
-special AClosureId
+       super AClosureId
     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
-special ADoc
+       super ADoc
     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
index 7201f98..7bc6b4a 100644 (file)
@@ -31,334 +31,334 @@ end
 
 # Ancestor of all tokens
 abstract class Token
-special ANode
+       super ANode
 end
 
 # Ancestor of all productions
 abstract class Prod
-special ANode
+       super ANode
        fun location=(l: Location) do _location = l
 end
 class TEol
-special Token
+       super Token
 end
 class TComment
-special Token
+       super Token
 end
 class TKwmodule
-special Token
+       super Token
 end
 class TKwimport
-special Token
+       super Token
 end
 class TKwclass
-special Token
+       super Token
 end
 class TKwabstract
-special Token
+       super Token
 end
 class TKwinterface
-special Token
+       super Token
 end
 class TKwenum
-special Token
+       super Token
 end
 class TKwspecial
-special Token
+       super Token
 end
 class TKwend
-special Token
+       super Token
 end
 class TKwmeth
-special Token
+       super Token
 end
 class TKwtype
-special Token
+       super Token
 end
 class TKwinit
-special Token
+       super Token
 end
 class TKwredef
-special Token
+       super Token
 end
 class TKwis
-special Token
+       super Token
 end
 class TKwdo
-special Token
+       super Token
 end
 class TKwreadable
-special Token
+       super Token
 end
 class TKwwritable
-special Token
+       super Token
 end
 class TKwvar
-special Token
+       super Token
 end
 class TKwintern
-special Token
+       super Token
 end
 class TKwextern
-special Token
+       super Token
 end
 class TKwprotected
-special Token
+       super Token
 end
 class TKwprivate
-special Token
+       super Token
 end
 class TKwintrude
-special Token
+       super Token
 end
 class TKwif
-special Token
+       super Token
 end
 class TKwthen
-special Token
+       super Token
 end
 class TKwelse
-special Token
+       super Token
 end
 class TKwwhile
-special Token
+       super Token
 end
 class TKwloop
-special Token
+       super Token
 end
 class TKwfor
-special Token
+       super Token
 end
 class TKwin
-special Token
+       super Token
 end
 class TKwand
-special Token
+       super Token
 end
 class TKwor
-special Token
+       super Token
 end
 class TKwnot
-special Token
+       super Token
 end
 class TKwreturn
-special Token
+       super Token
 end
 class TKwcontinue
-special Token
+       super Token
 end
 class TKwbreak
-special Token
+       super Token
 end
 class TKwabort
-special Token
+       super Token
 end
 class TKwassert
-special Token
+       super Token
 end
 class TKwnew
-special Token
+       super Token
 end
 class TKwisa
-special Token
+       super Token
 end
 class TKwonce
-special Token
+       super Token
 end
 class TKwsuper
-special Token
+       super Token
 end
 class TKwself
-special Token
+       super Token
 end
 class TKwtrue
-special Token
+       super Token
 end
 class TKwfalse
-special Token
+       super Token
 end
 class TKwnull
-special Token
+       super Token
 end
 class TKwas
-special Token
+       super Token
 end
 class TKwnullable
-special Token
+       super Token
 end
 class TKwisset
-special Token
+       super Token
 end
 class TKwlabel
-special Token
+       super Token
 end
 class TOpar
-special Token
+       super Token
 end
 class TCpar
-special Token
+       super Token
 end
 class TObra
-special Token
+       super Token
 end
 class TCbra
-special Token
+       super Token
 end
 class TComma
-special Token
+       super Token
 end
 class TColumn
-special Token
+       super Token
 end
 class TQuad
-special Token
+       super Token
 end
 class TAssign
-special Token
+       super Token
 end
 class TPluseq
-special Token
+       super Token
 end
 class TMinuseq
-special Token
+       super Token
 end
 class TDotdotdot
-special Token
+       super Token
 end
 class TDotdot
-special Token
+       super Token
 end
 class TDot
-special Token
+       super Token
 end
 class TPlus
-special Token
+       super Token
 end
 class TMinus
-special Token
+       super Token
 end
 class TStar
-special Token
+       super Token
 end
 class TSlash
-special Token
+       super Token
 end
 class TPercent
-special Token
+       super Token
 end
 class TEq
-special Token
+       super Token
 end
 class TNe
-special Token
+       super Token
 end
 class TLt
-special Token
+       super Token
 end
 class TLe
-special Token
+       super Token
 end
 class TLl
-special Token
+       super Token
 end
 class TGt
-special Token
+       super Token
 end
 class TGe
-special Token
+       super Token
 end
 class TGg
-special Token
+       super Token
 end
 class TStarship
-special Token
+       super Token
 end
 class TBang
-special Token
+       super Token
 end
 class TClassid
-special Token
+       super Token
 end
 class TId
-special Token
+       super Token
 end
 class TAttrid
-special Token
+       super Token
 end
 class TNumber
-special Token
+       super Token
 end
 class TFloat
-special Token
+       super Token
 end
 class TChar
-special Token
+       super Token
 end
 class TString
-special Token
+       super Token
 end
 class TStartString
-special Token
+       super Token
 end
 class TMidString
-special Token
+       super Token
 end
 class TEndString
-special Token
+       super Token
 end
 class EOF
-special Token
+       super Token
 private init noinit do end
 end
 class AError
-special EOF
+       super EOF
 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
-special Prod
+       super Prod
     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
-special AImport
+       super AImport
     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 AVisibility special Prod end
+class AVisibility super Prod end
 class APublicVisibility
-special AVisibility
+       super AVisibility
 end
 class APrivateVisibility
-special AVisibility
+       super AVisibility
     readable var _n_kwprivate: TKwprivate
 end
 class AProtectedVisibility
-special AVisibility
+       super AVisibility
     readable var _n_kwprotected: TKwprotected
 end
 class AIntrudeVisibility
-special AVisibility
+       super AVisibility
     readable var _n_kwintrude: TKwintrude
 end
-class AClassdef special Prod end
+class AClassdef super Prod 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
@@ -369,47 +369,47 @@ special AClassdef
     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
-special AClassdef
+       super AClassdef
     readable var _n_propdefs: List[APropdef] = new List[APropdef]
 end
-class AClasskind special Prod end
+class AClasskind super Prod end
 class AConcreteClasskind
-special AClasskind
+       super AClasskind
     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
-special AClasskind
+       super AClasskind
     readable var _n_kwinterface: TKwinterface
 end
 class AEnumClasskind
-special AClasskind
+       super AClasskind
     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
-special Prod
+       super Prod
     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
-special APropdef
+       super APropdef
     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
-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
-special AMethPropdef
+       super AMethPropdef
     readable var _n_kwmeth: TKwmeth
 end
 class AInternMethPropdef
-special AMethPropdef
+       super AMethPropdef
     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
-special AMethPropdef
+       super AMethPropdef
     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
-special AConcreteMethPropdef
+       super AConcreteMethPropdef
 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
-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
-special AAble
+       super AAble
     readable var _n_kwreadable: TKwreadable
 end
 class AWriteAble
-special AAble
+       super AAble
     readable var _n_kwwritable: TKwwritable
 end
-class AMethid special Prod end
+class AMethid super Prod end
 class AIdMethid
-special AMethid
+       super AMethid
     readable var _n_id: TId
 end
 class APlusMethid
-special AMethid
+       super AMethid
     readable var _n_plus: TPlus
 end
 class AMinusMethid
-special AMethid
+       super AMethid
     readable var _n_minus: TMinus
 end
 class AStarMethid
-special AMethid
+       super AMethid
     readable var _n_star: TStar
 end
 class ASlashMethid
-special AMethid
+       super AMethid
     readable var _n_slash: TSlash
 end
 class APercentMethid
-special AMethid
+       super AMethid
     readable var _n_percent: TPercent
 end
 class AEqMethid
-special AMethid
+       super AMethid
     readable var _n_eq: TEq
 end
 class ANeMethid
-special AMethid
+       super AMethid
     readable var _n_ne: TNe
 end
 class ALeMethid
-special AMethid
+       super AMethid
     readable var _n_le: TLe
 end
 class AGeMethid
-special AMethid
+       super AMethid
     readable var _n_ge: TGe
 end
 class ALtMethid
-special AMethid
+       super AMethid
     readable var _n_lt: TLt
 end
 class AGtMethid
-special AMethid
+       super AMethid
     readable var _n_gt: TGt
 end
 class ALlMethid
-special AMethid
+       super AMethid
     readable writable var _n_ll: TLl
 end
 class AGgMethid
-special AMethid
+       super AMethid
     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
-special AMethid
+       super AMethid
     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
-special AMethid
+       super AMethid
     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
-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
-special Prod
+       super Prod
     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
-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
-special Prod
+       super Prod
     readable var _n_kwlabel: TKwlabel
     readable var _n_id: TId
 end
-class AExpr special Prod end
+class AExpr super Prod end
 class ABlockExpr
-special AExpr
+       super AExpr
     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
@@ -594,45 +594,45 @@ special AExpr
     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
-special Prod
+       super Prod
     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
-special AExpr
+       super AExpr
     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
-special AExpr
-special ALabelable
+       super AExpr
+       super ALabelable
     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
-special AExpr
+       super AExpr
     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
-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
-special AExpr
-special ALabelable
+       super AExpr
+       super ALabelable
     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
@@ -664,306 +664,306 @@ special ALabelable
     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
-special AExpr
+       super AExpr
     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
-special AProxyExpr
+       super AProxyExpr
     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
-special ASendExpr
+       super ASendExpr
     readable var _n_expr2: AExpr
 end
 class ABoolExpr
-special AExpr
+       super AExpr
 end
 class AOrExpr
-special ABoolExpr
+       super ABoolExpr
     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
-special ABoolExpr
+       super ABoolExpr
     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
-special ABinopExpr
+       super ABinopExpr
 end
 class AEeExpr
-special ABoolExpr
+       super ABoolExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class ANeExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class ALtExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class ALeExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class ALlExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class AGtExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class AGeExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class AGgExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class AIsaExpr
-special ABoolExpr
+       super ABoolExpr
     readable var _n_expr: AExpr
     readable var _n_type: AType
 end
 class APlusExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class AMinusExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class AStarshipExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class AStarExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class ASlashExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class APercentExpr
-special ABinopExpr
+       super ABinopExpr
 end
 class AUminusExpr
-special ASendExpr
+       super ASendExpr
     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
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_id: TAttrid
 end
 class AAttrExpr
-special AAttrFormExpr
+       super AAttrFormExpr
 end
 class AAttrAssignExpr
-special AAttrFormExpr
-special AAssignFormExpr
+       super AAttrFormExpr
+       super AAssignFormExpr
 end
 class ACallFormExpr
-special ASendExpr
+       super ASendExpr
     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
-special ACallFormExpr
+       super ACallFormExpr
 end
 class ACallAssignExpr
-special ACallFormExpr
-special AAssignFormExpr
+       super ACallFormExpr
+       super AAssignFormExpr
 end
 class ACallReassignExpr
-special AExpr
-special ACallFormExpr
-special AReassignFormExpr
+       super AExpr
+       super ACallFormExpr
+       super AReassignFormExpr
 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
-special ASendExpr
+       super ASendExpr
     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
-special ABraFormExpr
+       super ABraFormExpr
 end
 class ABraAssignExpr
-special ABraFormExpr
-special AAssignFormExpr
+       super ABraFormExpr
+       super AAssignFormExpr
 end
 class AVarFormExpr
-special AExpr
+       super AExpr
     readable var _n_id: TId
 end
 class ABraReassignExpr
-special ABraFormExpr
-special AReassignFormExpr
+       super ABraFormExpr
+       super AReassignFormExpr
 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
-special AVarFormExpr
+       super AVarFormExpr
 end
 class AVarAssignExpr
-special AVarFormExpr
-special AAssignFormExpr
+       super AVarFormExpr
+       super AAssignFormExpr
 end
 class AVarReassignExpr
-special AVarFormExpr
-special AReassignFormExpr
+       super AVarFormExpr
+       super AReassignFormExpr
 end
 class ARangeExpr
-special AExpr
+       super AExpr
     readable var _n_expr: AExpr
     readable var _n_expr2: AExpr
 end
 class ACrangeExpr
-special ARangeExpr
+       super ARangeExpr
 end
 class AOrangeExpr
-special ARangeExpr
+       super ARangeExpr
 end
 class AArrayExpr
-special AExpr
+       super AExpr
     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
-special ASelfExpr
+       super ASelfExpr
 end
 class ATrueExpr
-special ABoolExpr
+       super ABoolExpr
     readable var _n_kwtrue: TKwtrue
 end
 class AFalseExpr
-special ABoolExpr
+       super ABoolExpr
     readable var _n_kwfalse: TKwfalse
 end
 class ANullExpr
-special AExpr
+       super AExpr
     readable var _n_kwnull: TKwnull
 end
 class AIntExpr
-special AExpr
+       super AExpr
     readable var _n_number: TNumber
 end
 class AFloatExpr
-special AExpr
+       super AExpr
     readable var _n_float: TFloat
 end
 class ACharExpr
-special AExpr
+       super AExpr
     readable var _n_char: TChar
 end
 class AStringFormExpr
-special AExpr
+       super AExpr
 end
 class AStringExpr
-special AStringFormExpr
+       super AStringFormExpr
     readable var _n_string: TString
 end
 class AStartStringExpr
-special AStringFormExpr
+       super AStringFormExpr
     readable var _n_string: TStartString
 end
 class AMidStringExpr
-special AStringFormExpr
+       super AStringFormExpr
     readable var _n_string: TMidString
 end
 class AEndStringExpr
-special AStringFormExpr
+       super AStringFormExpr
     readable var _n_string: TEndString
 end
 class ASuperstringExpr
-special AExpr
+       super AExpr
     readable var _n_exprs: List[AExpr] = new List[AExpr]
 end
 class AParExpr
-special AProxyExpr
+       super AProxyExpr
 end
 class AProxyExpr
-special AExpr
+       super AExpr
     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
-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
-special AAttrFormExpr
+       super AAttrFormExpr
     readable var _n_kwisset: TKwisset
 end
-class AAssignOp special Prod end
+class AAssignOp super Prod end
 class APlusAssignOp
-special AAssignOp
+       super AAssignOp
     readable var _n_pluseq: TPluseq
 end
 class AMinusAssignOp
-special AAssignOp
+       super AAssignOp
     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]
@@ -971,28 +971,28 @@ special ALabelable
     readable var _n_expr: nullable AExpr = null
 end
 class AClosureId
-special Prod
+       super Prod
 end
 class ASimpleClosureId
-special AClosureId
+       super AClosureId
     readable var _n_id: TId
 end
 class ABreakClosureId
-special AClosureId
+       super AClosureId
     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
-special Prod
+       super Prod
     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
index 4878291..fd53079 100644 (file)
@@ -20,7 +20,7 @@ package test_parser
 import parser
 
 class PrintTreeVisitor
-special Visitor
+       super Visitor
        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
-special TablesCapable
+       super TablesCapable
        # Last peeked token
        var _token: nullable Token
 
index 3feb578..a62df55 100644 (file)
@@ -27,12 +27,12 @@ end
 
 # Ancestor of all tokens
 abstract class Token
-special PNode
+       super PNode
 end
 
 # Ancestor of all productions
 abstract class Prod
-special PNode
+       super PNode
        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
-special TablesCapable
+       super TablesCapable
        # 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
-special Visitor
+       super Visitor
        # 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
-special ReduceAction
+       super ReduceAction
        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}
-class @ename special Prod end
+class @ename super Prod end
 $ end
 
 $ foreach {//alt}
 class @ename
-special ${../@ename}
+       super ${../@ename}
 $ foreach {elem}
 $   if @is_list
     readable var _n_@name: List[@etype] = new List[@etype]
@@ -40,7 +40,7 @@ end
 $ end
 
 class Start
-special Prod
+       super Prod
     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
-special Token
+       super Token
 end
 $ end
 $ end
 class EOF
-special Token
+       super Token
 private init noinit do end
 end
 class PError
-special EOF
+       super EOF
 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
-special FlowContext
+       super FlowContext
        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
-special FlowContext
+       super FlowContext
        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
-special SubFlowContext
+       super SubFlowContext
        # 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
-special FlowContext
+       super 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
-special ICodeBuilder
+       super ICodeBuilder
        redef fun stmt(s: ICode)
        do
                if _current_node != null then
@@ -279,7 +279,7 @@ redef class MMImplicitInit
 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)
index 35c474b..3534938 100644 (file)
@@ -23,7 +23,7 @@ import syntax_base
 
 # 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
@@ -311,7 +311,7 @@ end
 
 # Concrete NIT class specialization relation
 class MMSrcAncestor
-special MMAncestor
+       super MMAncestor
        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
-special AbsSyntaxVisitor
+       super AbsSyntaxVisitor
        # 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
-special AbsSyntaxVisitor
+       super AbsSyntaxVisitor
        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
-special AbsSyntaxVisitor
+       super AbsSyntaxVisitor
        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
-special AbsSyntaxVisitor
+       super AbsSyntaxVisitor
        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
-special AbsSyntaxVisitor
+       super AbsSyntaxVisitor
        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
-special AbsSyntaxVisitor
+       super AbsSyntaxVisitor
 
        # 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
-special Visitor
+       super Visitor
        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
-special ScopeBlock
+       super ScopeBlock
        # 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
-special EscapableBlock
+       super EscapableBlock
        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
-special EscapableBlock
+       super EscapableBlock
        # The associated closure
        readable var _closure: MMClosure
 
@@ -230,7 +230,7 @@ end
 ###############################################################################
 
 class AEscapeExpr
-special ALabelable
+       super ALabelable
        # The associated escapable block
        readable var _escapable: nullable EscapableBlock
 
@@ -256,12 +256,12 @@ special ALabelable
 end
 
 redef class AContinueExpr
-special AEscapeExpr
+       super AEscapeExpr
        redef fun kwname do return "continue"
 end
 
 redef class ABreakExpr
-special AEscapeExpr
+       super AEscapeExpr
        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
-special ModuleLoader
+       super ModuleLoader
        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
-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
@@ -83,7 +83,7 @@ end
 
 # 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)
 
@@ -134,7 +134,7 @@ end
 
 # 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
@@ -145,7 +145,7 @@ end
 
 # 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
@@ -153,7 +153,7 @@ end
 
 # 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
@@ -164,7 +164,7 @@ end
 
 # 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)
@@ -173,7 +173,7 @@ end
 
 # 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)
@@ -182,7 +182,7 @@ end
 
 # 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
@@ -201,8 +201,8 @@ end
 
 # 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)
@@ -211,7 +211,7 @@ end
 
 # 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]
@@ -248,21 +248,21 @@ end
 
 # 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
-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
-special Variable
+       super Variable
        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
-special Variable
+       super Variable
        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
-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}\"")
@@ -737,7 +737,7 @@ redef class AExpr
 end
 
 class AAbsAbsSendExpr
-special AExpr
+       super AExpr
        # The signature of the called property (require is_typed)
        fun prop_signature: MMSignature is abstract
 
@@ -746,7 +746,7 @@ special AExpr
 end
 
 class AAbsSendExpr
-special AAbsAbsSendExpr
+       super AAbsAbsSendExpr
        # The invoked method (require is_typed)
        fun prop: MMMethod is abstract
 
@@ -755,20 +755,20 @@ special AAbsAbsSendExpr
 end
 
 class ASuperInitCall
-special AAbsSendExpr
+       super AAbsSendExpr
 end
 
 redef class ASuperExpr
-special ASuperInitCall
+       super ASuperInitCall
        fun init_in_superclass: nullable MMMethod is abstract
 end
 
 redef class ANewExpr
-special AAbsSendExpr
+       super AAbsSendExpr
 end
 
 redef class ASendExpr
-special ASuperInitCall
+       super ASuperInitCall
        # Closure definitions
        fun closure_defs: nullable Array[AClosureDef] is abstract
 end
@@ -779,19 +779,19 @@ redef class AReassignFormExpr
 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
-special ASendReassignExpr
+       super ASendReassignExpr
 end
 
 redef class ABraReassignExpr
-special ASendReassignExpr
+       super ASendReassignExpr
 end
 
 redef class AAttrFormExpr
@@ -828,7 +828,7 @@ redef class AVarFormExpr
 end
 
 redef class AClosureCallExpr
-special AAbsAbsSendExpr
+       super AAbsAbsSendExpr
        # 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
-special AbsSyntaxVisitor
+       super AbsSyntaxVisitor
        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
-special AExpr
+       super AExpr
        # The corresponding escapable block
        readable var _escapable: nullable EscapableBlock
 
@@ -545,7 +545,7 @@ special AExpr
 end
 
 redef class ADoExpr
-special AAbsControl
+       super AAbsControl
        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
-special AAbsControl
+       super AAbsControl
        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
-special AAbsControl
+       super AAbsControl
        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
-special AAbsControl
+       super AAbsControl
        var _variable: nullable AutoVariable
        redef fun variable do return _variable.as(not null)
 
@@ -1822,7 +1822,7 @@ redef class AClosureDef
 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
@@ -1853,7 +1853,7 @@ special AExpr
 end
 
 redef class AIsaExpr
-special ATypeCheckExpr
+       super ATypeCheckExpr
        redef fun after_typing(v)
        do
                check_expr_cast(v, n_expr, n_type)
@@ -1868,7 +1868,7 @@ special ATypeCheckExpr
 end
 
 redef class AAsCastExpr
-special ATypeCheckExpr
+       super ATypeCheckExpr
        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
-special O
+       super O
        init do end
 end
 
@@ -30,8 +30,8 @@ class U
 end
 
 class B
-special A
-special U
+       super A
+       super U
        redef fun output do 2.output
        init do end
 end
index eaeb85c..5ab6412 100644 (file)
@@ -23,7 +23,7 @@ class A
 end
 
 class B
-special A
+       super A
 end
 
 fun outa(a: A) do a.output
index 779e4bd..e57746c 100644 (file)
@@ -21,7 +21,7 @@ class A
 end
 
 class B
-special A
+       super A
        fun bar do 2.output
 end
 
index bb60484..5c81c2b 100644 (file)
@@ -40,7 +40,7 @@ class Foo
 end
 
 class Bar
-special Foo
+       super Foo
        var _a3: Int
        redef fun run
        do
index 8961423..d6b567b 100644 (file)
@@ -15,7 +15,7 @@
 import base_attr2
 
 class B
-special A
+       super A
        fun foo_b(a: A)
        do
                a1.output
index 7511824..f7bf6a7 100644 (file)
@@ -22,14 +22,14 @@ class A
 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
-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
index c20f718..cc918bd 100644 (file)
@@ -30,7 +30,7 @@ class A
 end
 
 class B
-special A
+       super A
        #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
-special A
+       super A
        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
-special Foo
+       super Foo
        readable writable var _a3: Int 
        redef fun run
        do
index 9df6bab..bc5ab98 100644 (file)
@@ -63,7 +63,7 @@ class Foo
 end
 
 class Bar
-special Foo
+       super Foo
        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
-special Foo
+       super Foo
 end
 
 #alt4# var b2 = new Baz
index b662cad..3e2c6f0 100644 (file)
@@ -57,7 +57,7 @@ class Foo
 end
 
 class Bar
-special Foo
+       super Foo
        var _a3: Integer
        redef fun run
        do
index e1de585..8e10a92 100644 (file)
@@ -51,7 +51,7 @@ class Foo
 end
 
 class Bar
-special Foo
+       super Foo
        var _a3: Int
        redef fun run
        do
index e98e34e..df23c80 100644 (file)
@@ -21,7 +21,7 @@ class A
 end
 
 class B
-special A
+       super A
        fun unreasheable
        do
                var a: A
@@ -32,7 +32,7 @@ special A
 end
 
 class C
-special A
+       super A
        init do end
 end
 
index 0d962ec..f9ecb67 100644 (file)
@@ -28,16 +28,16 @@ class T
 end
 
 class U
-special T
+       super T
 end
 
 class V
-special T
+       super T
 end
 
 class W
-special U
-special V
+       super U
+       super V
 end
 
 fun maybe: Bool do return true
index 325f3ed..1bed473 100644 (file)
@@ -17,7 +17,7 @@
 import base_closure2
 
 class B
-special A
+       super A
        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
-special A
+       super A
        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
-special A
+       super A
        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
-special G[G1]
+       super G[G1]
        redef fun foo
        do
                1.output
@@ -35,7 +35,7 @@ special G[G1]
 end
 
 class G2
-special G[G2]
+       super G[G2]
        redef fun foo
        do
                2.output
index f67f2c1..f9bee31 100644 (file)
@@ -23,7 +23,7 @@ class A
 end
 
 class B
-special A
+       super A
        init(s: Char) do
                'B'.output
                '['.output
@@ -34,7 +34,7 @@ special A
 end
 
 class C
-special B
+       super B
        init(s) do
                'C'.output
                '['.output
@@ -44,7 +44,7 @@ special B
 end
 
 class D
-special C
+       super C
        init(s) do super
 end
 
index b6738e7..9c608b3 100644 (file)
@@ -20,7 +20,7 @@ class A
 end
 
 class B
-special A
+       super A
        init cb
        do
                'B'.output
@@ -37,7 +37,7 @@ special A
 end
 
 class C
-special B
+       super B
        init cc
        do
                'C'.output
@@ -54,7 +54,7 @@ special B
 end
 
 class M
-special A
+       super A
        redef fun foo
        do
                'm'.output
@@ -63,8 +63,8 @@ special A
 end
 
 class N
-special B
-special M
+       super B
+       super M
        redef fun foo
        do
                'n'.output
@@ -73,8 +73,8 @@ special M
 end
 
 class O
-special N
-special C
+       super N
+       super C
        init co
        do
                'O'.output
index d8e1fcf..0ba0516 100644 (file)
@@ -14,7 +14,7 @@ class A
 end
 
 class B
-special A
+       super A
 #alt1# init cb
 #alt1# do
 #alt1#         'B'.output
@@ -39,7 +39,7 @@ special A
 end
 
 class C
-special A
+       super A
 #alt2# init cc
 #alt2# do
 #alt2#         'C'.output
@@ -64,7 +64,7 @@ special A
 end
 
 class M
-special C
+       super C
        redef fun foo
        do
                'm'.output
@@ -73,8 +73,8 @@ special C
 end
 
 class N
-special B
-special M
+       super B
+       super M
        redef fun foo
        do
                'n'.output
index 1240768..516361b 100644 (file)
@@ -14,7 +14,7 @@ class A
 end
 
 class M
-special A
+       super A
        redef fun foo
        do
                'm'.output
@@ -23,7 +23,7 @@ special A
 end
 
 class B
-special A
+       super A
        init cb
        do
                'B'.output
@@ -40,7 +40,7 @@ special A
 end
 
 class N
-special A
+       super A
        redef fun foo
        do
                'n'.output
@@ -49,8 +49,8 @@ special A
 end
 
 class O
-special M
-special B
+       super M
+       super B
        redef fun foo
        do
                'o'.output
@@ -59,8 +59,8 @@ special B
 end
 
 class P
-special B
-special N
+       super B
+       super N
        redef fun foo
        do
                'p'.output
@@ -69,18 +69,19 @@ special N
 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
index 1fe6773..1ac2f5e 100644 (file)
@@ -39,8 +39,8 @@ interface N
 end
 
 class O
-special M
-special B
+       super M
+       super B
        redef fun foo
        do
                'o'.output
@@ -49,8 +49,8 @@ special B
 end
 
 class P
-special B
-special N
+       super B
+       super N
        redef fun foo
        do
                'p'.output
@@ -59,18 +59,18 @@ special N
 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
index 82f83b2..ef894f9 100644 (file)
@@ -15,7 +15,7 @@ class A
 end
 
 class B
-special A
+       super A
        init cb(a, b: Char)
        do
                'B'.output
@@ -33,7 +33,7 @@ special A
 end
 
 class C
-special B
+       super B
        init cc(a,b,c: Char)
        do
                'C'.output
@@ -51,7 +51,7 @@ special B
 end
 
 class M
-special A
+       super A
        redef fun foo
        do
                'm'.output
@@ -60,8 +60,8 @@ special A
 end
 
 class N
-special B
-special M
+       super B
+       super M
        redef fun foo
        do
                'n'.output
@@ -70,8 +70,8 @@ special M
 end
 
 class O
-special N
-special C
+       super N
+       super C
        init co(a,b,c,o: Char)
        do
                'O'.output
index 51460df..ac93fb4 100644 (file)
@@ -26,7 +26,7 @@ class A
 end
 
 class B
-special A
+       super A
        init do
                'B'.output
                '1'.output
@@ -40,7 +40,7 @@ special A
 end
 
 class C
-special A
+       super A
        init do
                'C'.output
                '1'.output
@@ -54,8 +54,8 @@ special A
 end
 
 class D
-special B
-special C
+       super B
+       super C
        init do
                'D'.output
                '0'.output
index ae301ec..2ecfb60 100644 (file)
@@ -37,7 +37,7 @@ class A
 end
 
 class B
-special A
+       super A
        init initb do
                'B'.output
                '1'.output
@@ -63,7 +63,7 @@ special A
 end
 
 class C
-special A
+       super A
        init do
                'C'.output
                '1'.output
@@ -94,8 +94,8 @@ special A
 end
 
 class D
-special B
-special C
+       super B
+       super C
        init initd do
 #alt1#         super
                'D'.output
index 2872514..1ebe670 100644 (file)
@@ -7,7 +7,7 @@ class A
 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
index 1e85bb6..e684f95 100644 (file)
@@ -22,13 +22,13 @@ interface Inline__
 end
 
 class A
-special Inline__
+       super Inline__
        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
index 645fa8c..0d03612 100644 (file)
@@ -35,7 +35,7 @@ interface Inline__
 end
 
 class A
-special Inline__
+       super Inline__
 end
 
 var a: A = new A
index 31ef7b9..6d64fda 100644 (file)
@@ -35,7 +35,7 @@ interface Inline__
 end
 
 class A
-special Inline__
+       super Inline__
 end
 
 var a: A = new A
index 351dedc..b6778dc 100644 (file)
@@ -35,7 +35,7 @@ interface Inline__
 end
 
 class A
-special Inline__
+       super Inline__
 end
 
 fun test1
index f25b454..44867dd 100644 (file)
@@ -23,7 +23,7 @@ interface Inline__
 end
 
 class A
-special Inline__
+       super Inline__
        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
-special Inline__
+       super Inline__
        redef fun foo(i: Int)
        do
                'A'.output
index 32861e2..6f7f087 100644 (file)
@@ -20,7 +20,7 @@ class O
 end
 
 class A
-special O
+       super O
        init do end
 end
 
@@ -28,8 +28,8 @@ class U
 end
 
 class B
-special A
-special U
+       super A
+       super U
        init do end
 end
 
index 816cb39..e88a015 100644 (file)
@@ -20,12 +20,12 @@ class A
        init do end
 end
 class B
-special A
+       super A
        fun foo do 0.output
        init do end
 end
 class C
-special B
+       super B
        fun bar do 1.output
        init do end
 end
index 1551ac3..782277e 100644 (file)
@@ -21,7 +21,7 @@ class A
 end
 
 class B
-special A
+       super A
        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
-special A
+       super A
        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
-special A
+       super A
        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
-special A
+       super A
        fun foo do 0.output
        init do end
 end
 
 class C
-special B
+       super B
        fun bar do 1.output
        init do end
 end
index 8b64c56..3b0df84 100644 (file)
@@ -44,7 +44,7 @@ class A
 end
 
 class B
-special A
+       super A
        redef fun bar(i: Int)
        do
                (i*100).output
index 15226d8..4611f85 100644 (file)
@@ -17,7 +17,7 @@
 private import base_prot
 
 class A2
-special A
+       super A
        fun o
        do
                pub
index 9770c24..76a24c1 100644 (file)
@@ -26,7 +26,7 @@ class A
 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
index eca7e08..a8a645f 100644 (file)
@@ -40,7 +40,7 @@ class A
 end
 
 class B
-special A
+       super A
        redef fun bar(i: Int)
        do
                i.output
index 9796cff..3c4c556 100644 (file)
@@ -44,7 +44,7 @@ class A
 end
 
 class B
-special A
+       super A
        redef fun bar(i: Int)
        do
                i.output
index b6bea33..ed1d84f 100644 (file)
@@ -29,7 +29,7 @@ class A
 end
 
 class B
-special A
+       super A
        redef fun foo
        do
                'B'.output
@@ -46,7 +46,7 @@ special A
 end
 
 class C
-special A
+       super A
        redef fun foo
        do
                'C'.output
@@ -63,8 +63,8 @@ special A
 end
 
 class D
-special B
-special C
+       super B
+       super C
        redef fun foo
        do
                'D'.output
index f62d58e..38e6caf 100644 (file)
@@ -21,12 +21,12 @@ class A
 end
 
 class B
-special A
+       super A
        fun b do 'B'.output
 end
 
 class C
-special A
+       super A
        fun c do 'C'.output
 end
 
index 15012e7..6a5273e 100644 (file)
@@ -20,7 +20,7 @@ class A
 end
 
 class B
-special A
+       super A
 end
 
 fun rand: Bool do return true
index ec68f06..db6a045 100644 (file)
@@ -23,7 +23,7 @@ class A
 end
 
 class B
-special A
+       super A
        init do end
 end
 
index b2fdef8..edc99cc 100644 (file)
@@ -23,7 +23,7 @@ class A
 end
 
 class B
-special A
+       super A
        init do end
 end
 
@@ -33,7 +33,7 @@ class T
 end
 
 class U
-special T
+       super T
        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
-special A
+       super A
        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
-special A
+       super A
        redef type E: U
        init do end
 end
index 214fa90..964fc39 100644 (file)
@@ -28,7 +28,7 @@ class A[E]
 end
 
 class B
-#alt3#special A[Int]
+       #alt3#super A[Int]
        type U: Int
 
        fun test
index 1dac6e4..ad72cc6 100644 (file)
@@ -21,7 +21,7 @@ interface Elt
 end
 
 class A
-special Elt
+       super Elt
        var _a: Int
        redef fun val1: Int do return _a
 
@@ -29,7 +29,7 @@ special Elt
 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
@@ -37,12 +37,12 @@ special Elt
 end
 
 class B
-special Elt2
+       super Elt2
        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
@@ -55,8 +55,8 @@ special Elt
 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
 
@@ -67,14 +67,14 @@ special Elt2
 end
 
 class E
-special Elt2
+       super Elt2
        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
index 6a9ade7..d4a9122 100644 (file)
@@ -23,7 +23,7 @@ class Node
 end
 
 class WakeUpNode
-special Node
+       super Node
        fun wake_up is abstract
        # Wake up the node
        fun wake_up_in(d: Int)
@@ -35,7 +35,7 @@ special Node
 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
@@ -70,7 +70,7 @@ special Node
 end
 
 class NodeSink
-special Node
+       super Node
        fun recieve(n: NodeSource) is abstract
        # the `n' has emeted a signal
 end
@@ -131,8 +131,8 @@ end
 #
 
 class BeepSource
-special NodeSource
-special WakeUpNode
+       super NodeSource
+       super WakeUpNode
        redef fun wake_up
        do
                send
@@ -153,7 +153,7 @@ special WakeUpNode
 end
 
 class CountSink
-special NodeSink
+       super NodeSink
        readable var _count: Int = 0
        redef fun recieve(n: NodeSource)
        do
@@ -162,7 +162,7 @@ special NodeSink
 end
 
 class SimpleCountSink
-special CountSink
+       super CountSink
 
        init(name: String)
        do
@@ -171,8 +171,8 @@ special CountSink
 end
 
 class NodeAlternate
-special NodeSink
-special NodeSource
+       super NodeSink
+       super NodeSource
        var _last: nullable NodeSource
        redef fun recieve(n: NodeSource)
        do
@@ -189,8 +189,8 @@ special NodeSource
 end
 
 class NodeEat
-special CountSink
-special NodeSource
+       super CountSink
+       super NodeSource
        var _limit: Int
        redef fun recieve(n: NodeSource)
        do
@@ -211,9 +211,9 @@ special NodeSource
 end
 
 class NodeDelay
-special NodeSource
-special NodeSink
-special WakeUpNode
+       super NodeSource
+       super NodeSink
+       super WakeUpNode
        var _delay: Int
        redef fun recieve(n: NodeSource)
        do
index 2a7fa1b..dcf2d9b 100644 (file)
@@ -52,7 +52,7 @@ class A
 end
 
 class B
-special A
+       super A
        redef fun val: Int
        do
                return 1
@@ -64,7 +64,7 @@ special A
 end
 
 class C
-special A
+       super A
        redef fun val: Int
        do
                return 2
@@ -76,7 +76,7 @@ special A
 end
 
 class D
-special A
+       super A
        redef fun val: Int
        do
                return 3
index cf863b8..e296465 100644 (file)
@@ -22,32 +22,32 @@ class A
        init do end
 end
 class B
-special A
+       super A
        redef fun foo do end
        init do end
 
 end
 class C
-special A
+       super A
        init do end
 
 end
 class D
-special B
-special C
+       super B
+       super C
        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
-special D
-special E
+       super D
+       super E
        redef fun foo do end
        init do end
 
index aae0c6b..6ea638d 100644 (file)
@@ -17,6 +17,6 @@
 import base_gen_f
 
 class G3
-special G1
-special G2
+       super G1
+       super G2
 end
index b0eafbb..f9e31b5 100644 (file)
@@ -15,6 +15,6 @@
 # limitations under the License.
 
 class A
-special Array[Int]
-special Array[Char]
+       super Array[Int]
+       super Array[Char]
 end
index 8c9cf1b..510e4bd 100644 (file)
@@ -18,13 +18,13 @@ class Object
 end
 
 class A
-special B
+       super B
 end
 
 class B
-special C
+       super C
 end
 
 class C
-special A
+       super A
 end
index 31454f1..b9b7ac8 100644 (file)
@@ -23,7 +23,7 @@ interface Discrete
 end
 
 enum Int
-special Discrete
+       super Discrete
 end
 
 interface Collection[E]
@@ -36,11 +36,11 @@ enum NativeString
 end
 
 class Array[E]
-special Collection[E]
+       super Collection[E]
 end
 
 class Range[E]
-special Collection[E]
+       super Collection[E]
 end
 
 #alt1#var a = [1, 2]
index 8010187..e6b29d2 100644 (file)
@@ -26,6 +26,6 @@ class B
        fun toto do end
 end
 class C
-special A
-special B
+       super A
+       super B
 end
index 3aceac3..b74fc3c 100644 (file)
@@ -22,14 +22,14 @@ class A
        fun toto do end
 end
 class B
-special A
+       super A
        redef fun toto do end
 end
 class C
-special A
+       super A
        redef fun toto do end
 end
 class D
-special B
-special C
+       super B
+       super C
 end
index 235eef4..75feb69 100644 (file)
@@ -18,6 +18,6 @@ class A
        var _a: Int
 end
 class B
-special A
+       super A
        redef var _a: Object
 end
index c98cc5a..7a3ae87 100644 (file)
@@ -19,6 +19,6 @@ fun toto: Int do return 1 end
 end
 
 class B
-special A
+       super A
 redef fun toto do end
 end
index 590802a..a3615ea 100644 (file)
@@ -20,6 +20,6 @@ fun toto(i: Int) do end
 end
 
 class B
-special A
+       super A
 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
-special A
+       super A
 redef fun toto(c: Char) do end
 end
index 5a474df..0b23aef 100644 (file)
@@ -19,6 +19,6 @@ fun toto do end
 end
 
 class B
-special A
+       super A
 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
-special A
+       super A
 redef fun toto: Char do return 'a' end
 end
index 16cbee2..cfe5302 100644 (file)
@@ -18,6 +18,6 @@
 #alt1#end
 
 class A
-special Fail
+       super Fail
 end
 
index 3aad87b..4e49e03 100644 (file)
@@ -18,6 +18,6 @@
 #alt1#end
 
 class B
-special Array[Fail]
+       super Array[Fail]
 end
 
index 9380c88..3b3744d 100644 (file)
@@ -29,7 +29,7 @@ private
 end
 
 class OneBottle
-special Bottle
+       super Bottle
        redef fun sing
        do
                sing_start
@@ -45,7 +45,7 @@ special Bottle
 end
 
 class TwoBottles
-special Bottle
+       super Bottle
        redef fun sing
        do
                sing_start
@@ -61,7 +61,7 @@ special Bottle
 end
 
 class Bottles
-special Bottle
+       super Bottle
 
        redef fun sing
        do
index ac72c4e..1bcc313 100644 (file)
@@ -305,7 +305,7 @@ private
 end
 
 class RayonNormal
-special Rayon
+       super Rayon
 
        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.
-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"
index 7a5d8ab..23da9ac 100644 (file)
@@ -16,7 +16,7 @@
 
 
 class BackIntSorter
-special AbstractSorter[Int]
+       super AbstractSorter[Int]
        redef fun compare(a: Int, b: Int): Int
        do
                return b <=> a
@@ -26,7 +26,7 @@ special AbstractSorter[Int]
 end
 
 class DecimalSorter
-special AbstractSorter[Int]
+       super AbstractSorter[Int]
        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
-special B
+       super B
        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
-special A
+       super A
    redef fun a12 
    do
           print(12)
index a7a944e..e73f7f6 100644 (file)
@@ -34,7 +34,7 @@ end
 # B is class 4
 
 class C # class 5
-special B
+       super B
    redef fun all25
    do
           print(250)
index e2e675c..ba9dc49 100644 (file)
@@ -20,12 +20,12 @@ class A
 end
 
 class B
-special A
+       super A
        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
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
-special SDL_EventListener
+       super SDL_EventListener
        redef fun on_mouse_button(evt: SDL_MouseButtonEvent)
        do
                if evt.is_pressed then
@@ -240,7 +240,7 @@ redef class Sprite
 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)
@@ -259,7 +259,7 @@ special Sprite
 end
 
 class Player
-special MovingSprite
+       super MovingSprite
 
        fun update_one_step(mx: Int, my: Int)
        do
@@ -361,7 +361,7 @@ special MovingSprite
 end
 
 class Box
-special Sprite
+       super Sprite
        var _images: Array[SDL_Surface]
        var _image_number: Int
        var _image_delay: Int
@@ -411,7 +411,7 @@ special Sprite
 end
 
 class Particle
-special MovingSprite
+       super MovingSprite
        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
-class GeneBool special Gene[Bool]
+class GeneBool
+       super Gene[Bool]
        fun a=(b: Bool)
        do
                _a_ = b
index bd2ca0b..b8edf26 100644 (file)
@@ -28,7 +28,7 @@ class A
 end
 
 class B
-special A
+       super A
        redef fun foo
        do
                2.output
@@ -38,7 +38,7 @@ special A
 end
 
 class C
-special B
+       super B
        fun baz
        do
                bar
index 93718dc..6c2c763 100644 (file)
@@ -28,7 +28,7 @@ class Toto[E]
 end
 
 class TestNative
-special ArrayCapable[Int]
+       super ArrayCapable[Int]
 
 init
 do
index c8545bb..d31db4b 100644 (file)
@@ -17,7 +17,7 @@
 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 
@@ -27,12 +27,12 @@ special Object
 end
 
 class Gen2[G: Int]
-special Gen1[G, Char]
+       super Gen1[G, Char]
    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 
index 4050703..0c01486 100644 (file)
@@ -20,14 +20,14 @@ class T
 end
 
 class U
-special T
+       super T
 end
 
 class A[E: T]
 end
 
 class B
-special A[T]
+       super A[T]
 end
 
 #class A[F: U]
index 11deb8f..dc9da19 100644 (file)
@@ -24,7 +24,7 @@ class A
 end
 
 class B
-special A
+       super A
        redef fun g do print(2) end
        redef fun i do print(2) end
 
@@ -32,7 +32,7 @@ special A
 end
 
 class C
-special A
+       super A
        redef fun h do print(3) end
        redef fun i do print(3) end
 
@@ -40,8 +40,8 @@ special A
 end
 
 class D
-special B
-special C
+       super B
+       super C
        redef fun i do print(4) end
 
        init do end
index 198f228..b649f99 100644 (file)
@@ -39,7 +39,7 @@ class A
 end
 
 class B
-special A
+       super A
    redef fun foo
       do
           printn("B")
@@ -47,7 +47,7 @@ special A
 end
 
 class C
-special A
+       super A
    fun foo2
       do
           printn("C")
@@ -55,8 +55,8 @@ special A
 end
 
 class D
-special B
-special C
+       super B
+       super C
    redef fun foo
       do
           printn("D")
index cebc6d7..d3c0bc8 100644 (file)
@@ -26,7 +26,7 @@ class A
 end
 
 class B
-special A
+       super A
    redef  fun foo
    do
       21.output
@@ -40,7 +40,7 @@ special A
 end
 
 class C
-special B
+       super B
    redef fun foo
    do
       31.output
index 99190b1..a3ec367 100644 (file)
@@ -24,7 +24,7 @@ class I[F]
 end
 
 class J
-special I[A]
+       super I[A]
    fun bar do 2.output end
 
        init do end
@@ -35,7 +35,7 @@ class G[E]
 end
 
 class H[F]
-special G[A]
+       super G[A]
    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
-special O
+       super O
    redef fun foo
    do
       printn(11)
@@ -45,7 +45,7 @@ special O
 end
 
 class B
-special A
+       super A
    redef fun foo
    do
       printn(12)
index 2f8d427..1a0036f 100644 (file)
@@ -24,7 +24,7 @@ class A
 end
 
 class B
-special A
+       super A
        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]
-special A[Bool,G]
+       super A[Bool,G]
        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]
-special A[H, Int]
+       super A[H, Int]
        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
-special A
+       super A
        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
-special B
+       super B
        redef fun foo(a: Int): Int
        do
                return super * 2
index 7ae65d3..6717b8c 100644 (file)
@@ -24,7 +24,7 @@ class A
 end
 
 class B
-special A
+       super A
     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
-special A
+       super A
        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
-special B
+       super B
        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
-special A
+       super A
     redef fun foo: B 
     do 
            return new B 
@@ -61,7 +61,7 @@ special A
 end
 
 redef class Int
-special B
+       super B
     redef fun foo: Int 
     do 
            return 8