syntax: 'meth' -> 'fun', 'attr' -> 'var'
authorJean Privat <jean@pryen.org>
Fri, 26 Jun 2009 14:40:54 +0000 (10:40 -0400)
committerJean Privat <jean@pryen.org>
Fri, 26 Jun 2009 14:40:54 +0000 (10:40 -0400)
Tests results are updated to reflect the column change in error messages.

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

271 files changed:
examples/fibonacci.nit
examples/procedural_array.nit
lib/dummy_array.nit
lib/filter_stream.nit
lib/game.nit
lib/opts.nit
lib/sdl.nit
lib/standard/abstract_collection.nit
lib/standard/array.nit
lib/standard/environ.nit
lib/standard/exec.nit
lib/standard/file.nit
lib/standard/hash.nit
lib/standard/kernel.nit
lib/standard/list.nit
lib/standard/math.nit
lib/standard/range.nit
lib/standard/sorter.nit
lib/standard/stream.nit
lib/standard/string.nit
lib/standard/string_search.nit
lib/standard/symbol.nit
lib/standard/time.nit
src/abstracttool.nit
src/compiling/compiling.nit
src/compiling/compiling_base.nit
src/compiling/compiling_global.nit
src/compiling/compiling_methods.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/vararg.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/parser_prod.nit
src/parser/parser_tables.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/control_flow.nit
src/syntax/escape.nit
src/syntax/mmbuilder.nit
src/syntax/syntax.nit
src/syntax/syntax_base.nit
src/syntax/typing.nit
src/utils.nit
tests/base_abort.nit
tests/base_as_cast.nit
tests/base_as_notnull.nit
tests/base_attr.nit
tests/base_attr_def.nit
tests/base_attr_init_val1.nit
tests/base_attr_init_val2.nit
tests/base_attr_isset.nit
tests/base_attr_nullable.nit
tests/base_attr_nullable_int.nit
tests/base_classid.nit
tests/base_closure1.nit
tests/base_closure10.nit
tests/base_closure2.nit
tests/base_closure3.nit
tests/base_closure4.nit
tests/base_closure5.nit
tests/base_closure6.nit
tests/base_closure7.nit
tests/base_closure8.nit
tests/base_closure9.nit
tests/base_closure_break.nit
tests/base_closure_default1.nit
tests/base_closure_default2.nit
tests/base_closure_default3.nit
tests/base_closure_default4.nit
tests/base_closure_multi.nit
tests/base_closure_raf.nit
tests/base_compile.nit
tests/base_control_flow.nit
tests/base_control_flow2.nit
tests/base_eq.nit
tests/base_eq_null_notnull.nit
tests/base_gen.nit
tests/base_gen_f.nit
tests/base_gen_int.nit
tests/base_if_expr.nit
tests/base_init_auto.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_int.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_meth_call.nit
tests/base_nullable.nit
tests/base_primitive.nit
tests/base_primitive_null.nit
tests/base_prot.nit
tests/base_prot2.nit
tests/base_prot3.nit
tests/base_sig_inh.nit
tests/base_simple.nit
tests/base_simple2.nit
tests/base_super_linext.nit
tests/base_super_linext_raf.nit
tests/base_var.nit
tests/base_var_assignment_flow.nit
tests/base_virtual_type.nit
tests/base_virtual_type2.nit
tests/base_virtual_type3.nit
tests/base_virtual_type6.nit
tests/base_virtual_type7.nit
tests/base_virtual_type_self.nit
tests/bench_421.nit
tests/bench_complex_sort.nit
tests/bench_fib.nit
tests/bench_int_range_closure.nit
tests/bench_netsim.nit
tests/bench_nsieve_bool.nit
tests/bench_prime.nit
tests/bench_random_n_sort.nit
tests/bench_send.nit
tests/bench_send2.nit
tests/bench_tak.nit
tests/error_attr_2def.nit
tests/error_attr_assign.nit
tests/error_defs.nit
tests/error_formal.nit
tests/error_fun_ret.nit
tests/error_fun_ret2.nit
tests/error_fun_ret3.nit
tests/error_fun_ret4.nit
tests/error_fun_ret5.nit
tests/error_init_auto.nit
tests/error_kern_attr_any.nit
tests/error_kern_attr_int.nit
tests/error_meth_2def.nit
tests/error_meth_2def2.nit
tests/error_meth_create.nit
tests/error_prop_glob.nit
tests/error_prop_loc.nit
tests/error_ref_attr.nit
tests/error_ref_fun.nit
tests/error_ref_param.nit
tests/error_ref_proc.nit
tests/error_ref_ret.nit
tests/error_ret_fun.nit
tests/error_ret_proc.nit
tests/error_ret_type.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_star_type.nit
tests/error_super_many.nit
tests/error_super_none.nit
tests/example_beer.nit
tests/example_hanoi.nit
tests/example_objet.nit
tests/example_point.nit
tests/example_procedural_string.nit
tests/example_simple.nit
tests/example_sorter.nit
tests/example_sorts.nit
tests/example_time.nit
tests/galerie.nit
tests/gccbug_attribute_access.nit
tests/module_0.nit
tests/module_1.nit
tests/module_2.nit
tests/module_simple.nit
tests/rterror_cov_param.nit
tests/rterror_cov_ret.nit
tests/rterror_deep.nit
tests/rterror_nilcall_attr.nit
tests/rterror_nilcall_mono.nit
tests/rterror_nilcall_poly.nit
tests/rterror_nilcall_undead.nit
tests/sav/error_attr_2def.sav
tests/sav/error_defs_alt1.sav
tests/sav/error_defs_alt2.sav
tests/sav/error_defs_alt3.sav
tests/sav/error_defs_alt4.sav
tests/sav/error_defs_alt5.sav
tests/sav/error_defs_alt6.sav
tests/sav/error_defs_alt7.sav
tests/sav/error_defs_alt8.sav
tests/sav/error_formal.sav
tests/sav/error_fun_ret.sav
tests/sav/error_kern_attr_any.sav
tests/sav/error_kern_attr_int.sav
tests/sav/error_meth_2def.sav
tests/sav/error_meth_2def2.sav
tests/sav/error_ref_attr.sav
tests/sav/error_ref_fun.sav
tests/sav/error_ref_proc.sav
tests/sav/error_ref_ret.sav
tests/sav/error_spe_attr.sav
tests/sav/error_spe_fun.sav
tests/sav/error_spe_param.sav
tests/sav/error_spe_param2.sav
tests/sav/error_spe_proc.sav
tests/sav/error_spe_ret.sav
tests/sav/test_multiconstraint_inh.sav
tests/shootout_ackermann.nit
tests/shootout_binarytrees.nit
tests/shootout_nsieve.nit
tests/shootout_pidigits.nit
tests/simple.nit
tests/sol.nit
tests/test_accessor.nit
tests/test_array.nit
tests/test_attr.nit
tests/test_attr_long.nit
tests/test_boxing.nit
tests/test_calls.nit
tests/test_closure_inlined_return.nit
tests/test_coll.nit
tests/test_combined_assignment.nit
tests/test_create.nit
tests/test_create_more.nit
tests/test_extern.nit
tests/test_gen.nit
tests/test_gen_inh.nit
tests/test_inheritance.nit
tests/test_inheritance_raf.nit
tests/test_kernel.nit
tests/test_map.nit
tests/test_map_closure_default.nit
tests/test_mem.nit
tests/test_meta.nit
tests/test_multiconstraint.nit
tests/test_multiconstraint_inh.nit
tests/test_obj.nit
tests/test_operator_brackets.nit
tests/test_operators.nit
tests/test_paire.nit
tests/test_refinement.nit
tests/test_return.nit
tests/test_star.nit
tests/test_string_search.nit
tests/test_super.nit
tests/test_super_explicit.nit
tests/test_super_gen.nit
tests/test_super_gen_raf.nit
tests/test_super_param.nit
tests/test_super_param_raf.nit
tests/test_super_param_raf2.nit
tests/test_undead.nit
tests/test_variance_attr.nit
tests/test_variance_param.nit
tests/test_variance_ret.nit

index 0df0209..fcf7426 100644 (file)
@@ -19,7 +19,7 @@ package fibonacci
 
 redef class Int
        # Calculate the self-th element of the fibonacci sequence.
-       meth fibonacci: Int
+       fun fibonacci: Int
        do
                if self < 2 then
                        return 1
@@ -30,7 +30,7 @@ redef class Int
 end
 
 # Print usage and exit.
-meth usage
+fun usage
 do
        print "Usage: fibonnaci <integer>" 
        exit 0 
index 6d31fc2..8ceb3a8 100644 (file)
@@ -20,7 +20,7 @@ package procedural_array
 
 # The sum of the elements of `a'.
 # Uses a 'for' control structure.
-meth array_sum(a: Array[Int]): Int
+fun array_sum(a: Array[Int]): Int
 do
        var sum = 0
        for i in a do
@@ -31,7 +31,7 @@ end
 
 # The sum of the elements of `a' (alternative version).
 # Uses a 'while' control structure.
-meth array_sum_alt(a: Array[Int]): Int
+fun array_sum_alt(a: Array[Int]): Int
 do
        var sum = 0
        var i = 0
index adecf04..46297ea 100644 (file)
 class DummyArray
 special Set[Int]
 special ArrayCapable[Int]
-       attr _capacity: Int 
-       redef readable attr _length: Int 
-       attr _keys: NativeArray[Int]
-       attr _values: NativeArray[Int]
+       var _capacity: Int 
+       redef readable var _length: Int 
+       var _keys: NativeArray[Int]
+       var _values: NativeArray[Int]
 
-       redef meth add(value: Int)
+       redef fun add(value: Int)
        do
                assert full: _length < (_capacity-1)
                var l = _length
@@ -27,7 +27,7 @@ special ArrayCapable[Int]
                _length = l + 1
        end
 
-       redef meth remove(value: Int)
+       redef fun remove(value: Int)
        do
                assert not is_empty
                var l = _length
@@ -40,7 +40,7 @@ special ArrayCapable[Int]
                _length = l - 1
        end
 
-       redef meth has(value: Int): Bool
+       redef fun has(value: Int): Bool
        do
                assert value < _capacity
                var pos = _keys[value]
@@ -50,28 +50,28 @@ special ArrayCapable[Int]
                return false
        end
 
-       redef meth first: Int
+       redef fun first: Int
        do
                assert _length > 0
                return _values[0]
        end
 
-       redef meth is_empty: Bool
+       redef fun is_empty: Bool
        do
                return not (_length > 0)
        end
 
-       redef meth clear
+       redef fun clear
        do
                _length = 0
        end
 
-       redef meth iterator: DummyIterator
+       redef fun iterator: DummyIterator
        do
                return new DummyIterator(self)
        end
 
-       private meth value_at(pos: Int): Int
+       private fun value_at(pos: Int): Int
        do
                return _values[pos]
        end
@@ -86,21 +86,21 @@ end
 
 class DummyIterator
 special Iterator[Int]
-       attr _array: DummyArray
-       attr _pos: Int
+       var _array: DummyArray
+       var _pos: Int
 
-       redef meth item: Int
+       redef fun item: Int
        do
                assert is_ok
                return _array.value_at(_pos)
        end
 
-       redef meth is_ok: Bool
+       redef fun is_ok: Bool
        do
                return _pos < _array.length
        end
 
-       redef meth next do _pos = _pos + 1 end
+       redef fun next do _pos = _pos + 1 end
 
        init(array: DummyArray)
        do
index 52076c9..bcd01be 100644 (file)
 class FilterIStream
 special IStream
        # Filter readed elements
-       readable attr _stream: IStream 
+       readable var _stream: IStream 
 
-       redef meth eof: Bool
+       redef fun eof: Bool
        do
                assert stream != null
                return stream.eof
        end
 
-       private meth stream=(i: IStream)
+       private fun stream=(i: IStream)
        do
                _stream = i
        end
@@ -30,16 +30,16 @@ end
 class FilterOStream
 special OStream
        # Filter outputed elements
-       readable attr _stream: OStream 
+       readable var _stream: OStream 
 
        # Can the stream be used to write
-       redef meth is_writable: Bool
+       redef fun is_writable: Bool
        do
                assert stream != null
                return stream.is_writable
        end
 
-       private meth stream=(i: OStream)
+       private fun stream=(i: OStream)
        do
                _stream = i
        end
@@ -47,9 +47,9 @@ end
 
 class StreamCat
 special FilterIStream
-       attr _streams: Iterator[IStream]
+       var _streams: Iterator[IStream]
 
-       redef meth eof: Bool
+       redef fun eof: Bool
        do
                if stream == null then
                        return true
@@ -62,7 +62,7 @@ special FilterIStream
                end
        end
 
-       redef meth stream: IStream
+       redef fun stream: IStream
        do
                if _stream == null and _streams.is_ok then
                        stream = _streams.item
@@ -72,13 +72,13 @@ special FilterIStream
                return _stream
        end
 
-       redef meth read_char: Int
+       redef fun read_char: Int
        do
                assert not eof
                return stream.read_char
        end
 
-       redef meth close
+       redef fun close
        do
                while stream != null do
                        stream.close
@@ -98,9 +98,9 @@ end
 
 class StreamDemux
 special FilterOStream
-       attr _streams: Array[OStream]
+       var _streams: Array[OStream]
 
-       redef meth is_writable: Bool
+       redef fun is_writable: Bool
        do
                if stream.is_writable then
                        return true
@@ -115,7 +115,7 @@ special FilterOStream
                end
        end
 
-       redef meth write(s: String)
+       redef fun write(s: String)
        do
                for i in _streams
                do
index 929ba42..dea6d9f 100644 (file)
@@ -27,13 +27,13 @@ import sdl
 class TickCounter
        # Register a new tick
        # Return true every time interval
-       meth update: Bool
+       fun update: Bool
        do
                return update_with(sdl_get_ticks)
        end
 
        # Like `update' but with an explicit time instead of `sdl_get_ticks`
-       meth update_with(time: Int): Bool
+       fun update_with(time: Int): Bool
        do
                var f = _ticks + 1
                var dt = time - _time
@@ -54,21 +54,21 @@ class TickCounter
        end
 
        # The number of ticks in the last time interval
-       readable attr _count: Int 
+       readable var _count: Int 
        
-       redef meth to_s: String
+       redef fun to_s: String
        do
                return _count.to_s
        end
 
        # A ticks counter
-       attr _ticks: Int
+       var _ticks: Int
 
        # Last update time
-       attr _time: Int
+       var _time: Int
 
        # The time interval
-       readable writable attr _time_interval: Int
+       readable writable var _time_interval: Int
 
        # Create a new counter (time interval is 1000)
        init
@@ -84,14 +84,14 @@ class TickCounter
 end
 
 class Rectangle
-       meth left: Int is abstract
-       meth right: Int is abstract
-       meth top: Int is abstract
-       meth bottom: Int is abstract
-       meth width: Int is abstract
-       meth height: Int is abstract
+       fun left: Int is abstract
+       fun right: Int is abstract
+       fun top: Int is abstract
+       fun bottom: Int is abstract
+       fun width: Int is abstract
+       fun height: Int is abstract
        
-       meth contain_pixel(x: Int, y: Int): Bool
+       fun contain_pixel(x: Int, y: Int): Bool
        # Is `self' contains the point (`x',`y') ?
        do
                return x >= left and
@@ -100,7 +100,7 @@ class Rectangle
                        y < bottom
        end
 
-       meth collide(o: Rectangle): Bool
+       fun collide(o: Rectangle): Bool
        do
                var s_l = left
                var s_r = right
@@ -127,29 +127,29 @@ class Sprite
 special Rectangle
 
        # Absolute X coordinate of the main pixel in the screen
-       readable writable attr _x: Int
+       readable writable var _x: Int
 
        # Absolute Y coordinate of the main pixel in the screen
-       readable writable attr _y: Int
+       readable writable var _y: Int
 
        # Set two coordinates in one instruction
-       meth set_xy(x: Int, y: Int)
+       fun set_xy(x: Int, y: Int)
        do
                self.x = x
                self.y = y
        end
 
        # The current image of the object
-       readable attr _image: SDL_Surface
+       readable var _image: SDL_Surface
 
        # Relative X cordinate of the main pixel in the image
-       readable attr _x_image: Int
+       readable var _x_image: Int
 
        # Relative Y cordinate of the main pixel in the image
-       readable attr _y_image: Int
+       readable var _y_image: Int
        
        # Set image and relative coordinates in one instruction
-       meth set_image(i: SDL_Surface, x: Int, y: Int)
+       fun set_image(i: SDL_Surface, x: Int, y: Int)
        do
                _image = i
                _x_image = x
@@ -157,45 +157,45 @@ special Rectangle
        end
        
        # Set image centered on the main pixel (adjust x_image and y_image)
-       meth set_centered_image(i: SDL_Surface)
+       fun set_centered_image(i: SDL_Surface)
        do
                _image = i
                _x_image = i.width / 2
                _y_image = i.height / 2
        end
 
-       redef meth left: Int
+       redef fun left: Int
        do
                return _x - _x_image
        end
        
-       redef meth top: Int
+       redef fun top: Int
        do
                return _y - _y_image
        end
 
-       redef meth right: Int
+       redef fun right: Int
        do
                return _x - _x_image + _image.width
        end
 
-       redef meth bottom: Int
+       redef fun bottom: Int
        do
                return _y - _y_image + _image.height
        end
 
-       redef meth width: Int
+       redef fun width: Int
        do
                return _image.width
        end
 
-       redef meth height: Int
+       redef fun height: Int
        do
                return _image.height
        end
        
        # Draw the image on the surface
-       meth blit_on(s: SDL_Surface)
+       fun blit_on(s: SDL_Surface)
        do
                _image.blit_on_xy(s, _x - _x_image, _y - _y_image)
        end
index 5f409e8..1673215 100644 (file)
 # Super class of all option's class
 class Option
        # Names for the option (including long and short ones)
-       readable attr _names: Array[String]
+       readable var _names: Array[String]
 
        # Type of the value of the option
        type VALUE: nullable Object
 
        # Human readable description of the option
-       readable attr _helptext: String 
+       readable var _helptext: String 
 
        # Is this option mandatory?
-       readable writable attr _mandatory: Bool 
+       readable writable var _mandatory: Bool 
 
        # Current value of this option
-       writable attr _value: nullable VALUE
+       writable var _value: nullable VALUE
 
        # Current value of this option
-       meth value: VALUE do return _value.as(VALUE)
+       fun value: VALUE do return _value.as(VALUE)
 
        # Default value of this option
-       readable writable attr _default_value: nullable VALUE
+       readable writable var _default_value: nullable VALUE
 
        # Create a new option
        init init_opt(help: String, default: nullable VALUE, names: nullable Array[String])
@@ -49,13 +49,13 @@ class Option
        end
 
        # Add new aliases for this option
-       meth add_aliases(names: String...) do _names.add_all(names)
+       fun add_aliases(names: String...) do _names.add_all(names)
        
        # An help text for this option with default settings
-       redef meth to_s do return pretty(2)
+       redef fun to_s do return pretty(2)
        
        # A pretty print for this help
-       meth pretty(off: Int): String
+       fun pretty(off: Int): String
        do
                var text = new Buffer.from("  ")
                text.append(_names.join(", "))
@@ -67,7 +67,7 @@ class Option
                return text.to_s
        end
 
-       meth pretty_default: String
+       fun pretty_default: String
        do
                if default_value != null then
                        return " ({default_value})"
@@ -76,16 +76,16 @@ class Option
        end
 
        # Consume parameters for this option
-       protected meth read_param(it: Iterator[String]) is abstract
+       protected fun read_param(it: Iterator[String]) is abstract
 end
 
 class OptionText
 special Option
        init(text: String) do init_opt(text, null, null)
 
-       redef meth pretty(off) do return to_s
+       redef fun pretty(off) do return to_s
 
-       redef meth to_s do return helptext
+       redef fun to_s do return helptext
 end
 
 class OptionBool
@@ -94,7 +94,7 @@ special Option
 
        init(help: String, names: String...) do init_opt(help, false, names)
 
-       redef meth read_param(it) do value = true
+       redef fun read_param(it) do value = true
 end
 
 class OptionCount
@@ -103,15 +103,15 @@ special Option
 
        init(help: String, names: String...) do init_opt(help, 0, names)
 
-       redef meth read_param(it) do value += 1
+       redef fun read_param(it) do value += 1
 end
 
 # Option with one mandatory parameter
 class OptionParameter
 special Option
-       protected meth convert(str: String): VALUE is abstract
+       protected fun convert(str: String): VALUE is abstract
 
-       redef meth read_param(it)
+       redef fun read_param(it)
        do
                if it.is_ok then
                        value = convert(it.item)
@@ -130,13 +130,13 @@ special OptionParameter
 
        init(help: String, names: String...) do init_opt(help, null, names)
 
-       redef meth convert(str) do return str
+       redef fun convert(str) do return str
 end
 
 class OptionEnum
 special OptionParameter
        redef type VALUE: Int
-       attr _enum: Array[String]
+       var _enum: Array[String]
 
        init(enum: Array[String], help: String, default: Int, names: String...)
        do
@@ -145,13 +145,13 @@ special OptionParameter
                init_opt("{help} <{enum.join(", ")}>", default, names)
        end
 
-       redef meth convert(str)
+       redef fun convert(str)
        do
                var id = _enum.index_of(str)
                return id
        end
 
-       redef meth pretty_default
+       redef fun pretty_default
        do
                if default_value != null then
                        return " ({_enum[default_value.as(not null)]})"
@@ -167,7 +167,7 @@ special OptionParameter
 
        init(help: String, default: Int, names: String...) do init_opt(help, default, names)
        
-       redef meth convert(str) do return str.to_i
+       redef fun convert(str) do return str.to_i
 end
 
 class OptionArray
@@ -180,8 +180,8 @@ special OptionParameter
                init_opt(help, _values, names)
        end
 
-       attr _values: Array[String]     
-       redef meth convert(str)
+       var _values: Array[String]      
+       redef fun convert(str)
        do
                _values.add(str)
                return _values
@@ -189,12 +189,12 @@ special OptionParameter
 end
 
 class OptionContext
-       readable attr _options: Array[Option] 
-       readable attr _rest: Array[String] 
+       readable var _options: Array[Option] 
+       readable var _rest: Array[String] 
 
-       attr _optmap: Map[String, Option]
+       var _optmap: Map[String, Option]
        
-       meth usage
+       fun usage
        do
                var lmax = 1
                for i in _options do
@@ -211,13 +211,13 @@ class OptionContext
        end
 
        # Parse ans assign options everywhere is the argument list
-       meth parse(argv: Collection[String])
+       fun parse(argv: Collection[String])
        do
                var it = argv.iterator
                parse_intern(it)
        end
 
-       protected meth parse_intern(it: Iterator[String])
+       protected fun parse_intern(it: Iterator[String])
        do
                var parseargs = true
                build
@@ -242,7 +242,7 @@ class OptionContext
                end
        end
 
-       meth add_option(opts: Option...)
+       fun add_option(opts: Option...)
        do
                for opt in opts do
                        _options.add(opt)
@@ -256,7 +256,7 @@ class OptionContext
                _rest = new Array[String]
        end
 
-       private meth build
+       private fun build
        do
                for o in _options do
                        for n in o.names do
index f8f1f3e..e1e8b87 100644 (file)
@@ -15,122 +15,122 @@ package sdl
 
 universal SDL_Surface
 special Pointer
-       meth width: Int is extern "sdl_surface_width"
-       meth height: Int is extern "sdl_surface_height"
+       fun width: Int is extern "sdl_surface_width"
+       fun height: Int is extern "sdl_surface_height"
        
-       meth lock_surface: Int is extern "SDL_LockSurface"
-       meth unlock_surface: Int is extern "SDL_LockSurface"
+       fun lock_surface: Int is extern "SDL_LockSurface"
+       fun unlock_surface: Int is extern "SDL_LockSurface"
 
-       meth blit_on(dest: SDL_Surface) is extern "sdl_blit_surface"
-       meth blit_on_xy(dest: SDL_Surface, dest_x: Int, dest_y: Int) is extern "sdl_blit_surface_xy"
+       fun blit_on(dest: SDL_Surface) is extern "sdl_blit_surface"
+       fun blit_on_xy(dest: SDL_Surface, dest_x: Int, dest_y: Int) is extern "sdl_blit_surface_xy"
 
-       meth update_rect(x: Int, y: Int, w: Int, h: Int) is extern "SDL_UpdateRect"
-       meth update_all
+       fun update_rect(x: Int, y: Int, w: Int, h: Int) is extern "SDL_UpdateRect"
+       fun update_all
        do
                update_rect(0, 0, 0, 0)
        end
 
-       meth clear is extern "sdl_clear_sruface"
+       fun clear is extern "sdl_clear_sruface"
 
-       meth to_display_format: SDL_Surface is extern "SDL_DisplayFormat"
-       meth free is extern "SDL_FreeSurface"
+       fun to_display_format: SDL_Surface is extern "SDL_DisplayFormat"
+       fun free is extern "SDL_FreeSurface"
 end
 
 universal SDL_Screen
 special SDL_Surface
-       meth flip is extern "SDL_Flip"
+       fun flip is extern "SDL_Flip"
 end
        
 universal SDL_Event
 special Pointer
-       meth is_keyboard: Bool is extern "sdl_evt_is_keyboard"
-       meth as_keyboard: SDL_KeyboardEvent is extern "sdl_evt_as_keyboard"
-       meth is_mouse_button: Bool is extern "sdl_evt_is_mouse_button"
-       meth as_mouse_button: SDL_MouseButtonEvent is extern "sdl_evt_as_mouse_button"
-       meth is_mouse_motion: Bool is extern "sdl_evt_is_mouse_motion"
-       meth as_mouse_motion: SDL_MouseMotionEvent is extern "sdl_evt_as_mouse_motion"
-       meth is_expose: Bool is extern "sdl_evt_is_expose"
-       meth is_quit: Bool is extern "sdl_evt_is_quit"
+       fun is_keyboard: Bool is extern "sdl_evt_is_keyboard"
+       fun as_keyboard: SDL_KeyboardEvent is extern "sdl_evt_as_keyboard"
+       fun is_mouse_button: Bool is extern "sdl_evt_is_mouse_button"
+       fun as_mouse_button: SDL_MouseButtonEvent is extern "sdl_evt_as_mouse_button"
+       fun is_mouse_motion: Bool is extern "sdl_evt_is_mouse_motion"
+       fun as_mouse_motion: SDL_MouseMotionEvent is extern "sdl_evt_as_mouse_motion"
+       fun is_expose: Bool is extern "sdl_evt_is_expose"
+       fun is_quit: Bool is extern "sdl_evt_is_quit"
 end
 
 universal SDL_ButtonEvent
 special SDL_Event
-       meth is_pressed: Bool is abstract
+       fun is_pressed: Bool is abstract
 end
 
 universal SDL_MouseEvent
 special SDL_Event
-       meth x: Int is abstract
-       meth y: Int is abstract
+       fun x: Int is abstract
+       fun y: Int is abstract
 end
 
 universal SDL_KeyboardEvent
 special SDL_ButtonEvent
-       redef meth is_pressed: Bool is extern "sdl_keyboard_evt_state"
+       redef fun is_pressed: Bool is extern "sdl_keyboard_evt_state"
 end
 
 universal SDL_MouseButtonEvent
 special SDL_ButtonEvent
 special SDL_MouseEvent
-       redef meth is_pressed: Bool is extern "sdl_mouse_button_evt_state"
-       redef meth x: Int is extern "sdl_mouse_button_evt_x"
-       redef meth y: Int is extern "sdl_mouse_button_evt_y"
-       meth button: Int is extern "sdl_mouse_button_evt_button"
+       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"
+       fun button: Int is extern "sdl_mouse_button_evt_button"
 end
 
 universal SDL_MouseMotionEvent
 special SDL_MouseEvent
-       redef meth x: Int is extern "sdl_mouse_evt_x"
-       redef meth y: Int is extern "sdl_mouse_evt_y"
-       meth xrel: Int is extern "sdl_mouse_evt_xrel"
-       meth yrel: Int is extern "sdl_mouse_evt_yrel"
+       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"
+       fun yrel: Int is extern "sdl_mouse_evt_yrel"
 end
 
 class SDL_EventListener
-       meth on_keyboard(evt: SDL_KeyboardEvent)
+       fun on_keyboard(evt: SDL_KeyboardEvent)
        do end
        
-       meth on_mouse_button(evt: SDL_MouseButtonEvent)
+       fun on_mouse_button(evt: SDL_MouseButtonEvent)
        do end
 
-       meth on_mouse_motion(evt: SDL_MouseMotionEvent)
+       fun on_mouse_motion(evt: SDL_MouseMotionEvent)
        do end
 
-       meth on_expose
+       fun on_expose
        do end
 
-       meth on_quit
+       fun on_quit
        do end
 end
 
 class SDL_EventProcessor
-       attr _listeners: Array[SDL_EventListener]
+       var _listeners: Array[SDL_EventListener]
 
-       meth add_listener(l: SDL_EventListener)
+       fun add_listener(l: SDL_EventListener)
        do
                _listeners.add(l)
        end
 
-       meth remove_listener(l: SDL_EventListener)
+       fun remove_listener(l: SDL_EventListener)
        do
                _listeners.remove(l)
        end
        
-       meth process_one_event
+       fun process_one_event
        do
                if sdl_poll_next_event then
                        process_event(sdl_current_event)
                end
        end
 
-       meth process_all_events
+       fun process_all_events
        do
                while sdl_poll_next_event do
                        process_event(sdl_current_event)
                end
        end
        
-       private meth process_event(evt: SDL_Event)
+       private fun process_event(evt: SDL_Event)
        do
                var sdl_listeners = _listeners
                if evt.is_keyboard then
@@ -164,18 +164,18 @@ end
 
 # General
 
-meth sdl_init is extern
+fun sdl_init is extern
 
 # Video
 
-meth sdl_set_video_mode(w: Int, h: Int, d: Int): SDL_Screen is extern
-meth sdl_set_fullscreen_video_mode(w: Int, h: Int, d: Int): SDL_Screen is extern
+fun sdl_set_video_mode(w: Int, h: Int, d: Int): SDL_Screen is extern
+fun sdl_set_fullscreen_video_mode(w: Int, h: Int, d: Int): SDL_Screen is extern
 
-meth sdl_load_raw_bmp(s: String): SDL_Surface
+fun sdl_load_raw_bmp(s: String): SDL_Surface
 do
        return sdl_load_bmp_native(s.to_cstring)
 end
-meth sdl_load_bmp(s: String): SDL_Surface
+fun sdl_load_bmp(s: String): SDL_Surface
 do
        var raw = sdl_load_raw_bmp(s)
        var sprite = raw.to_display_format
@@ -183,22 +183,22 @@ do
        return sprite
 end
 
-meth sdl_load_bmp_native(s: NativeString): SDL_Surface is extern
+fun sdl_load_bmp_native(s: NativeString): SDL_Surface is extern
 
-meth sdl_show_cursor=(b: Bool) is extern "sdl_show_cursor_1"
-meth sdl_show_cursor: Bool is extern "sdl_show_cursor_0"
+fun sdl_show_cursor=(b: Bool) is extern "sdl_show_cursor_1"
+fun sdl_show_cursor: Bool is extern "sdl_show_cursor_0"
 
 # WM
 
-meth sdl_grab=(b: Bool) is extern "sdl_grab_1"
-meth sdl_grab: Bool is extern "sdl_grab_0"
+fun sdl_grab=(b: Bool) is extern "sdl_grab_1"
+fun sdl_grab: Bool is extern "sdl_grab_0"
 
 # Events
 
-meth sdl_current_event: SDL_Event is extern
-meth sdl_poll_next_event: Bool is extern
+fun sdl_current_event: SDL_Event is extern
+fun sdl_poll_next_event: Bool is extern
 
 # Time
 
-meth sdl_get_ticks: Int is extern
-meth sdl_delay(ms: Int) is extern
+fun sdl_get_ticks: Int is extern
+fun sdl_delay(ms: Int) is extern
index 10fafb7..0d12d90 100644 (file)
@@ -40,64 +40,64 @@ import kernel
 # Subclasses may redefine them with an efficient implementation.
 interface Collection[E]
        # Get a new iterator on the collection.
-       meth iterator: Iterator[E] is abstract
+       fun iterator: Iterator[E] is abstract
 
        # Is there no item in the collection ?
-       meth is_empty: Bool is abstract 
+       fun is_empty: Bool is abstract 
 
        # Number of items in the collection.
-       meth length: Int is abstract
+       fun length: Int is abstract
 
        # Is `item' in the collection ?
        # Comparaisons are done with ==
-       meth has(item: E): Bool is abstract
+       fun has(item: E): Bool is abstract
 
        # Is the collection contain only `item' ?
        # Comparaisons are done with ==
        # Return true if the collection is empty.
-       meth has_only(item: E): Bool is abstract
+       fun has_only(item: E): Bool is abstract
 
        # How many occurences of `item' are in the collection ?
        # Comparaisons are done with ==
-       meth count(item: E): Int is abstract
+       fun count(item: E): Int is abstract
 
        # Return one the item of the collection
-       meth first: E is abstract
+       fun first: E is abstract
 end
 
 # Naive implementation of collections method
 # You only have to define iterator!
 interface NaiveCollection[E]
 special Collection[E]
-       redef meth is_empty do return length == 0
+       redef fun is_empty do return length == 0
 
-       redef meth length
+       redef fun length
        do
                var nb = 0
                for i in self do nb += nb
                return nb
        end
 
-       redef meth has(item)
+       redef fun has(item)
        do
                for i in self do if i == item then return true
                return false
        end
 
-       redef meth has_only(item)
+       redef fun has_only(item)
        do
                for i in self do if i != item then return false
                return true
        end
 
-       redef meth count(item)
+       redef fun count(item)
        do
                var nb = 0
                for i in self do if i == item then nb += 1
                return nb
        end
 
-       redef meth first
+       redef fun first
        do
                assert length > 0
                return iterator.item
@@ -109,31 +109,31 @@ end
 interface Iterator[E]
        # The current item.
        # Require `is_ok'.
-       meth item: E is abstract
+       fun item: E is abstract
 
        # Jump to the next item.
        # Require `is_ok'.
-       meth next is abstract
+       fun next is abstract
 
        # Is there a current item ?
-       meth is_ok: Bool is abstract
+       fun is_ok: Bool is abstract
 end
 
 # A collection that contains only one item.
 class Container[E]
 special Collection[E]
 
-       redef meth first do return _item
+       redef fun first do return _item
 
-       redef meth is_empty do return false
+       redef fun is_empty do return false
 
-       redef meth length do return 1
+       redef fun length do return 1
 
-       redef meth has(an_item) do return _item == an_item
+       redef fun has(an_item) do return _item == an_item
 
-       redef meth has_only(an_item) do return _item == an_item
+       redef fun has_only(an_item) do return _item == an_item
 
-       redef meth count(an_item)
+       redef fun count(an_item)
        do
                if _item == an_item then
                        return 1
@@ -142,40 +142,40 @@ special Collection[E]
                end
        end
 
-       redef meth iterator do return new ContainerIterator[E](self)
+       redef fun iterator do return new ContainerIterator[E](self)
 
        # Create a new instance with a given initial value.
        init(e: E) do _item = e
 
        # The stored item
-       readable writable attr _item: E
+       readable writable var _item: E
 end
 
 # This iterator is quite stupid since it is used for only one item.
 class ContainerIterator[E]
 special Iterator[E]
-       redef meth item do return _container.item
+       redef fun item do return _container.item
 
-       redef meth next do _is_ok = false
+       redef fun next do _is_ok = false
 
        init(c: Container[E]) do _container = c
 
-       redef readable attr _is_ok: Bool = true
+       redef readable var _is_ok: Bool = true
 
-       attr _container: Container[E]
+       var _container: Container[E]
 end
 
 # Items can be removed from this collection
 interface RemovableCollection[E]
 special Collection[E]
        # Remove all items
-       meth clear is abstract
+       fun clear is abstract
 
        # Remove an occucence of `item'
-       meth remove(item: E) is abstract
+       fun remove(item: E) is abstract
 
        # Remove all occurences of `item'
-       meth remove_all(item: E) do while has(item) do remove(item)
+       fun remove_all(item: E) do while has(item) do remove(item)
 end
 
 # Items can be added to these collections.
@@ -183,10 +183,10 @@ interface SimpleCollection[E]
 special RemovableCollection[E]
        # Add an item in a collection.
        # Ensure col.has(item)
-       meth add(item: E) is abstract
+       fun add(item: E) is abstract
 
        # Add each item of `coll`.
-       meth add_all(coll: Collection[E]) do for i in coll do add(i)
+       fun add_all(coll: Collection[E]) do for i in coll do add(i)
 end
 
 # Abstract sets.
@@ -201,7 +201,7 @@ end
 interface Set[E]
 special SimpleCollection[E]
 
-       redef meth has_only(item)
+       redef fun has_only(item)
        do
                var l = length
                if l == 1 then
@@ -214,7 +214,7 @@ special SimpleCollection[E]
        end
 
        # Only 0 or 1
-       redef meth count(item)
+       redef fun count(item)
        do
                if has(item) then
                        return 1
@@ -224,18 +224,18 @@ special SimpleCollection[E]
        end
 
        # Synonym of remove since there is only one item
-       redef meth remove_all(item) do remove(item)
+       redef fun remove_all(item) do remove(item)
 end
 
 interface MapRead[K, E]
 special Collection[E]
        # Get the item at `key'.
-       meth [](key: K): E is abstract
+       fun [](key: K): E is abstract
 
        # Is there an item at `key'.
-       meth has_key(key: K): Bool is abstract
+       fun has_key(key: K): Bool is abstract
 
-       redef meth iterator: MapIterator[K, E] is abstract
+       redef fun iterator: MapIterator[K, E] is abstract
 end
 
 # Maps are associative collections: `key' -> `item'.
@@ -254,14 +254,14 @@ interface Map[K, E]
 special RemovableCollection[E]
 special MapRead[K, E]
        # Set the`item' at `key'.
-       meth []=(key: K, item: E) is abstract
+       fun []=(key: K, item: E) is abstract
 
        # Remove the item at `key'
-       meth remove_at(key: K) is abstract
+       fun remove_at(key: K) is abstract
 
        # Add each (key,value) of `map' into `self'.
        # If a same key exists in `map' and `self', then the value in self is discarded.
-       meth recover_with(map: Map[K, E])
+       fun recover_with(map: Map[K, E])
        do
                var i = map.iterator
                while i.is_ok do
@@ -275,10 +275,10 @@ end
 interface MapIterator[K, E]
 special Iterator[E]
        # The key of the current item.
-       meth key: K is abstract
+       fun key: K is abstract
 
        # Set a new `item' at `key'.
-       #meth item=(item: E) is abstract
+       #fun item=(item: E) is abstract
 end
 
 # Indexed collection are ordoned collections.
@@ -287,7 +287,7 @@ interface IndexedCollectionRead[E]
 special MapRead[Int, E]
        # Get the first item.
        # Is equivalent with `self'[0].
-       redef meth first
+       redef fun first
        do
                assert not_empty: not is_empty
                return self[0]
@@ -295,7 +295,7 @@ special MapRead[Int, E]
        
        # Get the last item.
        # Is equivalent with `self'[`length'-1].
-       meth last: E
+       fun last: E
        do
                assert not_empty: not is_empty
                return self[length-1]
@@ -303,7 +303,7 @@ special MapRead[Int, E]
 
        # Return the index of the first occurence of `item'.
        # Return -1 if `item' is not found
-       meth index_of(item: E): Int
+       fun index_of(item: E): Int
        do
                var i = iterator
                while i.is_ok do
@@ -313,7 +313,7 @@ special MapRead[Int, E]
                return -1
        end
 
-       redef meth iterator: IndexedIterator[E] is abstract
+       redef fun iterator: IndexedIterator[E] is abstract
 end
 
 # Indexed collection are ordoned collections.
@@ -324,12 +324,12 @@ special Map[Int, E]
 special SimpleCollection[E]
        # Set the first item.
        # Is equivalent with `self'[0] = `item'.
-       meth first=(item: E)
+       fun first=(item: E)
        do self[0] = item end
 
        # Set the last item.
        # Is equivalent with `self'[length-1] = `item'.
-       meth last=(item: E) 
+       fun last=(item: E) 
        do 
                var l = length
                if l > 0 then
@@ -340,23 +340,23 @@ special SimpleCollection[E]
        end
 
        # A synonym of `push'
-       redef meth add(e) do push(e)
+       redef fun add(e) do push(e)
 
        # Add an item after the last.
-       meth push(e: E) is abstract
+       fun push(e: E) is abstract
 
        # Add each item of `coll` after the last.
-       meth append(coll: Collection[E]) do for i in coll do push(i)
+       fun append(coll: Collection[E]) do for i in coll do push(i)
 
        # Remove the last item.
-       meth pop: E is abstract
+       fun pop: E is abstract
 
        # Add an item before the last.
-       meth unshift(e: E) is abstract
+       fun unshift(e: E) is abstract
 
        # Remove the first item.
        # The second item become the first.
-       meth shift: E is abstract
+       fun shift: E is abstract
 
 end
 
@@ -364,10 +364,10 @@ end
 interface IndexedIterator[E]
 special MapIterator[Int, E]
        # The index of the current item.
-       meth index: Int is abstract
+       fun index: Int is abstract
 
        # A synonym of index.
-       redef meth key do return index
+       redef fun key do return index
 end
 
 # Associatives arrays that internally uses couples to represent each (key, value) pairs.
@@ -375,9 +375,9 @@ interface CoupleMap[K, E]
 special Map[K, E]
        # Return the couple of the corresponding key
        # Return null if the key is no associated element
-       protected meth couple_at(key: K): nullable Couple[K, E] is abstract
+       protected fun couple_at(key: K): nullable Couple[K, E] is abstract
 
-       redef meth [](key)
+       redef fun [](key)
        do
                var c = couple_at(key)
                if c == null then
@@ -387,7 +387,7 @@ special Map[K, E]
                end
        end
 
-       redef meth has_key(key) do return couple_at(key) != null
+       redef fun has_key(key) do return couple_at(key) != null
 end
 
 # Iterator on CoupleMap
@@ -395,20 +395,20 @@ end
 # Actually is is a wrapper around an iterator of the internal array of the map.
 class CoupleMapIterator[K, E]
 special MapIterator[K, E]
-       redef meth item do return _iter.item.second
+       redef fun item do return _iter.item.second
        
-       #redef meth item=(e) do _iter.item.second = e
+       #redef fun item=(e) do _iter.item.second = e
 
-       redef meth key do return _iter.item.first
+       redef fun key do return _iter.item.first
 
-       redef meth is_ok do return _iter.is_ok
+       redef fun is_ok do return _iter.is_ok
 
-       redef meth next
+       redef fun next
        do 
                _iter.next
        end
 
-       attr _iter: Iterator[Couple[K,E]]
+       var _iter: Iterator[Couple[K,E]]
 
        init(i: Iterator[Couple[K,E]]) do _iter = i
 end
@@ -419,10 +419,10 @@ end
 class Couple[F, S]
 
        # The first element of the couple.
-       readable writable attr _first: F
+       readable writable var _first: F
 
        # The second element of the couple.
-       readable writable attr _second: S
+       readable writable var _second: S
 
        # Create a new instance with a first and a second object.
        init(f: F, s: S)
index a4b7190..569140e 100644 (file)
@@ -21,11 +21,11 @@ import abstract_collection
 class AbstractArrayRead[E]
 special IndexedCollectionRead[E]
        # The current length
-       redef readable attr _length: Int = 0
+       redef readable var _length: Int = 0
 
-       redef meth is_empty do return _length == 0
+       redef fun is_empty do return _length == 0
 
-       redef meth has(item)
+       redef fun has(item)
        do
                var i = 0
                var l = length
@@ -36,7 +36,7 @@ special IndexedCollectionRead[E]
                return false
        end
 
-       redef meth has_only(item)
+       redef fun has_only(item)
        do
                var i = 0
                var l = length
@@ -47,9 +47,9 @@ special IndexedCollectionRead[E]
                return true
        end
 
-       redef meth has_key(index) do return index >= 0 and index < length
+       redef fun has_key(index) do return index >= 0 and index < length
 
-       redef meth count(item)
+       redef fun count(item)
        do
                var res = 0
                var i = 0
@@ -61,11 +61,11 @@ special IndexedCollectionRead[E]
                return res
        end
 
-       redef meth index_of(item) do return index_of_from(item, 0)
+       redef fun index_of(item) do return index_of_from(item, 0)
 
-       meth last_index_of(item: E): Int do return last_index_of_from(item, length-1)
+       fun last_index_of(item: E): Int do return last_index_of_from(item, length-1)
 
-       meth index_of_from(item: E, pos: Int): Int
+       fun index_of_from(item: E, pos: Int): Int
        do
                var i = pos
                var len = length
@@ -78,7 +78,7 @@ special IndexedCollectionRead[E]
                return -1
        end
 
-       meth last_index_of_from(item: E, pos: Int): Int
+       fun last_index_of_from(item: E, pos: Int): Int
        do
                var i = pos
                while i >= 0 do
@@ -91,7 +91,7 @@ special IndexedCollectionRead[E]
                return -1
        end
 
-       meth reversed: Array[E]
+       fun reversed: Array[E]
        do
                var cmp = _length
                var result = new Array[E].with_capacity(cmp)
@@ -102,7 +102,7 @@ special IndexedCollectionRead[E]
                return result
        end
 
-       protected meth copy_to(start: Int, len: Int, dest: AbstractArray[E], new_start: Int)
+       protected fun copy_to(start: Int, len: Int, dest: AbstractArray[E], new_start: Int)
        do
                # TODO native one
                var i = len
@@ -112,7 +112,7 @@ special IndexedCollectionRead[E]
                end
        end
 
-       redef meth output
+       redef fun output
        do
                var i = 0
                var l = length
@@ -123,10 +123,10 @@ special IndexedCollectionRead[E]
                end
        end
 
-       redef meth iterator: ArrayIterator[E] do return new ArrayIterator[E](self)
+       redef fun iterator: ArrayIterator[E] do return new ArrayIterator[E](self)
 
        # Two arrays are equals if they have the same items in the same order.
-       redef meth ==(o)
+       redef fun ==(o)
        do
                if not o isa AbstractArray[E] or o is null then return false
                var l = length
@@ -144,11 +144,11 @@ end
 class AbstractArray[E]
 special AbstractArrayRead[E]
 special IndexedCollection[E]
-       meth enlarge(cap: Int) is abstract
+       fun enlarge(cap: Int) is abstract
 
-       redef meth push(item) do add(item)
+       redef fun push(item) do add(item)
 
-       redef meth pop
+       redef fun pop
        do
                assert not_empty: not is_empty
                var r = last
@@ -156,7 +156,7 @@ special IndexedCollection[E]
                return r
        end
 
-       redef meth shift
+       redef fun shift
        do
                assert not_empty: not is_empty
                var r = first
@@ -170,7 +170,7 @@ special IndexedCollection[E]
                return r
        end
 
-       redef meth unshift(item)
+       redef fun unshift(item)
        do
                var i = length - 1
                while i > 0 do
@@ -180,20 +180,20 @@ special IndexedCollection[E]
                self[0] = item
        end
 
-       meth insert(item: E, pos: Int)
+       fun insert(item: E, pos: Int)
        do
                enlarge(length + 1)
                copy_to(pos, length-pos, self, pos + 1)
                self[pos] = item
        end
 
-       redef meth add(item) do self[length] = item
+       redef fun add(item) do self[length] = item
 
-       redef meth clear do _length = 0
+       redef fun clear do _length = 0
 
-       redef meth remove(item) do remove_at(index_of(item))
+       redef fun remove(item) do remove_at(index_of(item))
 
-       redef meth remove_all(item)
+       redef fun remove_all(item)
        do
                var i = index_of(item)
                while i >= 0 do
@@ -202,7 +202,7 @@ special IndexedCollection[E]
                end
        end
 
-       redef meth remove_at(i)
+       redef fun remove_at(i)
        do
                var l = length
                if i >= 0 and i < l then
@@ -228,13 +228,13 @@ end
 class Array[E]
 special AbstractArray[E]
 special ArrayCapable[E]
-       redef meth [](index)
+       redef fun [](index)
        do
                assert index: index >= 0 and index < _length
                return _items[index]
        end
 
-       redef meth []=(index, item)
+       redef fun []=(index, item)
        do
                assert index: index >= 0 and index < _length + 1
                if _capacity <= index then
@@ -246,7 +246,7 @@ special ArrayCapable[E]
                _items[index] = item
        end
 
-       redef meth enlarge(cap)
+       redef fun enlarge(cap)
        do
                var c = _capacity
                if cap <= c then return
@@ -305,22 +305,22 @@ special ArrayCapable[E]
        end
 
        # The internal storage.
-       attr _items: nullable NativeArray[E] = null
+       var _items: nullable NativeArray[E] = null
 
        # The size of `_items'.
-       attr _capacity: Int = 0
+       var _capacity: Int = 0
 end
 
 # An `Iterator' on `AbstractArray'
 class ArrayIterator[E]
 special IndexedIterator[E]
-       redef meth item do return _array[_index]
+       redef fun item do return _array[_index]
 
-       # redef meth item=(e) do _array[_index] = e
+       # redef fun item=(e) do _array[_index] = e
 
-       redef meth is_ok do return _index < _array.length
+       redef fun is_ok do return _index < _array.length
 
-       redef meth next do _index += 1
+       redef fun next do _index += 1
 
        init(a: AbstractArrayRead[E])
        do
@@ -328,8 +328,8 @@ special IndexedIterator[E]
                _index = 0
        end
 
-       redef readable attr _index: Int = 0
-       attr _array: AbstractArrayRead[E]
+       redef readable var _index: Int = 0
+       var _array: AbstractArrayRead[E]
 end
 
 # Others collections ##########################################################
@@ -338,38 +338,38 @@ end
 class ArraySet[E]
 special Set[E]
        # The stored elements.
-       attr _array: Array[E]
+       var _array: Array[E]
 
-       redef meth has(e) do return _array.has(e)
+       redef fun has(e) do return _array.has(e)
 
-       redef meth add(e) do if not _array.has(e) then _array.add(e)
+       redef fun add(e) do if not _array.has(e) then _array.add(e)
 
-       redef meth is_empty do return _array.is_empty
+       redef fun is_empty do return _array.is_empty
 
-       redef meth length do return _array.length
+       redef fun length do return _array.length
 
-       redef meth first
+       redef fun first
        do
                assert _array.length > 0
                return _array.first
        end
 
-       redef meth remove(item)
+       redef fun remove(item)
        do
                var i = _array.index_of(item)
                if i >= 0 then remove_at(i)
        end
 
-       redef meth remove_all(item) do remove(item)
+       redef fun remove_all(item) do remove(item)
 
-       redef meth clear do _array.clear
+       redef fun clear do _array.clear
 
-       redef meth iterator do return new ArraySetIterator[E](_array.iterator)
+       redef fun iterator do return new ArraySetIterator[E](_array.iterator)
 
        # Assume the capacitydd is at least `cap'.
-       meth enlarge(cap: Int) do _array.enlarge(cap)
+       fun enlarge(cap: Int) do _array.enlarge(cap)
 
-       private meth remove_at(i: Int)
+       private fun remove_at(i: Int)
        do
                _array[i] = _array.last
                _array.pop
@@ -386,15 +386,15 @@ end
 class ArraySetIterator[E]
 special Iterator[E]
 
-       redef meth is_ok do return _iter.is_ok
+       redef fun is_ok do return _iter.is_ok
 
-       redef meth next do _iter.next
+       redef fun next do _iter.next
 
-       redef meth item: E do return _iter.item
+       redef fun item: E do return _iter.item
 
        init(iter: ArrayIterator[E]) do _iter = iter
 
-       attr _iter: ArrayIterator[E]
+       var _iter: ArrayIterator[E]
 end
 
 
@@ -403,7 +403,7 @@ class ArrayMap[K, E]
 special CoupleMap[K, E]
 
        # O(n)
-       redef meth [](key)
+       redef fun [](key)
        do
                var i = index(key)
                if i >= 0 then
@@ -414,7 +414,7 @@ special CoupleMap[K, E]
        end
 
        # O(n)
-       redef meth []=(key, item)
+       redef fun []=(key, item)
        do
                var i = index(key)
                if i >= 0 then
@@ -425,40 +425,40 @@ special CoupleMap[K, E]
        end
 
        # O(n)
-       redef meth has_key(key) do return index(key) >= 0
+       redef fun has_key(key) do return index(key) >= 0
 
        # O(n)
-       redef meth has(item)
+       redef fun has(item)
        do
                for i in _items do if i.second == item then return true
                return false
        end
 
        # O(n)
-       redef meth has_only(item)
+       redef fun has_only(item)
        do
                for i in _items do if i.second != item then return false
                return true
        end
 
        # O(1)
-       redef meth length do return _items.length
+       redef fun length do return _items.length
 
-       redef meth first do return _items.first.first
+       redef fun first do return _items.first.first
 
        # O(n)
-       redef meth count(item)
+       redef fun count(item)
        do
                var nb = 0
                for i in _items do if i.second == item then nb += 1
                return nb
        end
 
-       redef meth iterator: CoupleMapIterator[K, E] do return new CoupleMapIterator[K, E](_items.iterator)
+       redef fun iterator: CoupleMapIterator[K, E] do return new CoupleMapIterator[K, E](_items.iterator)
 
-       redef meth is_empty do return _items.is_empty
+       redef fun is_empty do return _items.is_empty
 
-       redef meth remove(item)
+       redef fun remove(item)
        do
                var i = _items.length - 1
                while i >= 0 do
@@ -470,7 +470,7 @@ special CoupleMap[K, E]
                end
        end
 
-       redef meth remove_all(item: E)
+       redef fun remove_all(item: E)
        do
                var i = _items.length - 1
                while i >= 0 do
@@ -481,18 +481,18 @@ special CoupleMap[K, E]
                end
        end
 
-       redef meth remove_at(key)
+       redef fun remove_at(key)
        do
                var i = index(key)
                if i >= 0 then remove_at_index(i)
        end
 
-       redef meth clear do _items.clear
+       redef fun clear do _items.clear
 
        # Assume the capacity to be at least `cap'.
-       meth enlarge(cap: Int) do _items.enlarge(cap)
+       fun enlarge(cap: Int) do _items.enlarge(cap)
 
-       redef meth couple_at(key)
+       redef fun couple_at(key)
        do
                var i = index(key)
                if i >= 0 then
@@ -503,21 +503,21 @@ special CoupleMap[K, E]
        end
 
        # Internal storage.
-       attr _items: Array[Couple[K,E]]
+       var _items: Array[Couple[K,E]]
 
        # fast remove the ith element of the array
-       private meth remove_at_index(i: Int)
+       private fun remove_at_index(i: Int)
        do
                _items[i] = _items.last
                _items.pop
        end
 
        # The last positive result given by a index(1) call
-       attr _last_index: Int = 0
+       var _last_index: Int = 0
 
        # Where is the `key' in `_item'?
        # return -1 if not found
-       private meth index(key: K): Int
+       private fun index(key: K): Int
        do
                var l = _last_index
                if l < _items.length and _items[l].first == key then return l
@@ -544,7 +544,7 @@ end
 
 redef class Iterator[E]
        # Interate on `self' and build an array
-       meth to_a: Array[E]
+       fun to_a: Array[E]
        do
                var res = new Array[E]
                while is_ok do
@@ -557,7 +557,7 @@ end
 
 redef class Collection[E]
        # Build a new array from a collection
-       meth to_a: Array[E]
+       fun to_a: Array[E]
        do
                return iterator.to_a
        end
@@ -568,14 +568,14 @@ end
 # Subclasses of this class can create native arrays
 interface ArrayCapable[E]
        # Get a new array of `size' elements.
-       protected meth calloc_array(size: Int): NativeArray[E] is intern
+       protected fun calloc_array(size: Int): NativeArray[E] is intern
 end
 
 # Native C array (void ...).
 universal NativeArray[E]
-       meth [](index: Int): E is intern
-       meth []=(index: Int, item: E) is intern
-       meth copy_to(dest: NativeArray[E], length: Int) is intern
-       #meth =(o: NativeArray[E]): Bool is intern
-       #meth !=(o: NativeArray[E]): Bool is intern
+       fun [](index: Int): E is intern
+       fun []=(index: Int, item: E) is intern
+       fun copy_to(dest: NativeArray[E], length: Int) is intern
+       #fun =(o: NativeArray[E]): Bool is intern
+       #fun !=(o: NativeArray[E]): Bool is intern
 end
index 6fe9c11..8a0c667 100644 (file)
@@ -17,7 +17,7 @@ import symbol
 
 redef class Symbol
        # Return environement valued for this symbol
-       meth environ: String
+       fun environ: String
        do
                var res = to_s.to_cstring.get_environ
                # FIXME: There is no proper way to handle NULL C string yet. What a pitty.
@@ -34,5 +34,5 @@ end
 
 redef class NativeString
 # Refinned to add environement bindings
-       private meth get_environ: NativeString is extern "string_NativeString_NativeString_get_environ_0"
+       private fun get_environ: NativeString is extern "string_NativeString_NativeString_get_environ_0"
 end
index 0bc9783..eda24a9 100644 (file)
@@ -21,30 +21,30 @@ import stream
 class Process
 
        # The pid of the processus
-       meth id: Int do return _data.id
+       fun id: Int do return _data.id
 
        # Is the processus finished?
-       meth is_finished: Bool do return _data.is_finished
+       fun is_finished: Bool do return _data.is_finished
 
        # wait the terminaison of the process
-       meth wait
+       fun wait
        do
                _data.wait
                assert is_finished
        end
        
        # The status once finished
-       meth status: Int
+       fun status: Int
        do
                assert is_finished
                return _data.status
        end
 
        # send a signal to the process
-       meth kill(signal: Int) do _data.kill(signal)
+       fun kill(signal: Int) do _data.kill(signal)
 
        # send the TERM (15) signal
-       meth term do kill(15)
+       fun term do kill(15)
 
        # launch a command with some arguments
        init(command: String, arguments: String...)
@@ -74,21 +74,21 @@ class Process
                _data = basic_exec_execute(command.to_cstring, args.to_s.to_cstring, l, pipeflags)
        end
        
-       attr _data: NativeProcess
-       private meth basic_exec_execute(p: NativeString, av: NativeString, ac: Int, pf: Int): NativeProcess is extern "exec_Process_Process_basic_exec_execute_4"
+       var _data: NativeProcess
+       private fun basic_exec_execute(p: NativeString, av: NativeString, ac: Int, pf: Int): NativeProcess is extern "exec_Process_Process_basic_exec_execute_4"
 end
 
 # stdout of the processus is readable
 class IProcess
 special Process
 special IStream
-       attr _in: FDIStream
+       var _in: FDIStream
        
-       redef meth close do _in.close
+       redef fun close do _in.close
        
-       redef meth read_char do return _in.read_char
+       redef fun read_char do return _in.read_char
 
-       redef meth eof do return _in.eof
+       redef fun eof do return _in.eof
 
        init(command: String, arguments: String...)
        do
@@ -107,13 +107,13 @@ end
 class OProcess
 special Process
 special OStream
-       attr _out: OStream
+       var _out: OStream
 
-       redef meth close do _out.close
+       redef fun close do _out.close
 
-       redef meth is_writable do return _out.is_writable
+       redef fun is_writable do return _out.is_writable
 
-       redef meth write(s) do _out.write(s)
+       redef fun write(s) do _out.write(s)
        
        init(command: String, arguments: String...)
        do
@@ -134,7 +134,7 @@ special IProcess
 special OProcess
 special IOStream
 
-       redef meth close
+       redef fun close
        do
                _in.close
                _out.close
@@ -157,26 +157,26 @@ end
 
 redef class Sys
        # Execute a shell command and return it's error code
-       meth system(command: String): Int
+       fun system(command: String): Int
        do
                return command.to_cstring.system        
        end
 end
 
 redef class NativeString
-       meth system: Int is extern "string_NativeString_NativeString_system_0"
+       fun system: Int is extern "string_NativeString_NativeString_system_0"
 end
 
 private universal NativeProcess
 special Pointer
-       meth id: Int is extern "exec_NativeProcess_NativeProcess_id_0"
-       meth is_finished: Bool is extern "exec_NativeProcess_NativeProcess_is_finished_0"
-       meth status: Int is extern "exec_NativeProcess_NativeProcess_status_0"
-       meth wait is extern "exec_NativeProcess_NativeProcess_wait_0"
-       meth kill(s: Int) is extern "exec_NativeProcess_NativeProcess_kill_1"
-
-       meth in_fd: Int is extern "exec_NativeProcess_NativeProcess_in_fd_0"
-       meth out_fd: Int is extern "exec_NativeProcess_NativeProcess_out_fd_0"
-       meth err_fd: Int is extern "exec_NativeProcess_NativeProcess_err_fd_0"
+       fun id: Int is extern "exec_NativeProcess_NativeProcess_id_0"
+       fun is_finished: Bool is extern "exec_NativeProcess_NativeProcess_is_finished_0"
+       fun status: Int is extern "exec_NativeProcess_NativeProcess_status_0"
+       fun wait is extern "exec_NativeProcess_NativeProcess_wait_0"
+       fun kill(s: Int) is extern "exec_NativeProcess_NativeProcess_kill_1"
+
+       fun in_fd: Int is extern "exec_NativeProcess_NativeProcess_in_fd_0"
+       fun out_fd: Int is extern "exec_NativeProcess_NativeProcess_out_fd_0"
+       fun err_fd: Int is extern "exec_NativeProcess_NativeProcess_err_fd_0"
 end
 
index bbb45d2..5ea2468 100644 (file)
@@ -23,26 +23,26 @@ redef class Object
 # Simple I/O
 
        # Print `objects' on the standard output (`stdout').
-       protected meth printn(objects: Object...)
+       protected fun printn(objects: Object...)
        do
                stdout.write(objects.to_s)
        end
 
        # Print an `object' on the standard output (`stdout') and add a newline.
-       protected meth print(object: Object)
+       protected fun print(object: Object)
        do
                stdout.write(object.to_s)
                stdout.write("\n")
        end
 
        # Read a character from the standard input (`stdin').
-       protected meth getc: Char
+       protected fun getc: Char
        do
                return stdin.read_char.ascii
        end
 
        # Read a line from the standard input (`stdin').
-       protected meth gets: String
+       protected fun gets: String
        do
                return stdin.read_line
        end
@@ -53,12 +53,12 @@ class FStream
 special IOS
 special NativeFileCapable
        # The path of the file.
-       readable attr _path: nullable String = null
+       readable var _path: nullable String = null
 
        # The FILE *.
-       attr _file: nullable NativeFile = null
+       var _file: nullable NativeFile = null
 
-       meth file_stat: FileStat
+       fun file_stat: FileStat
        do return _file.file_stat end
 end
 
@@ -68,7 +68,7 @@ special FStream
 special BufferedIStream
        # Misc
 
-       meth reopen
+       fun reopen
        do
                if not eof then close
                _file = io_open_read(_path.to_cstring)
@@ -77,14 +77,14 @@ special BufferedIStream
                _buffer.clear
        end
 
-       redef meth close
+       redef fun close
        do
                var i = _file.io_close
                _end_reached = true
        end
 
        # Fill the internal read buffer. Needed by read operations.
-       redef meth fill_buffer
+       redef fun fill_buffer
        do
                var nb = _file.io_read(_buffer._items, _buffer._capacity)
                if nb <= 0 then
@@ -96,7 +96,7 @@ special BufferedIStream
        end
        
        # End of file?
-       redef readable attr _end_reached: Bool = false
+       redef readable var _end_reached: Bool = false
 
        # Open the file at `path' for reading.
        init open(path: String)
@@ -117,25 +117,25 @@ special FStream
 special OStream
        
        # Write a string.
-       redef meth write(s)
+       redef fun write(s)
        do
                assert _writable
                write_native(s.to_cstring, s.length)
        end
 
-       redef meth is_writable do return _writable
+       redef fun is_writable do return _writable
        
-       redef meth close
+       redef fun close
        do
                var i = _file.io_close
                _writable = false
        end
 
        # Is the file open in write mode
-       attr _writable: Bool
+       var _writable: Bool
        
        # Write `len' bytes from `native'.
-       private meth write_native(native: NativeString, len: Int)
+       private fun write_native(native: NativeString, len: Int)
        do
                assert _writable
                var err = _file.io_write(native, len)
@@ -191,13 +191,13 @@ end
 
 redef class String
        # return true if a file with this names exists
-       meth file_exists: Bool do return to_cstring.file_exists
+       fun file_exists: Bool do return to_cstring.file_exists
 
-       meth file_stat: FileStat do return to_cstring.file_stat
+       fun file_stat: FileStat do return to_cstring.file_stat
 
-       meth file_delete: Bool do return to_cstring.file_delete
+       fun file_delete: Bool do return to_cstring.file_delete
 
-       meth strip_extension(ext: String): String
+       fun strip_extension(ext: String): String
        do
                if has_suffix(ext) then
                        return substring(0, length - ext.length)
@@ -205,7 +205,7 @@ redef class String
                return self
        end
 
-       meth basename(ext: String): String
+       fun basename(ext: String): String
        do
                var pos = last_index_of_from('/', _length - 1)
                var n = self
@@ -215,7 +215,7 @@ redef class String
                return n.strip_extension(ext)
        end
 
-       meth dirname: String
+       fun dirname: String
        do
                var pos = last_index_of_from('/', _length - 1)
                if pos >= 0 then
@@ -225,7 +225,7 @@ redef class String
                end
        end
 
-       meth file_path: String
+       fun file_path: String
        do
                var l = _length
                var pos = last_index_of_from('/', l - 1)
@@ -236,7 +236,7 @@ redef class String
        end
 
        # Create a directory (and all intermediate directories if needed)
-       meth mkdir
+       fun mkdir
        do
                var dirs = self.split_with("/")
                var path = new Buffer
@@ -255,44 +255,44 @@ redef class String
 end
 
 redef class NativeString
-       private meth file_exists: Bool is extern "string_NativeString_NativeString_file_exists_0"
-       private meth file_stat: FileStat is extern "string_NativeString_NativeString_file_stat_0"
-       private meth file_mkdir: Bool is extern "string_NativeString_NativeString_file_mkdir_0"
-       private meth file_delete: Bool is extern "string_NativeString_NativeString_file_delete_0"
+       private fun file_exists: Bool is extern "string_NativeString_NativeString_file_exists_0"
+       private fun file_stat: FileStat is extern "string_NativeString_NativeString_file_stat_0"
+       private fun file_mkdir: Bool is extern "string_NativeString_NativeString_file_mkdir_0"
+       private fun file_delete: Bool is extern "string_NativeString_NativeString_file_delete_0"
 end
 
 universal FileStat
 special Pointer
 # This class is system dependent ... must reify the vfs
-       meth mode: Int is extern "file_FileStat_FileStat_mode_0"
-       meth atime: Int is extern "file_FileStat_FileStat_atime_0"
-       meth ctime: Int is extern "file_FileStat_FileStat_ctime_0"
-       meth mtime: Int is extern "file_FileStat_FileStat_mtime_0"
-       meth size: Int is extern "file_FileStat_FileStat_size_0"
+       fun mode: Int is extern "file_FileStat_FileStat_mode_0"
+       fun atime: Int is extern "file_FileStat_FileStat_atime_0"
+       fun ctime: Int is extern "file_FileStat_FileStat_ctime_0"
+       fun mtime: Int is extern "file_FileStat_FileStat_mtime_0"
+       fun size: Int is extern "file_FileStat_FileStat_size_0"
 end
 
 # Instance of this class are standard FILE * pointers
 private universal NativeFile
 special Pointer
-       meth io_read(buf: NativeString, len: Int): Int is extern "file_NativeFile_NativeFile_io_read_2"
-       meth io_write(buf: NativeString, len: Int): Int is extern "file_NativeFile_NativeFile_io_write_2"
-       meth io_close: Int is extern "file_NativeFile_NativeFile_io_close_0"
-       meth file_stat: FileStat is extern "file_NativeFile_NativeFile_file_stat_0"
+       fun io_read(buf: NativeString, len: Int): Int is extern "file_NativeFile_NativeFile_io_read_2"
+       fun io_write(buf: NativeString, len: Int): Int is extern "file_NativeFile_NativeFile_io_write_2"
+       fun io_close: Int is extern "file_NativeFile_NativeFile_io_close_0"
+       fun file_stat: FileStat is extern "file_NativeFile_NativeFile_file_stat_0"
 end
 
 private interface NativeFileCapable
-       meth io_open_read(path: NativeString): NativeFile is extern "file_NativeFileCapable_NativeFileCapable_io_open_read_1"
-       meth io_open_write(path: NativeString): NativeFile is extern "file_NativeFileCapable_NativeFileCapable_io_open_write_1"
-       meth native_stdin: NativeFile is extern "file_NativeFileCapable_NativeFileCapable_native_stdin_0"
-       meth native_stdout: NativeFile is extern "file_NativeFileCapable_NativeFileCapable_native_stdout_0"
-       meth native_stderr: NativeFile is extern "file_NativeFileCapable_NativeFileCapable_native_stderr_0"
+       fun io_open_read(path: NativeString): NativeFile is extern "file_NativeFileCapable_NativeFileCapable_io_open_read_1"
+       fun io_open_write(path: NativeString): NativeFile is extern "file_NativeFileCapable_NativeFileCapable_io_open_write_1"
+       fun native_stdin: NativeFile is extern "file_NativeFileCapable_NativeFileCapable_native_stdin_0"
+       fun native_stdout: NativeFile is extern "file_NativeFileCapable_NativeFileCapable_native_stdout_0"
+       fun native_stderr: NativeFile is extern "file_NativeFileCapable_NativeFileCapable_native_stderr_0"
 end
 
 # Standard input.
-meth stdin: IFStream do return once new Stdin
+fun stdin: IFStream do return once new Stdin
 
 # Standard output.
-meth stdout: OFStream do return once new Stdout
+fun stdout: OFStream do return once new Stdout
 
 # Standard output for error.
-meth stderr: OFStream do return once new Stderr
+fun stderr: OFStream do return once new Stderr
index 363c38a..8d46875 100644 (file)
@@ -22,11 +22,11 @@ redef class Object
        # Assuming that a = b -> a.hash = b.hash
        ##
        # Without redefinition, it is the `id' of the instance.
-       meth hash: Int do return object_id / 8
+       fun hash: Int do return object_id / 8
 end
 
 redef class String
-       redef meth hash
+       redef fun hash
        do
                # djb2 hash algorythm
                var h = 5381
@@ -42,15 +42,15 @@ redef class String
 end
 
 redef class Int
-       redef meth hash do return self
+       redef fun hash do return self
 end
 
 redef class Char
-       redef meth hash do return ascii
+       redef fun hash do return ascii
 end
 
 redef class Bool
-       redef meth hash
+       redef fun hash
        do
                if self then
                        return 1
@@ -64,21 +64,21 @@ end
 private class HashCollection[K: Object, N: HashNode[K], E]
 special Collection[E]
 special ArrayCapable[nullable N]
-       attr _array: nullable NativeArray[nullable N] = null # Used to store items
-       attr _capacity: Int = 0 # Size of _array
-       redef readable attr _length: Int = 0 # Number of items in the map
+       var _array: nullable NativeArray[nullable N] = null # Used to store items
+       var _capacity: Int = 0 # Size of _array
+       redef readable var _length: Int = 0 # Number of items in the map
 
-       readable attr _first_item: nullable N = null # First added item (used to visit items in nice order)
-       attr _last_item: nullable N = null # Last added item (same)
+       readable var _first_item: nullable N = null # First added item (used to visit items in nice order)
+       var _last_item: nullable N = null # Last added item (same)
 
        # The last index accessed
-       attr _last_accessed_index: Int = -1
+       var _last_accessed_index: Int = -1
 
        # The last key accessed
-       attr _last_accessed_key: nullable K = null
+       var _last_accessed_key: nullable K = null
 
        # Return the index of the k element
-       meth index_at(k: K): Int
+       fun index_at(k: K): Int
        do
                var arr = _array
 
@@ -106,7 +106,7 @@ special ArrayCapable[nullable N]
        end
 
        # Add a new node (should be free)
-       meth store(index: Int, node: N)
+       fun store(index: Int, node: N)
        do
                # Store the item in the list
                if _first_item == null then
@@ -128,7 +128,7 @@ special ArrayCapable[nullable N]
                end
        end
 
-       meth remove_index(i: Int)
+       fun remove_index(i: Int)
        do
                assert correct_index: i >= 0 and i < _capacity
                var node = _array[i]
@@ -168,7 +168,7 @@ special ArrayCapable[nullable N]
                end
        end
 
-       meth raz
+       fun raz
        do
                var i = _capacity - 1
                while i >= 0 do
@@ -181,7 +181,7 @@ special ArrayCapable[nullable N]
                _last_accessed_key = null
        end
 
-       meth enlarge(cap: Int)
+       fun enlarge(cap: Int)
        do
                var old_cap = _capacity
                # get a new capacity
@@ -218,27 +218,27 @@ special ArrayCapable[nullable N]
 end
 
 private class HashNode[K]
-       meth key: K is abstract
+       fun key: K is abstract
        type N: HashNode[K]
-       readable writable attr _next_item: nullable N = null
-       readable writable attr _prev_item: nullable N = null
+       readable writable var _next_item: nullable N = null
+       readable writable var _prev_item: nullable N = null
 end
 
 class HashMap[K, V]
 special CoupleMap[K, V]
 special HashCollection[K, HashMapNode[K, V], V]
 
-       redef meth iterator: HashMapIterator[K, V] do return new HashMapIterator[K,V](self)
+       redef fun iterator: HashMapIterator[K, V] do return new HashMapIterator[K,V](self)
 
-       redef meth first
+       redef fun first
        do
                assert _length > 0
                return _first_item.second
        end
 
-       redef meth is_empty do return _length == 0
+       redef fun is_empty do return _length == 0
 
-       redef meth count(item)
+       redef fun count(item)
        do
                var nb = 0
                var i = 0
@@ -250,7 +250,7 @@ special HashCollection[K, HashMapNode[K, V], V]
                return nb
        end
 
-       redef meth has(item)
+       redef fun has(item)
        do
                var i = 0
                while i < _capacity do
@@ -261,7 +261,7 @@ special HashCollection[K, HashMapNode[K, V], V]
                return false
        end
 
-       redef meth has_only(item)
+       redef fun has_only(item)
        do
                var i = 0
                while i < _capacity do
@@ -272,7 +272,7 @@ special HashCollection[K, HashMapNode[K, V], V]
                return true
        end
 
-       redef meth []=(key, v)
+       redef fun []=(key, v)
        do
                assert key != null
                var i = index_at(key)
@@ -285,7 +285,7 @@ special HashCollection[K, HashMapNode[K, V], V]
                end
        end
 
-       redef meth remove(item)
+       redef fun remove(item)
        do
                var i = 0
                while i < _capacity do
@@ -298,11 +298,11 @@ special HashCollection[K, HashMapNode[K, V], V]
                end
        end
 
-       redef meth remove_at(key) do remove_index(index_at(key))
+       redef fun remove_at(key) do remove_index(index_at(key))
 
-       redef meth clear do raz
+       redef fun clear do raz
 
-       redef meth couple_at(key) do return _array[index_at(key)]
+       redef fun couple_at(key) do return _array[index_at(key)]
 
        init
        do
@@ -315,7 +315,7 @@ end
 class HashMapNode[K, V]
 special Couple[K, V]
 special HashNode[K]
-       redef meth key do return first
+       redef fun key do return first
        redef type N: HashMapNode[K, V]
 
        init(k: K, v: V)
@@ -327,37 +327,37 @@ end
 
 class HashMapIterator[K, V]
 special MapIterator[K, V]
-       redef meth is_ok do return _node != null
+       redef fun is_ok do return _node != null
 
-       redef meth item
+       redef fun item
        do
                assert is_ok
                return _node.second
        end
 
-       #redef meth item=(value)
+       #redef fun item=(value)
        #do
        #       assert is_ok
        #       _node.second = value
        #end
 
-       redef meth key
+       redef fun key
        do
                assert is_ok
                return _node.first
        end
 
-       redef meth next
+       redef fun next
        do
                assert is_ok
                _node = _node.next_item
        end
 
        # The map to iterate on
-       attr _map: HashMap[K, V]
+       var _map: HashMap[K, V]
 
        # The current node
-       attr _node: nullable HashMapNode[K, V]
+       var _node: nullable HashMapNode[K, V]
 
        init(map: HashMap[K, V])
        do
@@ -370,20 +370,20 @@ class HashSet[E]
 special Set[E]
 special HashCollection[E, HashSetNode[E], E]
 
-       redef meth is_empty do return _length == 0
+       redef fun is_empty do return _length == 0
 
-       redef meth first
+       redef fun first
        do
                assert _length > 0
                return _first_item.key
        end
 
-       redef meth has(item)
+       redef fun has(item)
        do
                return _array[index_at(item)] != null
        end
 
-       redef meth add(item)
+       redef fun add(item)
        do
                var i = index_at(item)
                var c = _array[i]
@@ -394,11 +394,11 @@ special HashCollection[E, HashSetNode[E], E]
                end
        end
 
-       redef meth remove(item) do remove_index(index_at(item))
+       redef fun remove(item) do remove_index(index_at(item))
 
-       redef meth clear do raz
+       redef fun clear do raz
 
-       redef meth iterator do return new HashSetIterator[E](self)
+       redef fun iterator do return new HashSetIterator[E](self)
 
        init
        do
@@ -412,7 +412,7 @@ class HashSetNode[E]
 special HashNode[E]
        redef type N: HashSetNode[E]
 
-       redef readable writable attr _key: E
+       redef readable writable var _key: E
 
        init(e: E)
        do
@@ -422,25 +422,25 @@ end
 
 class HashSetIterator[E]
 special Iterator[E]
-       redef meth is_ok do return _node != null
+       redef fun is_ok do return _node != null
 
-       redef meth item
+       redef fun item
        do
                assert is_ok
                return _node.key
        end
 
-       redef meth next
+       redef fun next
        do
                assert is_ok
                _node = _node.next_item
        end
 
        # The set to iterate on
-       attr _set: HashSet[E]
+       var _set: HashSet[E]
 
        # The position in the internal map storage
-       attr _node: nullable HashSetNode[E]
+       var _node: nullable HashSetNode[E]
 
        init(set: HashSet[E])
        do
index 80a1282..64de7c3 100644 (file)
@@ -24,37 +24,37 @@ import end # Mark this module is a top level one. (must be only one)
 # Each class implicitely specialize Object.
 interface Object
        # The unique object identifier in the class
-       meth object_id: Int is intern
+       fun object_id: Int is intern
 
        # Return true is `self' and `other' have the same dynamic type
-       meth is_same_type(other: Object): Bool is intern
+       fun is_same_type(other: Object): Bool is intern
 
        # Have `self' and `other' the same value?
        ##
        # Implicitely, the default implementation, is ==
-       meth ==(other: nullable Object): Bool do return self is other
+       fun ==(other: nullable Object): Bool do return self is other
 
        # Have `self' and `other' different values?
        ##
        # != is equivament with "not =".
-       meth !=(other: nullable Object): Bool do return not (self == other)
+       fun !=(other: nullable Object): Bool do return not (self == other)
 
        # Display self on stdout (debug only).
-       meth output
+       fun output
        do
                '<'.output
                object_id.output
                '>'.output
        end
 
-       protected meth exit(exit_value: Int) is intern # Quit the program.
-       protected meth sys: Sys is intern # The global sys object
+       protected fun exit(exit_value: Int) is intern # Quit the program.
+       protected fun sys: Sys is intern # The global sys object
 end
 
 # The main class of the program.
 class Sys
        # Instructions outside classes implicetely redefine this method.
-       meth main do end
+       fun main do end
 end
 
 ###############################################################################
@@ -67,19 +67,19 @@ interface Comparable
        type OTHER: Comparable
 
        # Is `self' lesser than `other'
-       meth <(other: OTHER): Bool is abstract 
+       fun <(other: OTHER): Bool is abstract 
 
        # not `other' < `self'
-       meth <=(other: OTHER): Bool do return not other < self
+       fun <=(other: OTHER): Bool do return not other < self
 
        # not `self' < `other' 
-       meth >=(other: OTHER): Bool do return not self < other
+       fun >=(other: OTHER): Bool do return not self < other
 
        # `other' < `self'
-       meth >(other: OTHER): Bool do return other < self
+       fun >(other: OTHER): Bool do return other < self
 
        # -1 if <, +1 if > and 0 otherwise
-       meth <=>(other: OTHER): Int
+       fun <=>(other: OTHER): Int
        do
                if self < other then
                        return -1
@@ -91,13 +91,13 @@ interface Comparable
        end
 
        # c <= self <= d
-       meth is_between(c: OTHER, d: OTHER): Bool
+       fun is_between(c: OTHER, d: OTHER): Bool
        do
                return c <= self and self <= d
        end
 
        # The maximum between `self' and `other' (prefers `self' if equals).
-       meth max(other: OTHER): OTHER
+       fun max(other: OTHER): OTHER
        do
                if self < other then
                        return other
@@ -107,7 +107,7 @@ interface Comparable
        end
 
        # The minimum between `self' and `c' (prefer `self' if equals)
-       meth min(c: OTHER): OTHER
+       fun min(c: OTHER): OTHER
        do
                if c < self then
                        return c
@@ -124,21 +124,21 @@ special Comparable
        redef type OTHER: Discrete
 
        # The next element.
-       meth succ: OTHER do return self + 1
+       fun succ: OTHER do return self + 1
 
        # The previous element.
-       meth prec: OTHER do return self - 1
+       fun prec: OTHER do return self - 1
 
        # The `i' th successor element.
-       meth +(i: Int): OTHER is abstract
+       fun +(i: Int): OTHER is abstract
 
        # The `i' th previous element.
-       meth -(i: Int): OTHER is abstract
+       fun -(i: Int): OTHER is abstract
 
        # The distance between self and d.
        # 10.distance(15)       # --> 5
        # 'Z'.distance('A')     # --> 25
-       meth distance(d: OTHER): Int
+       fun distance(d: OTHER): Int
        do
                var cursor: OTHER
                var stop: OTHER
@@ -171,30 +171,30 @@ end
 #       `and', `or', `not'.
 # Booleans are mainly used by conditional statement and loops.
 universal Bool
-       redef meth object_id is intern
-       redef meth ==(b) is intern
-       redef meth !=(b) is intern
-       redef meth output is intern
+       redef fun object_id is intern
+       redef fun ==(b) is intern
+       redef fun !=(b) is intern
+       redef fun output is intern
 end
 
 # Native floating point numbers.
 # Corresponds to C float.
 universal Float
-       redef meth object_id is intern
-       redef meth output is intern
-
-       meth <=(i: Float): Bool is intern
-       meth <(i: Float): Bool is intern
-       meth >=(i: Float): Bool is intern
-       meth >(i: Float): Bool is intern
-       meth +(i: Float): Float is intern
-       meth -: Float is intern
-       meth -(i: Float): Float is intern
-       meth *(i: Float): Float is intern
-       meth /(i: Float): Float is intern
+       redef fun object_id is intern
+       redef fun output is intern
+
+       fun <=(i: Float): Bool is intern
+       fun <(i: Float): Bool is intern
+       fun >=(i: Float): Bool is intern
+       fun >(i: Float): Bool is intern
+       fun +(i: Float): Float is intern
+       fun -: Float is intern
+       fun -(i: Float): Float is intern
+       fun *(i: Float): Float is intern
+       fun /(i: Float): Float is intern
        
        # The integer part of `self'.
-       meth to_i: Int is intern
+       fun to_i: Int is intern
 end
 
 # Native integer numbers.
@@ -203,30 +203,30 @@ universal Int
 special Discrete
        redef type OTHER: Int
 
-       redef meth object_id is intern
-       redef meth ==(i) is intern
-       redef meth !=(i) is intern
-       redef meth output is intern
-
-       redef meth <=(i) is intern
-       redef meth <(i) is intern
-       redef meth >=(i) is intern
-       redef meth >(i) is intern
-       redef meth +(i) is intern
-       meth -: Int is intern
-       redef meth -(i) is intern
-       meth *(i: Int): Int is intern
-       meth /(i: Int): Int is intern
-       meth %(i: Int): Int is intern   
-       meth lshift(i: Int): Int is intern
-       meth rshift(i: Int): Int is intern   
+       redef fun object_id is intern
+       redef fun ==(i) is intern
+       redef fun !=(i) is intern
+       redef fun output is intern
+
+       redef fun <=(i) is intern
+       redef fun <(i) is intern
+       redef fun >=(i) is intern
+       redef fun >(i) is intern
+       redef fun +(i) is intern
+       fun -: Int is intern
+       redef fun -(i) is intern
+       fun *(i: Int): Int is intern
+       fun /(i: Int): Int is intern
+       fun %(i: Int): Int is intern   
+       fun lshift(i: Int): Int is intern
+       fun rshift(i: Int): Int is intern   
 
        # The float equivalent of `self'
-       meth to_f: Float is intern
+       fun to_f: Float is intern
 
-       redef meth succ is intern
-       redef meth prec is intern
-       redef meth distance(i)
+       redef fun succ is intern
+       redef fun prec is intern
+       redef fun distance(i)
        do
                var d = self - i
                if d >= 0 then
@@ -236,7 +236,7 @@ special Discrete
                end
        end
        
-       redef meth <=>(other)
+       redef fun <=>(other)
        do
                if self < other then
                        return -1
@@ -247,7 +247,7 @@ special Discrete
                end
        end
 
-       redef meth is_between(c, d)
+       redef fun is_between(c, d)
        do
                if self < c or d < self then 
                        return false
@@ -256,7 +256,7 @@ special Discrete
                end
        end
 
-       redef meth max(other)
+       redef fun max(other)
        do
                if self < other then
                        return other
@@ -265,7 +265,7 @@ special Discrete
                end
        end
 
-       redef meth min(c)
+       redef fun min(c)
        do
                if c < self then
                        return c
@@ -275,10 +275,10 @@ special Discrete
        end
 
        # The character whose ASCII value is `self'.
-       meth ascii: Char is intern
+       fun ascii: Char is intern
 
        # Number of digits of an integer in base `b' plus one if negative)
-       meth digit_count(b: Int): Int
+       fun digit_count(b: Int): Int
        do
                var d: Int # number of digits
                var n: Int # current number
@@ -303,7 +303,7 @@ special Discrete
        # Return the corresponding digit character
        # If 0 <= `self' <= 9, return the corresponding character.
        # If 10 <= `self' <= 36, return the corresponding letter [a..z].
-       meth to_c: Char
+       fun to_c: Char
        do
                assert self >= 0 and self <= 36 # TODO plan for this
                if self < 10 then
@@ -321,20 +321,20 @@ universal Char
 special Discrete
        redef type OTHER: Char
 
-       redef meth object_id is intern
-       redef meth ==(o) is intern
-       redef meth !=(o) is intern
-       redef meth output is intern
+       redef fun object_id is intern
+       redef fun ==(o) is intern
+       redef fun !=(o) is intern
+       redef fun output is intern
 
-       redef meth <=(i) is intern
-       redef meth <(i) is intern
-       redef meth >=(i) is intern
-       redef meth >(i) is intern
+       redef fun <=(i) is intern
+       redef fun <(i) is intern
+       redef fun >=(i) is intern
+       redef fun >(i) is intern
 
-       redef meth succ is intern
-       redef meth prec is intern
+       redef fun succ is intern
+       redef fun prec is intern
 
-       redef meth distance(c)
+       redef fun distance(c)
        do
                var d = self.ascii - c.ascii
                if d >= 0 then
@@ -345,7 +345,7 @@ special Discrete
        end
 
        # If `self' is a digit then return this digit.
-       meth to_i: Int
+       fun to_i: Int
        do
 
                if self == '-' then
@@ -358,13 +358,13 @@ special Discrete
        end
 
        # the ascii value of self
-       meth ascii: Int is intern
+       fun ascii: Int is intern
 
-       redef meth +(i) is intern
-       redef meth -(i) is intern
+       redef fun +(i) is intern
+       redef fun -(i) is intern
 
        # Char to lower case
-       meth to_lower : Char
+       fun to_lower : Char
        do
                if self >= 'A' and self <= 'Z' then
                        return (ascii + ('a'.distance('A'))).ascii
@@ -374,7 +374,7 @@ special Discrete
        end
 
        # Char to upper case
-       meth to_upper : Char
+       fun to_upper : Char
        do
                if self >= 'a' and self <= 'z' then
                        return (ascii - ('a'.distance('A'))).ascii
index 6a0fd19..13a8e29 100644 (file)
@@ -19,29 +19,29 @@ import abstract_collection
 class List[E]
 special IndexedCollection[E]
 # Access
-       redef meth [](index) do return get_node(index).item
+       redef fun [](index) do return get_node(index).item
 
-       redef meth []=(index, item) do get_node(index).item = item
+       redef fun []=(index, item) do get_node(index).item = item
 
        # O(1)
-       redef meth first do return _head.item
+       redef fun first do return _head.item
 
        # O(1)
-       redef meth first=(e) do _head.item = e
+       redef fun first=(e) do _head.item = e
 
        # O(1)
-       redef meth last do return _tail.item
+       redef fun last do return _tail.item
 
        # O(1)
-       redef meth last=(e) do _tail.item = e
+       redef fun last=(e) do _tail.item = e
 
 # Queries
 
        # O(1)
-       redef meth is_empty do return _head == null
+       redef fun is_empty do return _head == null
 
        # O(n)
-       redef meth length
+       redef fun length
        do
                var l = 0
                var t = _head
@@ -53,9 +53,9 @@ special IndexedCollection[E]
        end
 
        # O(n)
-       redef meth has(e) do return search_node_after(e, _head) != null
+       redef fun has(e) do return search_node_after(e, _head) != null
 
-       redef meth has_only(e)
+       redef fun has_only(e)
        do
                var node = _head
                while node != null do
@@ -65,7 +65,7 @@ special IndexedCollection[E]
                return true
        end
 
-       redef meth count(e)
+       redef fun count(e)
        do
                var nb = 0
                var node = _head
@@ -76,12 +76,12 @@ special IndexedCollection[E]
                return nb
        end
 
-       redef meth has_key(index) do return get_node(index) != null
+       redef fun has_key(index) do return get_node(index) != null
 
 # Add elements
 
        # O(1)
-       redef meth push(e)
+       redef fun push(e)
        do
                var node = new ListNode[E](e)
                if _tail == null then
@@ -94,7 +94,7 @@ special IndexedCollection[E]
        end
 
        # O(1)
-       redef meth unshift(e)
+       redef fun unshift(e)
        do
                var node = new ListNode[E](e)
                if _head == null then
@@ -109,7 +109,7 @@ special IndexedCollection[E]
        # Append `l' to `self' but clear `l'.
        ##
        # O(1)
-       meth link(l: List[E])
+       fun link(l: List[E])
        do
                if _tail == null then
                        _head = l._head
@@ -124,7 +124,7 @@ special IndexedCollection[E]
 # Remove elements
 
        # O(1)
-       redef meth pop
+       redef fun pop
        do
                var node = _tail
                _tail = node.prev
@@ -138,7 +138,7 @@ special IndexedCollection[E]
        end
 
        # O(1)
-       redef meth shift
+       redef fun shift
        do
                var node = _head
                _head = node.next
@@ -151,26 +151,26 @@ special IndexedCollection[E]
                return node.item
        end
 
-       redef meth remove(e)
+       redef fun remove(e)
        do
                var node = search_node_after(e, _head)
                if node != null then remove_node(node)
        end
 
-       redef meth remove_at(i)
+       redef fun remove_at(i)
        do
                var node = get_node(i)
                if node != null then remove_node(node)
        end
 
-       redef meth clear
+       redef fun clear
        do
                _head = null
                _tail = null
        end
 
 
-       redef meth iterator: ListIterator[E] do return new ListIterator[E](_head)
+       redef fun iterator: ListIterator[E] do return new ListIterator[E](_head)
 
        # Build an empty list.
        init do end
@@ -179,13 +179,13 @@ special IndexedCollection[E]
        init from(coll: Collection[E]) do append(coll)
 
        # The first node of the list
-       attr _head: nullable ListNode[E]
+       var _head: nullable ListNode[E]
 
        # The last node of the list
-       attr _tail: nullable ListNode[E]
+       var _tail: nullable ListNode[E]
 
        # Get the `i'th node. get `null' otherwise.
-       private meth get_node(i: Int): nullable ListNode[E]
+       private fun get_node(i: Int): nullable ListNode[E]
        do
                var n = _head
                if i < 0 then
@@ -199,7 +199,7 @@ special IndexedCollection[E]
        end
 
        # get the first node that contains e after 'after', null otherwise
-       private meth search_node_after(e: E, after: nullable ListNode[E]): nullable ListNode[E]
+       private fun search_node_after(e: E, after: nullable ListNode[E]): nullable ListNode[E]
        do
                var n = after
                while n != null and n.item != e do n = n.next
@@ -207,7 +207,7 @@ special IndexedCollection[E]
        end
 
        # Remove the node (ie. atach prev and next)
-       private meth remove_node(node: ListNode[E])
+       private fun remove_node(node: ListNode[E])
        do
                if node.prev == null then
                        _head = node.next
@@ -225,7 +225,7 @@ special IndexedCollection[E]
                end
        end
 
-       private meth insert_before(element: E, node: ListNode[E])
+       private fun insert_before(element: E, node: ListNode[E])
        do
                var nnode = new ListNode[E](element)
                var prev = node.prev
@@ -243,13 +243,13 @@ end
 # This is the iterator class of List
 class ListIterator[E]
 special IndexedIterator[E]
-       redef meth item do return _node.item
+       redef fun item do return _node.item
 
-       # redef meth item=(e) do _node.item = e
+       # redef fun item=(e) do _node.item = e
 
-       redef meth is_ok do return not _node == null
+       redef fun is_ok do return not _node == null
 
-       redef meth next
+       redef fun next
        do
                _node = _node.next
                _index += 1
@@ -263,10 +263,10 @@ special IndexedIterator[E]
        end
 
        # The current node of the list
-       attr _node: nullable ListNode[E]
+       var _node: nullable ListNode[E]
 
        # The index of the current node
-       redef readable attr _index: Int
+       redef readable var _index: Int
 end
 
 # Linked nodes that constitute a linked list.
@@ -278,8 +278,8 @@ special Container[E]
        end
 
        # The next node.
-       readable writable attr _next: nullable ListNode[E]
+       readable writable var _next: nullable ListNode[E]
 
        # The previous node.
-       readable writable attr _prev: nullable ListNode[E]
+       readable writable var _prev: nullable ListNode[E]
 end
index 470c561..1daaedc 100644 (file)
@@ -16,26 +16,26 @@ package math
 import kernel
 
 redef class Int
-       meth rand: Int is extern "kernel_Int_Int_rand_0"
+       fun rand: Int is extern "kernel_Int_Int_rand_0"
 end
 
 redef class Float
-       meth sqrt: Float is extern "kernel_Float_Float_sqrt_0"
-       meth cos: Float is extern "kernel_Float_Float_cos_0"
-       meth sin: Float is extern "kernel_Float_Float_sin_0"
-       meth tan: Float is extern "kernel_Float_Float_tan_0"
-       meth acos: Float is extern "kernel_Float_Float_acos_0"
-       meth asin: Float is extern "kernel_Float_Float_asin_0"
-       meth atan: Float is extern "kernel_Float_Float_atan_0"
+       fun sqrt: Float is extern "kernel_Float_Float_sqrt_0"
+       fun cos: Float is extern "kernel_Float_Float_cos_0"
+       fun sin: Float is extern "kernel_Float_Float_sin_0"
+       fun tan: Float is extern "kernel_Float_Float_tan_0"
+       fun acos: Float is extern "kernel_Float_Float_acos_0"
+       fun asin: Float is extern "kernel_Float_Float_asin_0"
+       fun atan: Float is extern "kernel_Float_Float_atan_0"
 
-       meth pow(e: Float): Float is extern "kernel_Float_Float_pow_1"
-       meth log: Float is extern "kernel_Float_Float_log_0"
-       meth exp: Float is extern "kernel_Float_Float_exp_0"
+       fun pow(e: Float): Float is extern "kernel_Float_Float_pow_1"
+       fun log: Float is extern "kernel_Float_Float_log_0"
+       fun exp: Float is extern "kernel_Float_Float_exp_0"
        
-       meth rand: Float is extern "kernel_Float_Float_rand_0"
+       fun rand: Float is extern "kernel_Float_Float_rand_0"
 end
 
-meth atan2(x: Float, y: Float): Float is extern "kernel_Any_Any_atan2_2"
-meth pi: Float is extern "kernel_Any_Any_pi_0"
-meth srand_from(x: Int) is extern "kernel_Any_Any_srand_from_1"
-meth srand is extern "kernel_Any_Any_srand_0"
+fun atan2(x: Float, y: Float): Float is extern "kernel_Any_Any_atan2_2"
+fun pi: Float is extern "kernel_Any_Any_pi_0"
+fun srand_from(x: Int) is extern "kernel_Any_Any_srand_from_1"
+fun srand is extern "kernel_Any_Any_srand_0"
index bf6d6a2..0641c2b 100644 (file)
@@ -19,19 +19,19 @@ import abstract_collection
 class Range[E: Discrete]
 special Collection[E]
 
-       redef readable attr _first: E
+       redef readable var _first: E
 
        # Get the last element.
-       readable attr _last: E
+       readable var _last: E
 
        # Get the element after the last one.
-       readable attr _after: E
+       readable var _after: E
 
-       redef meth has(item) do return item >= _first and item <= _last
+       redef fun has(item) do return item >= _first and item <= _last
 
-       redef meth has_only(item) do return _first == item and item == _last
+       redef fun has_only(item) do return _first == item and item == _last
 
-       redef meth count(item)
+       redef fun count(item)
        do
                if has(item) then
                        return 1
@@ -40,9 +40,9 @@ special Collection[E]
                end
        end
 
-       redef meth iterator do return new IteratorRange[E](self)
+       redef fun iterator do return new IteratorRange[E](self)
 
-       redef meth length
+       redef fun length
        do
                var nb = _first.distance(_after)
                if nb > 0 then
@@ -52,7 +52,7 @@ special Collection[E]
                end
        end
 
-       redef meth is_empty do return _first >= _after
+       redef fun is_empty do return _first >= _after
 
        # Create a range [`from', `to'].
        # The syntax [`from'..`to'[ is equivalent.
@@ -76,12 +76,12 @@ end
 class IteratorRange[E: Discrete]
        # Iterator on ranges.
 special Iterator[E]
-       attr _range: Range[E]   
-       redef readable attr _item: E
+       var _range: Range[E]    
+       redef readable var _item: E
 
-       redef meth is_ok do return _item < _range.after
+       redef fun is_ok do return _item < _range.after
        
-       redef meth next do _item = _item.succ
+       redef fun next do _item = _item.succ
        
        init(r: Range[E])
        do
index d24a02a..8240a0c 100644 (file)
@@ -24,13 +24,13 @@ class AbstractSorter[E: Object]
        #       -1 if a < b
        #       0  if a = b
        #       1  if a > b
-       protected meth compare(a: E, b: E): Int is abstract
+       protected fun compare(a: E, b: E): Int is abstract
 
        # Sort `array' using the `compare' function.
-       meth sort(array: Array[E]) do sub_sort(array, 0, array.length-1)
+       fun sort(array: Array[E]) do sub_sort(array, 0, array.length-1)
 
        # Sort `array' between `from' and `to' indices
-       private meth sub_sort(array: Array[E], from: Int, to: Int)
+       private fun sub_sort(array: Array[E], from: Int, to: Int)
        do
                if from >= to then
                        return
@@ -42,7 +42,7 @@ class AbstractSorter[E: Object]
        end
 
        # Quick-sort `array' between `from' and `to' indices
-       private meth quick_sort(array: Array[E], from: Int, to: Int)
+       private fun quick_sort(array: Array[E], from: Int, to: Int)
        do
                var pivot = array[from]
                var i = from
@@ -63,7 +63,7 @@ class AbstractSorter[E: Object]
        end
        
        # Bubble-sort `array' between `from' and `to' indices
-       private meth bubble_sort(array: Array[E], from: Int, to: Int)
+       private fun bubble_sort(array: Array[E], from: Int, to: Int)
        do
                var i = from
                while i < to do
@@ -91,7 +91,7 @@ end
 class ComparableSorter[E: Comparable]
 special AbstractSorter[E]
        # Return a <=> b
-       redef meth compare(a, b) do return a <=> b
+       redef fun compare(a, b) do return a <=> b
 
        init do end
 end
index 45c9f32..0d59246 100644 (file)
@@ -18,17 +18,17 @@ import string
 # Abstract stream class
 class IOS
        # close the stream
-       meth close is abstract
+       fun close is abstract
 end
 
 # Abstract input streams
 class IStream
 special IOS
        # Read a character. Return its ASCII value, -1 on EOF or timeout
-       meth read_char: Int is abstract
+       fun read_char: Int is abstract
 
        # Read at most i bytes
-       meth read(i: Int): String
+       fun read(i: Int): String
        do
                var s = new Buffer.with_capacity(i)
                while i > 0 and not eof do
@@ -42,7 +42,7 @@ special IOS
        end
 
        # Read a string until the end of the line.
-       meth read_line: String
+       fun read_line: String
        do
                assert not eof
                var s = new Buffer
@@ -51,7 +51,7 @@ special IOS
        end
 
        # Read all the stream until the eof.
-       meth read_all: String
+       fun read_all: String
        do
                var s = new Buffer
                while not eof do
@@ -62,7 +62,7 @@ special IOS
        end
 
        # Read a string until the end of the line and append it to `s'.
-       meth append_line_to(s: Buffer)
+       fun append_line_to(s: Buffer)
        do
                while true do
                        var x = read_char
@@ -77,23 +77,23 @@ special IOS
        end
 
        # Is there something to read.
-       meth eof: Bool is abstract
+       fun eof: Bool is abstract
 end
 
 # Abstract output stream
 class OStream
 special IOS
        # write a string
-       meth write(s: String) is abstract
+       fun write(s: String) is abstract
 
        # Can the stream be used to write
-       meth is_writable: Bool is abstract
+       fun is_writable: Bool is abstract
 end
 
 # Input streams with a buffer
 class BufferedIStream
 special IStream
-       redef meth read_char
+       redef fun read_char
        do
                assert not eof
                if _buffer_pos >= _buffer.length then
@@ -107,7 +107,7 @@ special IStream
                return c.ascii
        end
 
-       redef meth read(i)
+       redef fun read(i)
        do
                var s = new Buffer.with_capacity(i)
                var j = _buffer_pos
@@ -129,7 +129,7 @@ special IStream
                return s.to_s
        end
 
-       redef meth read_all
+       redef fun read_all
        do
                var s = new Buffer
                while not eof do
@@ -145,7 +145,7 @@ special IStream
                return s.to_s
        end   
 
-       redef meth append_line_to(s)
+       redef fun append_line_to(s)
        do
                while true do
                        # First phase: look for a '\n'
@@ -181,22 +181,22 @@ special IStream
                end
        end
 
-       redef meth eof do return _buffer_pos >= _buffer.length and end_reached
+       redef fun eof do return _buffer_pos >= _buffer.length and end_reached
 
        # The buffer
-       attr _buffer: nullable Buffer = null
+       var _buffer: nullable Buffer = null
 
        # The current position in the buffer
-       attr _buffer_pos: Int = 0
+       var _buffer_pos: Int = 0
 
        # Fill the buffer
-       protected meth fill_buffer is abstract
+       protected fun fill_buffer is abstract
 
        # Is the last fill_buffer reach the end 
-       protected meth end_reached: Bool is abstract
+       protected fun end_reached: Bool is abstract
 
        # Allocate a `_buffer' for a given `capacity'.
-       protected meth prepare_buffer(capacity: Int)
+       protected fun prepare_buffer(capacity: Int)
        do
                _buffer = new Buffer.with_capacity(capacity)
                _buffer_pos = 0 # need to read
@@ -213,14 +213,14 @@ end
 class FDStream
 special IOS
        # File description
-       attr _fd: Int
+       var _fd: Int
 
-       redef meth close do native_close(_fd)
+       redef fun close do native_close(_fd)
 
-       private meth native_close(i: Int): Int is extern "stream_FDStream_FDStream_native_close_1"
-       private meth native_read_char(i: Int): Int is extern "stream_FDStream_FDStream_native_read_char_1"
-       private meth native_read(i: Int, buf: NativeString, len: Int): Int is extern "stream_FDStream_FDStream_native_read_3"
-       private meth native_write(i: Int, buf: NativeString, len: Int): Int is extern "stream_FDStream_FDStream_native_write_3"
+       private fun native_close(i: Int): Int is extern "stream_FDStream_FDStream_native_close_1"
+       private fun native_read_char(i: Int): Int is extern "stream_FDStream_FDStream_native_read_char_1"
+       private fun native_read(i: Int, buf: NativeString, len: Int): Int is extern "stream_FDStream_FDStream_native_read_3"
+       private fun native_write(i: Int, buf: NativeString, len: Int): Int is extern "stream_FDStream_FDStream_native_write_3"
 
        init(fd: Int) do _fd = fd
 end
@@ -228,9 +228,9 @@ end
 class FDIStream
 special FDStream
 special IStream
-       redef readable attr _eof: Bool = false
+       redef readable var _eof: Bool = false
        
-       redef meth read_char
+       redef fun read_char
        do
                var nb = native_read_char(_fd)
                if nb == -1 then _eof = true
@@ -243,9 +243,9 @@ end
 class FDOStream
 special FDStream
 special OStream
-       redef readable attr _is_writable: Bool
+       redef readable var _is_writable: Bool
 
-       redef meth write(s)
+       redef fun write(s)
        do
                var nb = native_write(_fd, s.to_cstring, s.length)
                if nb < s.length then _is_writable = false
index a55e72a..20d0c9e 100644 (file)
@@ -22,9 +22,9 @@ intrude import array
 
 abstract class AbstractString
 special AbstractArrayRead[Char]
-       readable private attr _items: NativeString
+       readable private var _items: NativeString
 
-       redef meth [](index) do return _items[index]
+       redef fun [](index) do return _items[index]
 
        # Create a substring.
        #
@@ -32,7 +32,7 @@ special AbstractArrayRead[Char]
        # "abcd".substring(-1, 2)       # --> "a"
        # "abcd".substring(1, 0)     # --> ""
        # "abcd".substring(2, 5)     # --> "cd"
-       meth substring(from: Int, count: Int): String
+       fun substring(from: Int, count: Int): String
        do
                assert count >= 0
                count += from
@@ -55,7 +55,7 @@ special AbstractArrayRead[Char]
        # "abcd".substring(1)   # --> "bcd"
        # "abcd".substring(-1)  # --> "abcd"
        # "abcd".substring(2)     # --> "cd"
-       meth substring_from(from: Int): String
+       fun substring_from(from: Int): String
        do
                assert from < length
                return substring(from, length - from)
@@ -65,7 +65,7 @@ special AbstractArrayRead[Char]
        #
        # "bc".is_substring("abcd",1)   # --> true
        # "bc".is_substring("abcd",2)   # --> false
-       meth has_substring(str: String, pos: Int): Bool
+       fun has_substring(str: String, pos: Int): Bool
        do
                var itsindex = str.length - 1
                var myindex = pos + itsindex
@@ -84,26 +84,26 @@ special AbstractArrayRead[Char]
        #
        # "abc".is_prefix("abcd")       # --> true
        # "bc".is_prefix("abcd")        # --> false
-       meth has_prefix(prefix: String): Bool do return has_substring(prefix,0)
+       fun has_prefix(prefix: String): Bool do return has_substring(prefix,0)
 
        # Is this string suffixed by 'suffix'
        #
        # "abcd".has_suffix("abc")      # --> false
        # "abcd".has_suffix("bcd")      # --> true
-       meth has_suffix(suffix: String): Bool do return has_substring(suffix, length - suffix.length)
+       fun has_suffix(suffix: String): Bool do return has_substring(suffix, length - suffix.length)
 
        # If `self' contains only digits, return the corresponding integer
-       meth to_i: Int
+       fun to_i: Int
        do
                # Shortcut
                return to_s.to_cstring.atoi
        end
 
        # If `self' contains only digits and alpha <= 'f', return the corresponding integer.
-       meth to_hex: Int do return a_to(16)
+       fun to_hex: Int do return a_to(16)
 
        # If `self' contains only digits and letters, return the corresponding integer in a given base
-       meth a_to(base: Int) : Int
+       fun a_to(base: Int) : Int
        do
                var i = 0
                var neg = false
@@ -131,7 +131,7 @@ special AbstractArrayRead[Char]
        end
 
        # String to upper case
-       meth to_upper: String
+       fun to_upper: String
        do
                var s = new Buffer.with_capacity(length)
                for i in self do s.add(i.to_upper)
@@ -139,7 +139,7 @@ special AbstractArrayRead[Char]
        end
 
        # String to lower case
-       meth to_lower : String
+       fun to_lower : String
        do
                var s = new Buffer.with_capacity(length)
                for i in self do s.add(i.to_lower)
@@ -147,7 +147,7 @@ special AbstractArrayRead[Char]
        end
 
 
-       redef meth output
+       redef fun output
        do
                var i = 0
                while i < length do
@@ -180,12 +180,12 @@ special AbstractString
        end
 
        # Return a null terminated char *
-       meth to_cstring: NativeString
+       fun to_cstring: NativeString
        do
                return _items
        end
 
-       redef meth ==(o)
+       redef fun ==(o)
        do
                if not o isa String or o is null then return false
                var l = length
@@ -200,7 +200,7 @@ special AbstractString
                return true
        end
 
-       redef meth <(s)
+       redef fun <(s)
        do
                var i = 0
                var l1 = length
@@ -225,7 +225,7 @@ special AbstractString
        end
 
        # The concatenation of `self' with `r'
-       meth +(s: String): String
+       fun +(s: String): String
        do
                var r = new Buffer.with_capacity(length + s.length)
                r.append(self)
@@ -234,7 +234,7 @@ special AbstractString
        end
 
        # i repetitions of self
-       meth *(i: Int): String
+       fun *(i: Int): String
        do
                assert i >= 0
                var r = new Buffer.with_capacity(length * i)
@@ -245,7 +245,7 @@ special AbstractString
                return r.to_s
        end
 
-       redef meth to_s do return self
+       redef fun to_s do return self
 end
 
 # Strings are arrays of characters.
@@ -257,7 +257,7 @@ special AbstractArray[Char]
 
        redef type OTHER: String
 
-       redef meth []=(index, item)
+       redef fun []=(index, item)
        do
                if index == length then
                        add(item)
@@ -267,14 +267,14 @@ special AbstractArray[Char]
                _items[index] = item
        end
 
-       redef meth add(c)
+       redef fun add(c)
        do
                if _capacity <= length then enlarge(length + 5)
                _items[length] = c
                _length += 1
        end
 
-       redef meth enlarge(cap)
+       redef fun enlarge(cap)
        do
                var c = _capacity
                if cap <= c then return
@@ -285,7 +285,7 @@ special AbstractArray[Char]
                _capacity = c
        end
 
-       redef meth append(s)
+       redef fun append(s)
        do
                if s isa String then
                        var sl = s.length
@@ -297,7 +297,7 @@ special AbstractArray[Char]
                end
        end
 
-       redef meth to_s: String
+       redef fun to_s: String
        do
                var l = length
                var a = calloc_string(l+1)
@@ -309,7 +309,7 @@ special AbstractArray[Char]
                return new String.with_native(a, length)
        end
 
-       redef meth <(s)
+       redef fun <(s)
        do
                var i = 0
                var l1 = length
@@ -355,7 +355,7 @@ special AbstractArray[Char]
                _length = 0
        end
 
-       redef meth ==(o)
+       redef fun ==(o)
        do
                if not o isa Buffer or o is null then return false
                var l = length
@@ -370,7 +370,7 @@ special AbstractArray[Char]
                return true
        end
 
-       readable private attr _capacity: Int 
+       readable private var _capacity: Int 
 end
 
 ###############################################################################
@@ -378,14 +378,14 @@ end
 ###############################################################################
 
 redef class Object
-       #   meth class_name: String is extern intern # The name of the class
+       #   fun class_name: String is extern intern # The name of the class
 
        # User redeable representation of `self'.
-       meth to_s: String do return inspect
+       fun to_s: String do return inspect
 
        # Developper readable representation of `self'.
        # Usualy, it uses the form "<CLASSNAME:#OBJECTID bla bla bla>"
-       meth inspect: String
+       fun inspect: String
        do
                var r = inspect_head
                # r.add('>')
@@ -394,19 +394,19 @@ redef class Object
 
        # Return "<CLASSNAME:#OBJECTID".
        # This fuction is mainly used with the redefinition of the inspect(0) method
-       protected meth inspect_head: String
+       protected fun inspect_head: String
        do
                return "<{object_id.to_hex}"
        end
 
-       protected meth args: IndexedCollection[String]
+       protected fun args: IndexedCollection[String]
        do
                return sys.args
        end
 end
 
 redef class Bool
-       redef meth to_s
+       redef fun to_s
        do 
                if self then 
                        return once "true" 
@@ -417,7 +417,7 @@ redef class Bool
 end
 
 redef class Int
-       meth fill_buffer(s: Buffer, base: Int, signed: Bool)
+       fun fill_buffer(s: Buffer, base: Int, signed: Bool)
        # Fill `s' with the digits in base 'base' of `self' (and with the '-' sign if 'signed' and negative).
        # assume < to_c max const of char
        do
@@ -442,13 +442,13 @@ redef class Int
        end
 
        # return displayable int in base 10 and signed
-       redef meth to_s do return to_base(10,true)
+       redef fun to_s do return to_base(10,true)
        
        # return displayable int in hexadecimal (unsigned (not now))
-       meth to_hex: String do return to_base(16,false)
+       fun to_hex: String do return to_base(16,false)
 
        # return displayable int in base base and signed
-       meth to_base(base: Int, signed: Bool): String
+       fun to_base(base: Int, signed: Bool): String
        do
                var l = digit_count(base)
                var s = new Buffer.from(" " * l)
@@ -458,10 +458,10 @@ redef class Int
 end
 
 redef class Float
-       redef meth to_s do return to_precision(6)
+       redef fun to_s do return to_precision(6)
 
        # `self' representation with `nb' digits after the '.'.
-       meth to_precision(nb: Int): String
+       fun to_precision(nb: Int): String
        do
                if nb == 0 then return to_i.to_s
 
@@ -477,7 +477,7 @@ redef class Float
 end
 
 redef class Char
-       redef meth to_s
+       redef fun to_s
        do
                var s = new Buffer.with_capacity(1)
                s[0] = self
@@ -487,7 +487,7 @@ end
 
 redef class Collection[E]
        # Concatenate elements.
-       redef meth to_s
+       redef fun to_s
        do
                var s = new Buffer
                for e in self do if e != null then s.append(e.to_s)
@@ -495,7 +495,7 @@ redef class Collection[E]
        end
 
        # Concatenate and separate each elements with `sep'. 
-       meth join(sep: String): String
+       fun join(sep: String): String
        do
                if is_empty then return ""
                
@@ -520,7 +520,7 @@ end
 
 redef class Array[E]
        # Fast implementation
-       redef meth to_s
+       redef fun to_s
        do
                var s = new Buffer
                var i = 0
@@ -536,7 +536,7 @@ end
 
 redef class Map[K,V]
        # Concatenate couple of 'key value' separate by 'couple_sep' and separate each couple with `sep'. 
-       meth map_join(sep: String, couple_sep: String): String
+       fun map_join(sep: String, couple_sep: String): String
        do
                if is_empty then return ""
                
@@ -567,42 +567,42 @@ end
 
 # Native strings are simple C char *
 class NativeString
-       meth [](index: Int): Char is intern
-       meth []=(index: Int, item: Char) is intern
-       meth copy_to(dest: NativeString, length: Int, from: Int, to: Int) is intern
+       fun [](index: Int): Char is intern
+       fun []=(index: Int, item: Char) is intern
+       fun copy_to(dest: NativeString, length: Int, from: Int, to: Int) is intern
        
        # Position of the first nul character.
-       meth cstring_length: Int
+       fun cstring_length: Int
        do
                var l = 0
                while self[l] != '\0' do l += 1
                return l
        end
-       meth atoi: Int is intern
+       fun atoi: Int is intern
 end
 
 # StringCapable objects can create native strings
 class StringCapable
-       protected meth calloc_string(size: Int): NativeString is intern
+       protected fun calloc_string(size: Int): NativeString is intern
 end
 
 redef class Sys
-       attr _args_cache: nullable IndexedCollection[String]
+       var _args_cache: nullable IndexedCollection[String]
 
-       redef meth args: IndexedCollection[String]
+       redef fun args: IndexedCollection[String]
        do
                if _args_cache == null then init_args
                return _args_cache.as(not null)
        end
 
        # The name of the program as given by the OS
-       meth program_name: String
+       fun program_name: String
        do
                return new String.from_cstring(native_argv(0))
        end
 
        # Initialize `args' with the contents of `native_argc' and `native_argv'.
-       private meth init_args
+       private fun init_args
        do
                var argc = native_argc
                var args = new Array[String].with_capacity(0)
@@ -614,8 +614,8 @@ redef class Sys
                _args_cache = args
        end
 
-       private meth native_argc: Int is extern "kernel_Sys_Sys_native_argc_0" # First argument of the main C function.
+       private fun native_argc: Int is extern "kernel_Sys_Sys_native_argc_0" # First argument of the main C function.
        
-       private meth native_argv(i: Int): NativeString is extern "kernel_Sys_Sys_native_argv_1" # Second argument of the main C function.
+       private fun native_argv(i: Int): NativeString is extern "kernel_Sys_Sys_native_argv_1" # Second argument of the main C function.
 end
 
index 9279fc2..ef9256a 100644 (file)
@@ -21,14 +21,14 @@ class Pattern
        # Search `self' into `s' from a certain position.
        # Return the position of the first character of the matching section.
        # Return -1 if not found.
-       meth search_index_in(s: String, from: Int): Int is abstract
+       fun search_index_in(s: String, from: Int): Int is abstract
 
        # Search `self' into `s' from a certain position.
        # Return null if not found.
-       meth search_in(s: String, from: Int): nullable Match is abstract
+       fun search_in(s: String, from: Int): nullable Match is abstract
 
        # Search all `self' occucences into `s'.
-       meth search_all_in(s: String): Array[Match]
+       fun search_all_in(s: String): Array[Match]
        do
                var res = new Array[Match] # Result
                var match = search_in(s, 0)
@@ -40,7 +40,7 @@ class Pattern
        end
 
        # Split `s' using `self' is separator.
-       meth split_in(s: String): Array[Match]
+       fun split_in(s: String): Array[Match]
        do
                var res = new Array[Match] # Result
                var i = 0 # Cursor
@@ -64,10 +64,10 @@ end
 # see also http://www.cs.utexas.edu/users/moore/best-ideas/string-searching/index.html
 class BM_Pattern
 special Pattern 
-       redef meth to_s do return _motif
+       redef fun to_s do return _motif
 
        # boyer-moore search gives the position of the first occurence of a pattern starting at position `from'
-       redef meth search_index_in(s, from)
+       redef fun search_index_in(s, from)
        do
                assert from >= 0
                var n = s.length
@@ -94,7 +94,7 @@ special Pattern
        end
 
        # boyer-moore search. Return null if not found 
-       redef meth search_in(s, from)
+       redef fun search_in(s, from)
        do
                var to = search_index_in(s, from)
                if to < 0 then
@@ -116,12 +116,12 @@ special Pattern
        end
 
        # searched motif
-       attr _motif: String
+       var _motif: String
 
        # length of the motif
-       attr _length: Int
+       var _length: Int
 
-       private meth bc(e: Char): Int
+       private fun bc(e: Char): Int
        do 
                if _bc_table.has_key(e) then
                        return _bc_table[e]
@@ -131,12 +131,12 @@ special Pattern
        end
 
        # good shifts
-       attr _gs: Array[Int]
+       var _gs: Array[Int]
        
        # bad characters
-       attr _bc_table: Map[Char, Int]
+       var _bc_table: Map[Char, Int]
 
-       private meth compute_bc
+       private fun compute_bc
        do
                var x = _motif
                var m = _length
@@ -147,7 +147,7 @@ special Pattern
                end
        end
 
-       private meth suffixes: Array[Int]
+       private fun suffixes: Array[Int]
        do
                var x = _motif
                var m = _length
@@ -170,7 +170,7 @@ special Pattern
                return suff
        end
 
-       private meth compute_gs
+       private fun compute_gs
        do
                var x = _motif
                var m = _length
@@ -202,20 +202,20 @@ end
 # Matches are a part of a string.
 class Match
        # The base string matched
-       readable attr _string: String
+       readable var _string: String
 
        # The starting position in the string
-       readable attr _from: Int
+       readable var _from: Int
 
        # The length of the mathching part
-       readable attr _length: Int
+       readable var _length: Int
 
        # The position of the first character just after the matching part.
        # May be out of the base string
-       meth after: Int do return _from + _length
+       fun after: Int do return _from + _length
 
        # The contents of the mathing part
-       redef meth to_s do return _string.substring(_from, _length)
+       redef fun to_s do return _string.substring(_from, _length)
 
        # Matches `len' characters of `s' from `f'.
        init(s: String, f: Int, len: Int)
@@ -231,7 +231,7 @@ end
 
 redef class Char
 special Pattern
-       redef meth search_index_in(s, from)
+       redef fun search_index_in(s, from)
        do
                var stop = s.length
                while from < stop do
@@ -241,7 +241,7 @@ special Pattern
                return -1
        end
 
-       redef meth search_in(s, from)
+       redef fun search_in(s, from)
        do
                var pos = search_index_in(s, from)
                if pos < 0 then
@@ -254,7 +254,7 @@ end
 
 redef class String
 special Pattern
-       redef meth search_index_in(s, from)
+       redef fun search_index_in(s, from)
        do
                assert from >= 0
                var stop = s.length - length + 1
@@ -269,7 +269,7 @@ special Pattern
                return -1
        end
 
-       redef meth search_in(s, from)
+       redef fun search_in(s, from)
        do
                var pos = search_index_in(s, from)
                if pos < 0 then
@@ -280,12 +280,12 @@ special Pattern
        end
 
        # Like `search_from' but from the first chararter.
-       meth search(p: Pattern): nullable Match do return p.search_in(self, 0)
+       fun search(p: Pattern): nullable Match do return p.search_in(self, 0)
 
        # Search the given pattern into self from a.
        # The search starts at `from'.
        # Return null if not found.
-       meth search_from(p: Pattern, from: Int): nullable Match do return p.search_in(self, from)
+       fun search_from(p: Pattern, from: Int): nullable Match do return p.search_in(self, from)
 
        # Search all occurences of p into self.
        #
@@ -294,11 +294,11 @@ special Pattern
        #       a.add(i.from)
        #   end
        #   a    # -> [4, 7]
-       meth search_all(p: Pattern): Array[Match] do return p.search_all_in(self)
+       fun search_all(p: Pattern): Array[Match] do return p.search_all_in(self)
 
        # Split self using p is separator.
        #   "hello world".split('o')     # -> ["hell", " w", "rld"]
-       meth split_with(p: Pattern): Array[String]
+       fun split_with(p: Pattern): Array[String]
        do
                var matches = p.split_in(self)
                var res = new Array[String].with_capacity(matches.length)
@@ -308,5 +308,5 @@ special Pattern
 
        # Split self using '\n' is separator.
        #   "hello\nworld".split     # -> ["hello","world"]
-       meth split: Array[String] do return split_with('\n')
+       fun split: Array[String] do return split_with('\n')
 end
index d953f36..db15b75 100644 (file)
@@ -18,7 +18,7 @@ private import hash
 
 redef class String
        # Get the unique corresponding to the string
-       meth to_symbol: Symbol
+       fun to_symbol: Symbol
        do
                var symbol_dictionary = once new HashMap[String, Symbol]
                if symbol_dictionary.has_key(self) then
@@ -33,8 +33,8 @@ end
 
 # A symbol is a unique unmutable string
 class Symbol
-       attr _string: String
-       redef meth to_s do return _string.to_s
+       var _string: String
+       redef fun to_s do return _string.to_s
 
        # Only used by String::to_symbol
        private init(s: String) do _string = s
index 043d075..a1f3424 100644 (file)
@@ -15,5 +15,5 @@ package time
 import kernel
 
 redef class Object
-       protected meth get_time: Int is extern "kernel_Any_Any_get_time_0"
+       protected fun get_time: Int is extern "kernel_Any_Any_get_time_0"
 end
index b03c827..e6a5dbf 100644 (file)
@@ -35,9 +35,9 @@ special ToolContext
 
        # The name of the tool
        # Used in help messages for instance
-       readable attr _tool_name: String
+       readable var _tool_name: String
 
-       meth exec_cmd_line
+       fun exec_cmd_line
        do
                process_options
 
@@ -73,9 +73,9 @@ special ToolContext
                end
        end
 
-       meth perform_work(mods: Array[MMModule]) is abstract
+       fun perform_work(mods: Array[MMModule]) is abstract
 
-       meth dump_context_info
+       fun dump_context_info
        do
                for mod in module_hierarchy do
                        mod.dump_module_info
@@ -95,7 +95,7 @@ special ToolContext
 end
 
 redef class MMModule
-       meth dump_module_info
+       fun dump_module_info
        do
                var p = filename.file_path
                var fname = "{p}/{name}"
@@ -113,7 +113,7 @@ redef class MMModule
 end
 
 redef class MMLocalClass
-       meth dump_properties(file: OStream)
+       fun dump_properties(file: OStream)
        do
                file.write("class {self}\n")
                for p in global_properties do
index 3ce3798..a063ca5 100644 (file)
@@ -26,7 +26,7 @@ redef class MMSrcModule
        # Compile the program
        # Generate all sep files (_sep.[ch]), the main file (_table.c) and the build file (_build.sh)
        # Then execute the build.sh
-       meth compile_prog_to_c(tc: ToolContext)
+       fun compile_prog_to_c(tc: ToolContext)
        do
                for m in mhe.greaters_and_self do
                        assert m isa MMSrcModule
@@ -78,7 +78,7 @@ redef class MMSrcModule
        end
 
        # Compile the main file
-       private meth compile_main(tc: ToolContext, ga: GlobalAnalysis)
+       private fun compile_main(tc: ToolContext, ga: GlobalAnalysis)
        do
                var v = new GlobalCompilerVisitor(self, tc, ga)
                v.add_decl("#include <nit_common.h>")
@@ -94,7 +94,7 @@ redef class MMSrcModule
        end
 
        # Compile the sep files (of the current module only)
-       private meth compile_separate_module(tc: ToolContext, ga: GlobalAnalysis)
+       private fun compile_separate_module(tc: ToolContext, ga: GlobalAnalysis)
        do
                var v = new GlobalCompilerVisitor(self, tc, ga)
                v.add_decl("#include <nit_common.h>")
index 3fcdf8d..d61e55c 100644 (file)
@@ -21,14 +21,14 @@ import syntax
 private import utils
 
 redef class ToolContext
-       readable writable attr _global: Bool = false
-       readable writable attr _compdir: nullable String = null
-       readable writable attr _clibdir: nullable String = null
-       readable writable attr _bindir: nullable String = null
-       readable writable attr _output_file: nullable String = null
-       readable writable attr _boost: Bool = false
-       readable writable attr _no_cc: Bool = false
-       readable writable attr _ext_prefix: String = ""
+       readable writable var _global: Bool = false
+       readable writable var _compdir: nullable String = null
+       readable writable var _clibdir: nullable String = null
+       readable writable var _bindir: nullable String = null
+       readable writable var _output_file: nullable String = null
+       readable writable var _boost: Bool = false
+       readable writable var _no_cc: Bool = false
+       readable writable var _ext_prefix: String = ""
 end
 
 # Class used to generate files.
@@ -36,7 +36,7 @@ end
 # Note also that this class is unefficient and poorly designed thus requires love.
 class CompilerVisitor
        # Add a line in the current declaration block
-       meth add_decl(s: String)
+       fun add_decl(s: String)
        do
                if _indent_level >= 8 then
                        _ctx.decls.add("\t\t" + s)
@@ -46,7 +46,7 @@ class CompilerVisitor
        end
 
        # Add a line in the current instr block
-       meth add_instr(s: String)
+       fun add_instr(s: String)
        do
                if _indent_level >= 8 then
                        _ctx.instrs.add("\t\t" + s)
@@ -56,28 +56,28 @@ class CompilerVisitor
        end
 
        # Return a unique new number for the instance
-       meth new_number: Int
+       fun new_number: Int
        do
                var res = _number_cpt
                _number_cpt = res + 1
                return res
        end
        # next number for new_number
-       attr _number_cpt: Int = 0
+       var _number_cpt: Int = 0
 
        # Add an indent level.
        # New decl and instr will be indented.
-       meth indent do _indent_level += 1
+       fun indent do _indent_level += 1
 
        # Remove an indent level.
-       meth unindent
+       fun unindent
        do
                _indent_level -= 1
                if _indent_level < 0 then _indent_level = 0
        end
 
        # Return a big string containing all decl and instr
-       redef meth to_s
+       redef fun to_s
        do
                var out = new Array[String]
                out.append(_ctx.decls)
@@ -87,16 +87,16 @@ class CompilerVisitor
        end
 
        # The processed module
-       readable attr _module: MMSrcModule
+       readable var _module: MMSrcModule
 
        # Where instr and decl are stored
-       readable writable attr _ctx: CContext = new CContext
+       readable writable var _ctx: CContext = new CContext
 
        # The current indent lever
-       readable writable attr _indent_level: Int = 0
+       readable writable var _indent_level: Int = 0
 
        # The ToolContext info
-       readable attr _tc: ToolContext
+       readable var _tc: ToolContext
 
        # Create a new CompilerVisitor based on a module
        init(module: MMSrcModule, tc: ToolContext)
@@ -109,16 +109,16 @@ end
 # Where instr and decl are stored for a module
 # Note that this class is as badly designed as CompilerVisitor
 class CContext
-       readable attr _decls: Array[String] = new Array[String] 
-       readable attr _instrs: Array[String] = new Array[String]
+       readable var _decls: Array[String] = new Array[String] 
+       readable var _instrs: Array[String] = new Array[String]
 
-       meth append(c: CContext)
+       fun append(c: CContext)
        do
                _instrs.append(c.decls)
                _instrs.append(c.instrs)
        end
        
-       meth merge(c: CContext)
+       fun merge(c: CContext)
        do
                _decls.append(c.decls)
                _instrs.append(c.instrs)
@@ -129,13 +129,13 @@ end
 
 redef class MMGlobalProperty
        # C symbol refering a method inocation
-       meth meth_call: String
+       fun meth_call: String
        do
                return "CALL_{intro.cname}"
        end
 
        # C symbol refering an attribure access
-       meth attr_access: String
+       fun attr_access: String
        do
                return "ATTR_{intro.cname}"
        end
@@ -143,19 +143,19 @@ end
 
 redef class MMGlobalClass
        # C symbol refering the identifier of the class
-       meth id_id: String
+       fun id_id: String
        do
                return "ID_{intro.name}"
        end
 
        # C symbol refering the color of the class (for subtype tests)
-       meth color_id: String
+       fun color_id: String
        do
                return "COLOR_{intro.name}"
        end
 
        # C symbol refering the init table position of the class (for constructor linearization)
-       meth init_table_pos_id: String
+       fun init_table_pos_id: String
        do
                return "INIT_TABLE_POS_{intro.name}"
        end
@@ -163,15 +163,15 @@ end
 
 redef class MMLocalClass
        # Cached primitive_info result
-       attr _primitive_info_cache: nullable PrimitiveInfo = null
+       var _primitive_info_cache: nullable PrimitiveInfo = null
 
        # If primitive_info result cached?
-       attr _primitive_info_b: Bool = false
+       var _primitive_info_b: Bool = false
 
        # Return the primitive information of the class.
        # Return null if the class is not primitive
        # FIXME: Only here since there is no universal type yet
-       meth primitive_info: nullable PrimitiveInfo
+       fun primitive_info: nullable PrimitiveInfo
        do
                if _primitive_info_b == true then return _primitive_info_cache
 
@@ -199,7 +199,7 @@ redef class MMLocalClass
        end
 
        # Static information of primitive types
-       private meth primitive_ctypes: HashMap[Symbol, PrimitiveInfo]
+       private fun primitive_ctypes: HashMap[Symbol, PrimitiveInfo]
        do
                var res = new HashMap[Symbol, PrimitiveInfo]
                var pnames = ["Int",    "Char", "Bool", "Float", "NativeString", "NativeArray", "Pointer"]
@@ -217,13 +217,13 @@ end
 # Information about a primitive class
 class PrimitiveInfo
        # The name of the class
-       readable attr _name: Symbol
+       readable var _name: Symbol
 
        # Is the class tagged (aka not boxed)
-       readable attr _tagged: Bool
+       readable var _tagged: Bool
 
        # The corresponding c type for the primitive value
-       readable attr _cname: String
+       readable var _cname: String
 
        private init(n: Symbol, t: Bool, c: String)
        do
@@ -235,7 +235,7 @@ end
 
 redef class MMType
        # The corresponding c type
-       meth cname: String
+       fun cname: String
        do
                var pi = local_class.primitive_info
                if pi == null then
@@ -247,7 +247,7 @@ redef class MMType
 
        # The default c value for uninitialized types.
        # Return "null" for non primitive types and something more specific for primitive types
-       meth default_cvalue: String
+       fun default_cvalue: String
        do
                var pi = local_class.primitive_info
                if pi != null and pi.tagged then
@@ -259,7 +259,7 @@ redef class MMType
 
        # Box (or tag) a primitive value
        # Is identity if not primitive
-       meth boxtype(s: String): String
+       fun boxtype(s: String): String
        do
                var pi = local_class.primitive_info
                if pi == null then
@@ -273,7 +273,7 @@ redef class MMType
 
        # Unbox (or untag) a primitive value
        # Is identity if not primitive
-       meth unboxtype(s: String): String
+       fun unboxtype(s: String): String
        do
                var pi = local_class.primitive_info
                if pi == null then
@@ -288,10 +288,10 @@ end
 
 redef class MMLocalProperty
        # Cacher result of cname
-       attr _cname_cache: nullable String
+       var _cname_cache: nullable String
 
        # The mangled name of the method
-       meth cname: String
+       fun cname: String
        do
                var cname = _cname_cache
                if cname == null then
@@ -302,7 +302,7 @@ redef class MMLocalProperty
        end
 
        # C macro used to get the function for the call of a super property
-       meth super_meth_call: String
+       fun super_meth_call: String
        do
                return "CALL_SUPER_{cname}"
        end
index d2a4616..d2217f8 100644 (file)
@@ -23,22 +23,22 @@ private import syntax
 
 # Something that store color of table elements
 class ColorContext
-       attr _colors: HashMap[TableElt, Int] = new HashMap[TableElt, Int]
+       var _colors: HashMap[TableElt, Int] = new HashMap[TableElt, Int]
 
        # The color of a table element.
-       meth color(e: TableElt): Int
+       fun color(e: TableElt): Int
        do
                return _colors[e]
        end
 
        # Is a table element already colored?
-       meth has_color(e: TableElt): Bool
+       fun has_color(e: TableElt): Bool
        do
                return _colors.has_key(e)
        end
 
        # Assign a color to a table element.
-       meth color=(e: TableElt, c: Int)
+       fun color=(e: TableElt, c: Int)
        do
                _colors[e] = c
                var idx = c
@@ -53,13 +53,13 @@ end
 class GlobalAnalysis
 special ColorContext
        # Associate global classes to compiled classes
-       readable attr _compiled_classes: HashMap[MMGlobalClass, CompiledClass] = new HashMap[MMGlobalClass, CompiledClass]
+       readable var _compiled_classes: HashMap[MMGlobalClass, CompiledClass] = new HashMap[MMGlobalClass, CompiledClass]
 
        # The main module of the program globally analysed
-       readable attr _module: MMModule
+       readable var _module: MMModule
 
        # FIXME: do something better.
-       readable writable attr _max_class_table_length: Int = 0
+       readable writable var _max_class_table_length: Int = 0
 
        init(module: MMSrcModule)
        do
@@ -70,7 +70,7 @@ end
 class GlobalCompilerVisitor
 special CompilerVisitor
        # The global analysis result
-       readable attr _global_analysis: GlobalAnalysis
+       readable var _global_analysis: GlobalAnalysis
        init(m: MMSrcModule, tc: ToolContext, ga: GlobalAnalysis)
        do
                super(m, tc)
@@ -82,39 +82,39 @@ end
 class CompiledClass
 special ColorContext
        # The corresponding local class in the main module of the prgram
-       readable attr _local_class: MMLocalClass
+       readable var _local_class: MMLocalClass
 
        # The identifier of the class
-       readable writable attr _id: Int = 0
+       readable writable var _id: Int = 0
 
        # The full class table of the class
-       readable attr _class_table: Array[nullable TableElt] = new Array[nullable TableElt]
+       readable var _class_table: Array[nullable TableElt] = new Array[nullable TableElt]
 
        # The full instance table of the class
-       readable attr _instance_table: Array[nullable TableElt] = new Array[nullable TableElt]
+       readable var _instance_table: Array[nullable TableElt] = new Array[nullable TableElt]
 
        # The proper class table part (no superclasses but all refinements)
-       readable writable attr _class_layout: TableEltComposite = new TableEltComposite(self)
+       readable writable var _class_layout: TableEltComposite = new TableEltComposite(self)
 
        # The proper instance table part (no superclasses but all refinements)
-       readable writable attr _instance_layout: TableEltComposite = new TableEltComposite(self)
+       readable writable var _instance_layout: TableEltComposite = new TableEltComposite(self)
 
        init(c: MMLocalClass) do _local_class = c
 end
 
 redef class MMSrcLocalClass
        # The table element of the subtype check
-       meth class_color_pos: TableEltClassColor do return _class_color_pos.as(not null)
-       attr _class_color_pos: nullable TableEltClassColor
+       fun class_color_pos: TableEltClassColor do return _class_color_pos.as(not null)
+       var _class_color_pos: nullable TableEltClassColor
 
        # The proper local class table part (nor superclasses nor refinments)
-       readable attr _class_layout: Array[TableElt] = new Array[TableElt]
+       readable var _class_layout: Array[TableElt] = new Array[TableElt]
 
        # The proper local instance table part (nor superclasses nor refinments)
-       readable attr _instance_layout: Array[TableElt] = new Array[TableElt]
+       readable var _instance_layout: Array[TableElt] = new Array[TableElt]
 
        # Build the local layout of the class and feed the module table
-       meth build_layout_in(tc: ToolContext, module_table: Array[ModuleTableElt])
+       fun build_layout_in(tc: ToolContext, module_table: Array[ModuleTableElt])
        do
                var clt = _class_layout
                var ilt = _instance_layout
@@ -156,10 +156,10 @@ end
 
 redef class MMSrcModule
        # The local table of the module (refers things introduced in the module)
-       attr _local_table: Array[ModuleTableElt] = new Array[ModuleTableElt]
+       var _local_table: Array[ModuleTableElt] = new Array[ModuleTableElt]
 
        # Builds the local tables and local classes layouts
-       meth local_analysis(tc: ToolContext)
+       fun local_analysis(tc: ToolContext)
        do
                for c in src_local_classes do
                        c.build_layout_in(tc, _local_table)
@@ -167,7 +167,7 @@ redef class MMSrcModule
        end
 
        # Do the complete global analysis
-       meth global_analysis(cctx: ToolContext): GlobalAnalysis
+       fun global_analysis(cctx: ToolContext): GlobalAnalysis
        do
                #print "Do the complete global analysis"
                var ga = new GlobalAnalysis(self)
@@ -319,7 +319,7 @@ redef class MMSrcModule
                return ga
        end
 
-       private meth append_to_table(cc: ColorContext, table: Array[nullable TableElt], cmp: TableEltComposite)
+       private fun append_to_table(cc: ColorContext, table: Array[nullable TableElt], cmp: TableEltComposite)
        do
                for j in [0..cmp.length[ do
                        var e = cmp.item(j)
@@ -328,7 +328,7 @@ redef class MMSrcModule
                end
        end
 
-       private meth build_tables_in(table: Array[nullable TableElt], ga: GlobalAnalysis, c: MMLocalClass, elts: Array[TableElt])
+       private fun build_tables_in(table: Array[nullable TableElt], ga: GlobalAnalysis, c: MMLocalClass, elts: Array[TableElt])
        do
                var tab = new HashMap[Int, TableElt]
                var len = 0
@@ -358,7 +358,7 @@ redef class MMSrcModule
        end
 
        # Perform coloring
-       meth colorize(ga: GlobalAnalysis, elts: Array[TableElt], classes: Collection[MMLocalClass], startcolor: Int)
+       fun colorize(ga: GlobalAnalysis, elts: Array[TableElt], classes: Collection[MMLocalClass], startcolor: Int)
        do
                var colors = new HashMap[Int, Array[TableElt]]
                var rel_classes = new Array[MMLocalClass]
@@ -401,7 +401,7 @@ redef class MMSrcModule
                end
        end
 
-       private meth free_color(es: Array[TableElt], c: MMLocalClass): Bool
+       private fun free_color(es: Array[TableElt], c: MMLocalClass): Bool
        do
                for e2 in es do
                        if e2.is_related_to(c) then
@@ -412,7 +412,7 @@ redef class MMSrcModule
        end
 
        # Compile module and class tables
-       meth compile_tables_to_c(v: GlobalCompilerVisitor)
+       fun compile_tables_to_c(v: GlobalCompilerVisitor)
        do
                for m in mhe.greaters_and_self do
                        assert m isa MMSrcModule
@@ -435,7 +435,7 @@ redef class MMSrcModule
        end
 
        # Declare class table (for _sep.h)
-       meth declare_class_tables_to_c(v: GlobalCompilerVisitor)
+       fun declare_class_tables_to_c(v: GlobalCompilerVisitor)
        do
                for c in local_classes do
                        if c.global.module == self then
@@ -445,7 +445,7 @@ redef class MMSrcModule
        end
 
        # Compile main part (for _table.c)
-       meth compile_main_part(v: GlobalCompilerVisitor)
+       fun compile_main_part(v: GlobalCompilerVisitor)
        do
                v.add_instr("int main(int argc, char **argv) \{")
                v.indent
@@ -471,7 +471,7 @@ redef class MMSrcModule
        end
 
        # Compile sep files
-       meth compile_mod_to_c(v: GlobalCompilerVisitor)
+       fun compile_mod_to_c(v: GlobalCompilerVisitor)
        do
                v.add_decl("extern const char *LOCATE_{name};")
                if not v.tc.global then
@@ -507,7 +507,7 @@ redef class MMSrcModule
        end
 
        # Compile module file for the current module
-       meth compile_local_table_to_c(v: GlobalCompilerVisitor)
+       fun compile_local_table_to_c(v: GlobalCompilerVisitor)
        do
                v.add_instr("const char *LOCATE_{name} = \"{filename}\";")
 
@@ -530,7 +530,7 @@ end
 # An element of a class, an instance or a module table
 abstract class AbsTableElt
        # Compile the macro needed to use the element and other related elements
-       meth compile_macros(v: GlobalCompilerVisitor, value: String) is abstract
+       fun compile_macros(v: GlobalCompilerVisitor, value: String) is abstract
 end
 
 # An element of a class or an instance table
@@ -538,16 +538,16 @@ end
 abstract class TableElt
 special AbsTableElt
        # Is the element conflict to class `c' (used for coloring)
-       meth is_related_to(c: MMLocalClass): Bool is abstract
+       fun is_related_to(c: MMLocalClass): Bool is abstract
 
        # Number of sub-elements. 1 if none
-       meth length: Int do return 1
+       fun length: Int do return 1
 
        # Access the ith subelement.
-       meth item(i: Int): TableElt do return self
+       fun item(i: Int): TableElt do return self
 
        # Return the value of the element for a given class
-       meth compile_to_c(v: GlobalCompilerVisitor, c: MMLocalClass): String is abstract
+       fun compile_to_c(v: GlobalCompilerVisitor, c: MMLocalClass): String is abstract
 end
 
 # An element of a module table
@@ -555,16 +555,16 @@ end
 abstract class ModuleTableElt
 special AbsTableElt
        # Return the value of the element once the global analisys is performed
-       meth value(ga: GlobalAnalysis): String is abstract
+       fun value(ga: GlobalAnalysis): String is abstract
 end
 
 # An element of a module table that represents a group of TableElt defined in the same local class
 class ModuleTableEltGroup
 special ModuleTableElt
-       readable attr _elements: Array[TableElt] = new Array[TableElt]
+       readable var _elements: Array[TableElt] = new Array[TableElt]
 
-       redef meth value(ga) do return "{ga.color(_elements.first)} /* Group of ? */"
-       redef meth compile_macros(v, value)
+       redef fun value(ga) do return "{ga.color(_elements.first)} /* Group of ? */"
+       redef fun compile_macros(v, value)
        do
                var i = 0
                for e in _elements do
@@ -577,7 +577,7 @@ end
 # An element that represents a class property
 abstract class TableEltProp
 special TableElt
-       attr _property: MMLocalProperty
+       var _property: MMLocalProperty
 
        init(p: MMLocalProperty)
        do
@@ -588,13 +588,13 @@ end
 # An element that represents a function pointer to a global method
 class TableEltMeth
 special TableEltProp
-       redef meth compile_macros(v, value)
+       redef fun compile_macros(v, value)
        do
                var pg = _property.global
                v.add_decl("#define {pg.meth_call}(recv) (({pg.intro.cname}_t)CALL((recv), ({value})))")
        end
 
-       redef meth compile_to_c(v, c)
+       redef fun compile_to_c(v, c)
        do
                var p = c[_property.global]
                return p.cname
@@ -604,13 +604,13 @@ end
 # An element that represents a function pointer to the super method of a local method
 class TableEltSuper
 special TableEltProp
-       redef meth compile_macros(v, value)
+       redef fun compile_macros(v, value)
        do
                var p = _property
                v.add_decl("#define {p.super_meth_call}(recv) (({p.cname}_t)CALL((recv), ({value})))")
        end
 
-       redef meth compile_to_c(v, c)
+       redef fun compile_to_c(v, c)
        do
                var pc = _property.local_class
                var g = _property.global
@@ -634,13 +634,13 @@ end
 # An element that represents the value stored for a global attribute
 class TableEltAttr
 special TableEltProp
-       redef meth compile_macros(v, value)
+       redef fun compile_macros(v, value)
        do
                var pg = _property.global
                v.add_decl("#define {pg.attr_access}(recv) ATTR(recv, ({value}))")
        end
 
-       redef meth compile_to_c(v, c)
+       redef fun compile_to_c(v, c)
        do
                var ga = v.global_analysis
                var p = c[_property.global]
@@ -652,7 +652,7 @@ end
 class AbsTableEltClass
 special AbsTableElt
        # The local class where the information comes from
-       attr _local_class: MMLocalClass
+       var _local_class: MMLocalClass
 
        init(c: MMLocalClass)
        do
@@ -660,9 +660,9 @@ special AbsTableElt
        end
 
        # The C macro name refering the value
-       meth symbol: String is abstract
+       fun symbol: String is abstract
 
-       redef meth compile_macros(v, value)
+       redef fun compile_macros(v, value)
        do
                v.add_decl("#define {symbol} ({value})")
        end
@@ -672,7 +672,7 @@ end
 class TableEltClass
 special TableElt
 special AbsTableEltClass
-       redef meth is_related_to(c)
+       redef fun is_related_to(c)
        do
                var bc = c.module[_local_class.global]
                return c.cshe <= bc
@@ -683,9 +683,9 @@ end
 class TableEltClassId
 special ModuleTableElt
 special AbsTableEltClass
-       redef meth symbol do return _local_class.global.id_id
+       redef fun symbol do return _local_class.global.id_id
 
-       redef meth value(ga)
+       redef fun value(ga)
        do
                return "{ga.compiled_classes[_local_class.global].id} /* Id of {_local_class} */"
        end
@@ -694,9 +694,9 @@ end
 # An element representing the constructor marker position in a class table
 class TableEltClassInitTable
 special TableEltClass
-       redef meth symbol do return _local_class.global.init_table_pos_id
+       redef fun symbol do return _local_class.global.init_table_pos_id
 
-       redef meth compile_to_c(v, c)
+       redef fun compile_to_c(v, c)
        do
                var ga = v.global_analysis
                var cc = ga.compiled_classes[_local_class.global]
@@ -716,14 +716,14 @@ end
 class TableEltClassColor
 special TableEltClass
 special ModuleTableElt
-       redef meth symbol do return _local_class.global.color_id
+       redef fun symbol do return _local_class.global.color_id
 
-       redef meth value(ga)
+       redef fun value(ga)
        do
                return "{ga.color(self)} /* Color of {_local_class} */"
        end
 
-       redef meth compile_to_c(v, c)
+       redef fun compile_to_c(v, c)
        do
                var ga = v.global_analysis
                var cc = ga.compiled_classes[_local_class.global]
@@ -734,21 +734,21 @@ end
 # A Group of elements introduced in the same global-class that are colored together
 class TableEltComposite
 special TableElt
-       attr _table: Array[TableElt]
-       attr _cc: CompiledClass
-       attr _offsets: HashMap[MMLocalClass, Int]
-       redef meth length do return _table.length
-       redef meth is_related_to(c) do return c.cshe <= _cc.local_class
+       var _table: Array[TableElt]
+       var _cc: CompiledClass
+       var _offsets: HashMap[MMLocalClass, Int]
+       redef fun length do return _table.length
+       redef fun is_related_to(c) do return c.cshe <= _cc.local_class
 
-       meth add(c: MMLocalClass, tab: Array[TableElt])
+       fun add(c: MMLocalClass, tab: Array[TableElt])
        do
                _offsets[c] = _table.length
                _table.append(tab)
        end
 
-       redef meth item(i) do return _table[i]
+       redef fun item(i) do return _table[i]
 
-       redef meth compile_to_c(v, c) do abort
+       redef fun compile_to_c(v, c) do abort
 
        init(cc: CompiledClass)
        do
@@ -761,8 +761,8 @@ end
 # The element that represent the class id
 class TableEltClassSelfId
 special TableElt
-       redef meth is_related_to(c) do return true
-       redef meth compile_to_c(v, c)
+       redef fun is_related_to(c) do return true
+       redef fun compile_to_c(v, c)
        do
                var ga = v.global_analysis
                return "{v.global_analysis.compiled_classes[c.global].id} /* {ga.color(self)}: Identity */"
@@ -772,8 +772,8 @@ end
 # The element that
 class TableEltVftPointer
 special TableElt
-       redef meth is_related_to(c) do return true
-       redef meth compile_to_c(v, c)
+       redef fun is_related_to(c) do return true
+       redef fun compile_to_c(v, c)
        do
                var ga = v.global_analysis
                return "/* {ga.color(self)}: Pointer to the classtable */"
@@ -786,13 +786,13 @@ end
 # The total order superset the class refinement and the class specialisation relations
 class ClassSorter
 special AbstractSorter[MMLocalClass]
-       redef meth compare(a, b) do return a.compare(b)
+       redef fun compare(a, b) do return a.compare(b)
        init do end
 end
 
 redef class MMLocalClass
        # Comparaison in a total order that superset the class refinement and the class specialisation relations
-       meth compare(b: MMLocalClass): Int
+       fun compare(b: MMLocalClass): Int
        do
                var a = self
                if a == b then
@@ -814,7 +814,7 @@ redef class MMLocalClass
        end
 
        # Declaration and macros related to the class table
-       meth declare_tables_to_c(v: GlobalCompilerVisitor)
+       fun declare_tables_to_c(v: GlobalCompilerVisitor)
        do
                v.add_decl("")
                var pi = primitive_info
@@ -831,7 +831,7 @@ redef class MMLocalClass
        end
 
        # Compilation of table and new (or box)
-       meth compile_tables_to_c(v: GlobalCompilerVisitor)
+       fun compile_tables_to_c(v: GlobalCompilerVisitor)
        do
                var cc = v.global_analysis.compiled_classes[self.global]
                var ctab = cc.class_table
index badeaa4..ef6f9e1 100644 (file)
@@ -22,7 +22,7 @@ private import syntax
 
 redef class CompilerVisitor
        # Compile a statment node
-       meth compile_stmt(n: nullable PExpr)
+       fun compile_stmt(n: nullable PExpr)
        do
                if n == null then return
                #add_instr("/* Compile stmt {n.locate} */")
@@ -33,7 +33,7 @@ redef class CompilerVisitor
        end
 
        # Compile is expression node
-       meth compile_expr(n: PExpr): String
+       fun compile_expr(n: PExpr): String
        do
                #add_instr("/* Compile expr {n.locate} */")
                var i = cfc._variable_index
@@ -48,7 +48,7 @@ redef class CompilerVisitor
        end
 
        # Ensure that a c expression is a var
-       meth ensure_var(s: String, comment: String): String
+       fun ensure_var(s: String, comment: String): String
        do
                if cfc.is_valid_variable(s) then
                        add_instr("/* Ensure var {s}: {comment}*/")
@@ -60,22 +60,22 @@ redef class CompilerVisitor
        end
 
        # Add a assignment between a variable and an expression
-       meth add_assignment(v: String, s: String)
+       fun add_assignment(v: String, s: String)
        do
                if v != s then
                        add_instr("{v} = {s};")
                end
        end
 
-       readable writable attr _cfc: nullable CFunctionContext
+       readable writable var _cfc: nullable CFunctionContext
 
-       readable writable attr _nmc: nullable NitMethodContext
+       readable writable var _nmc: nullable NitMethodContext
 
        # C outputs written outside the current C function.
-       readable writable attr _out_contexts: Array[CContext] = new Array[CContext]
+       readable writable var _out_contexts: Array[CContext] = new Array[CContext]
 
        # Generate an fprintf to display an error location
-       meth printf_locate_error(node: PNode): String
+       fun printf_locate_error(node: PNode): String
        do
                var s = new Buffer.from("fprintf(stderr, \"")
                if nmc != null then s.append(" in %s")
@@ -85,7 +85,7 @@ redef class CompilerVisitor
                return s.to_s
        end
 
-       meth invoke_super_init_calls_after(start_prop: nullable MMMethod)
+       fun invoke_super_init_calls_after(start_prop: nullable MMMethod)
        do
                var n = nmc.method.node
                assert n isa AConcreteInitPropdef
@@ -140,22 +140,22 @@ end
 
 # A C function currently written
 class CFunctionContext
-       readable attr _visitor: CompilerVisitor
+       readable var _visitor: CompilerVisitor
 
        # Next available variable number
-       attr _variable_index: Int = 0
+       var _variable_index: Int = 0
 
        # Total number of variable
-       attr _variable_index_max: Int = 0
+       var _variable_index_max: Int = 0
 
        # Association between nit variable and the corrsponding c variable index
-       attr _varindexes: Map[Variable, Int] = new HashMap[Variable, Int]
+       var _varindexes: Map[Variable, Int] = new HashMap[Variable, Int]
 
        # Are we currenlty in a closure definition?
-       readable writable attr _closure: nullable NitMethodContext = null
+       readable writable var _closure: nullable NitMethodContext = null
 
        # Return the cvariable of a Nit variable
-       meth varname(v: Variable): String
+       fun varname(v: Variable): String
        do
                if v isa ClosureVariable then
                        return closure_variable(_varindexes[v])
@@ -165,7 +165,7 @@ class CFunctionContext
        end
 
        # Return the next available variable
-       meth get_var(comment: nullable String): String
+       fun get_var(comment: nullable String): String
        do
                var v = variable(_variable_index)
                _variable_index = _variable_index + 1
@@ -178,7 +178,7 @@ class CFunctionContext
                return v
        end
 
-       meth register_variable(v: Variable): String
+       fun register_variable(v: Variable): String
        do
                _varindexes[v] = _variable_index
                var s = get_var("Local variable")
@@ -186,9 +186,9 @@ class CFunctionContext
        end
 
        # Next available closure variable number
-       attr _closurevariable_index: Int = 0
+       var _closurevariable_index: Int = 0
 
-       meth register_closurevariable(v: ClosureVariable): String
+       fun register_closurevariable(v: ClosureVariable): String
        do
                var s = "closurevariable[{_closurevariable_index}]"
                _varindexes[v] = _closurevariable_index
@@ -201,7 +201,7 @@ class CFunctionContext
        end
 
        # Return the ith cvariable
-       protected meth variable(i: Int): String
+       protected fun variable(i: Int): String
        do
                if closure != null then
                        var vn = once new Array[String]
@@ -223,7 +223,7 @@ class CFunctionContext
        end
 
        # Return the ith closurevariable
-       protected meth closure_variable(i: Int): String
+       protected fun closure_variable(i: Int): String
        do
                if closure != null then
                        return "(closctx->closurevariable[{i}])"
@@ -233,7 +233,7 @@ class CFunctionContext
        end
 
        # Is s a valid variable
-       protected meth is_valid_variable(s: String): Bool
+       protected fun is_valid_variable(s: String): Bool
        do
                for i in [0.._variable_index[ do
                        if s == variable(i) then return true
@@ -242,7 +242,7 @@ class CFunctionContext
        end
 
        # Mark the variable available
-       meth free_var(v: String)
+       fun free_var(v: String)
        do
                # FIXME: So ugly..
                if v == variable(_variable_index-1) then
@@ -252,7 +252,7 @@ class CFunctionContext
 
        # Generate the local variable declarations
        # To use at the end of the C function once all variables are known
-       meth generate_var_decls
+       fun generate_var_decls
        do
                if _variable_index_max > 0 then
                        visitor.add_decl("val_t variable[{_variable_index_max}];")
@@ -272,28 +272,28 @@ end
 # A Nit method currenlty compiled
 class NitMethodContext
        # Current method compiled
-       readable attr _method: nullable MMSrcMethod
+       readable var _method: nullable MMSrcMethod
 
        # Association between parameters and the corresponding variables
-       readable writable attr _method_params: nullable Array[ParamVariable]
+       readable writable var _method_params: nullable Array[ParamVariable]
 
        # Where a nit return must branch
-       readable writable attr _return_label: nullable String
+       readable writable var _return_label: nullable String
 
        # Where a nit break must branch
-       readable writable attr _break_label: nullable String
+       readable writable var _break_label: nullable String
 
        # Where a nit continue must branch
-       readable writable attr _continue_label: nullable String
+       readable writable var _continue_label: nullable String
 
        # Variable where a functionnal nit return must store its value
-       readable writable attr _return_value: nullable String
+       readable writable var _return_value: nullable String
 
        # Variable where a functionnal nit break must store its value
-       readable writable attr _break_value: nullable String
+       readable writable var _break_value: nullable String
 
        # Variable where a functionnal nit continue must store its value
-       readable writable attr _continue_value: nullable String
+       readable writable var _continue_value: nullable String
 
        init(method: nullable MMSrcMethod)
        do
@@ -304,13 +304,13 @@ end
 ###############################################################################
 
 redef class ClosureVariable
-       readable writable attr _ctypename: nullable String
+       readable writable var _ctypename: nullable String
 end
 
 redef class MMMethod
        # Compile as an expression.
        # require that signature.return_type != null
-       meth compile_expr_call(v: CompilerVisitor, cargs: Array[String]): String
+       fun compile_expr_call(v: CompilerVisitor, cargs: Array[String]): String
        do
                assert signature.return_type != null
                var s = intern_compile_call(v, cargs)
@@ -320,7 +320,7 @@ redef class MMMethod
 
        # Compile as a statement.
        # require that signature.return_type == null
-       meth compile_stmt_call(v: CompilerVisitor, cargs: Array[String])
+       fun compile_stmt_call(v: CompilerVisitor, cargs: Array[String])
        do
                assert signature.return_type == null
                var s = intern_compile_call(v, cargs)
@@ -331,7 +331,7 @@ redef class MMMethod
        # Most calls are compiled with a table access,
        # primitive calles are inlined
        # == and != are guarded and possibly inlined
-       private meth intern_compile_call(v: CompilerVisitor, cargs: Array[String]): nullable String
+       private fun intern_compile_call(v: CompilerVisitor, cargs: Array[String]): nullable String
        do
                var i = self
                if i isa MMSrcMethod then
@@ -373,7 +373,7 @@ redef class MMMethod
        end
 
        # Compile a call on self for given arguments and given closures
-       meth compile_call_and_closures(v: CompilerVisitor, cargs: Array[String], clos_defs: nullable Array[PClosureDef]): nullable String
+       fun compile_call_and_closures(v: CompilerVisitor, cargs: Array[String], clos_defs: nullable Array[PClosureDef]): nullable String
        do
                var ve: String
                var arity = 0
@@ -433,13 +433,13 @@ redef class MMMethod
        end
 
        # Compile a call as constructor with given args
-       meth compile_constructor_call(v: CompilerVisitor, recvtype: MMType, cargs: Array[String]): String
+       fun compile_constructor_call(v: CompilerVisitor, recvtype: MMType, cargs: Array[String]): String
        do
                return "NEW_{recvtype.local_class}_{global.intro.cname}({cargs.join(", ")}) /*new {recvtype}*/"
        end
 
        # Compile a call as call-next-method on self with given args
-       meth compile_super_call(v: CompilerVisitor, cargs: Array[String]): String
+       fun compile_super_call(v: CompilerVisitor, cargs: Array[String]): String
        do
                var m = "{super_meth_call}({cargs[0]})"
                var vcall = "{m}({cargs.join(", ")}) /*super {local_class}::{name}*/"
@@ -447,7 +447,7 @@ redef class MMMethod
        end
 
        # Cname of the i-th closure C struct type
-       protected meth closure_cname(i: Int): String
+       protected fun closure_cname(i: Int): String
        do
                return "FWBT_{cname}_{i}"
        end
@@ -455,13 +455,13 @@ end
 
 redef class MMAttribute
        # Compile a read acces on selffor a given reciever.
-       meth compile_isset(v: CompilerVisitor, n: PNode, recv: String): String
+       fun compile_isset(v: CompilerVisitor, n: PNode, recv: String): String
        do
                return "TAG_Bool({global.attr_access}({recv})!=NIT_NULL) /* isset {local_class}::{name}*/"
        end
 
        # Compile a read acces on selffor a given reciever.
-       meth compile_read_access(v: CompilerVisitor, n: PNode, recv: String): String
+       fun compile_read_access(v: CompilerVisitor, n: PNode, recv: String): String
        do
                var res = "{global.attr_access}({recv}) /*{local_class}::{name}*/"
                if not signature.return_type.is_nullable then
@@ -472,7 +472,7 @@ redef class MMAttribute
        end
 
        # Compile a write acces on selffor a given reciever.
-       meth compile_write_access(v: CompilerVisitor, n: nullable PNode, recv: String, value: String)
+       fun compile_write_access(v: CompilerVisitor, n: nullable PNode, recv: String, value: String)
        do
                v.add_instr("{global.attr_access}({recv}) /*{local_class}::{name}*/ = {value};")
        end
@@ -480,13 +480,13 @@ end
 
 redef class MMLocalProperty
        # Compile the property as a C property
-       meth compile_property_to_c(v: CompilerVisitor) do end
+       fun compile_property_to_c(v: CompilerVisitor) do end
 end
 
 redef class MMSrcMethod
 
        # Compile and declare the signature to C
-       protected meth decl_csignature(v: CompilerVisitor, args: Array[String]): String
+       protected fun decl_csignature(v: CompilerVisitor, args: Array[String]): String
        do
                var params = new Array[String]
                params.add("val_t {args[0]}")
@@ -529,7 +529,7 @@ redef class MMSrcMethod
                return s
        end
 
-       redef meth compile_property_to_c(v)
+       redef fun compile_property_to_c(v)
        do
                v.cfc = new CFunctionContext(v)
 
@@ -576,18 +576,18 @@ redef class MMSrcMethod
        end
 
        # Compile the method body inline
-       meth do_compile_inside(v: CompilerVisitor, params: Array[String]): nullable String is abstract
+       fun do_compile_inside(v: CompilerVisitor, params: Array[String]): nullable String is abstract
 end
 
 redef class MMReadImplementationMethod
-       redef meth do_compile_inside(v, params)
+       redef fun do_compile_inside(v, params)
        do
                return node.prop.compile_read_access(v, node, params[0])
        end
 end
 
 redef class MMWriteImplementationMethod
-       redef meth do_compile_inside(v, params)
+       redef fun do_compile_inside(v, params)
        do
                node.prop.compile_write_access(v, node, params[0], params[1])
                return null
@@ -595,14 +595,14 @@ redef class MMWriteImplementationMethod
 end
 
 redef class MMMethSrcMethod
-       redef meth do_compile_inside(v, params)
+       redef fun do_compile_inside(v, params)
        do
                return node.do_compile_inside(v, self, params)
        end
 end
 
 redef class MMImplicitInit
-       redef meth do_compile_inside(v, params)
+       redef fun do_compile_inside(v, params)
        do
                var f = params.length - unassigned_attributes.length
                var recv = params.first
@@ -631,7 +631,7 @@ end
 redef class MMType
        # Compile a subtype check to self
        # Return a NIT Bool
-       meth compile_cast(v: CompilerVisitor, recv: String, fromtype: MMType): String
+       fun compile_cast(v: CompilerVisitor, recv: String, fromtype: MMType): String
        do
                # Fixme: handle formaltypes
                var g = local_class.global
@@ -650,7 +650,7 @@ redef class MMType
        end
 
        # Compile a cast assertion
-       meth compile_type_check(v: CompilerVisitor, recv: String, n: PNode, fromtype: MMType)
+       fun compile_type_check(v: CompilerVisitor, recv: String, n: PNode, fromtype: MMType)
        do
                # Fixme: handle formaltypes
                var g = local_class.global
@@ -669,7 +669,7 @@ redef class MMType
        end
 
        # Compile a notnull cast assertion
-       meth compile_notnull_check(v: CompilerVisitor, recv: String, n: PNode)
+       fun compile_notnull_check(v: CompilerVisitor, recv: String, n: PNode)
        do
                if is_nullable then
                        v.add_instr("if (({recv}==NIT_NULL)) \{ fprintf(stderr, \"Cast failled\"); {v.printf_locate_error(n)} nit_exit(1); } /*cast {self}*/;")
@@ -681,15 +681,15 @@ end
 
 redef class AMethPropdef
        # Compile the method body
-       meth do_compile_inside(v: CompilerVisitor, method: MMSrcMethod, params: Array[String]): nullable String is abstract
+       fun do_compile_inside(v: CompilerVisitor, method: MMSrcMethod, params: Array[String]): nullable String is abstract
 end
 
 redef class PSignature
-       meth compile_parameters(v: CompilerVisitor, orig_sig: MMSignature, params: Array[String]) is abstract
+       fun compile_parameters(v: CompilerVisitor, orig_sig: MMSignature, params: Array[String]) is abstract
 end
 
 redef class ASignature
-       redef meth compile_parameters(v: CompilerVisitor, orig_sig: MMSignature, params: Array[String])
+       redef fun compile_parameters(v: CompilerVisitor, orig_sig: MMSignature, params: Array[String])
        do
                for ap in n_params do
                        var cname = v.cfc.register_variable(ap.variable)
@@ -713,7 +713,7 @@ redef class ASignature
 end
 
 redef class AConcreteMethPropdef
-       redef meth do_compile_inside(v, method, params)
+       redef fun do_compile_inside(v, method, params)
        do
                var old_nmc = v.nmc
                v.nmc = new NitMethodContext(method)
@@ -758,7 +758,7 @@ redef class AConcreteMethPropdef
 end
 
 redef class ADeferredMethPropdef
-       redef meth do_compile_inside(v, method, params)
+       redef fun do_compile_inside(v, method, params)
        do
                v.add_instr("fprintf(stderr, \"Deferred method called\");")
                v.add_instr(v.printf_locate_error(self))
@@ -772,7 +772,7 @@ redef class ADeferredMethPropdef
 end
 
 redef class AExternMethPropdef
-       redef meth do_compile_inside(v, method, params)
+       redef fun do_compile_inside(v, method, params)
        do
                var ename = "{method.module.name}_{method.local_class.name}_{method.local_class.name}_{method.name}_{method.signature.arity}"
                if n_extern != null then
@@ -799,7 +799,7 @@ redef class AExternMethPropdef
 end
 
 redef class AInternMethPropdef
-       redef meth do_compile_inside(v, method, p)
+       redef fun do_compile_inside(v, method, p)
        do
                var c = method.local_class.name
                var n = method.name
@@ -976,20 +976,20 @@ end
 redef class PExpr
        # Compile the node as an expression
        # Only the visitor should call it
-       meth compile_expr(v: CompilerVisitor): String is abstract
+       fun compile_expr(v: CompilerVisitor): String is abstract
 
        # Prepare a call of node as a statement
        # Only the visitor should call it
        # It's used for local variable managment
-       meth prepare_compile_stmt(v: CompilerVisitor) do end
+       fun prepare_compile_stmt(v: CompilerVisitor) do end
 
        # Compile the node as a statement
        # Only the visitor should call it
-       meth compile_stmt(v: CompilerVisitor) do printl("Error!")
+       fun compile_stmt(v: CompilerVisitor) do printl("Error!")
 end
 
 redef class ABlockExpr
-       redef meth compile_stmt(v)
+       redef fun compile_stmt(v)
        do
                for n in n_expr do
                        v.compile_stmt(n)
@@ -998,12 +998,12 @@ redef class ABlockExpr
 end
 
 redef class AVardeclExpr
-       redef meth prepare_compile_stmt(v)
+       redef fun prepare_compile_stmt(v)
        do
                v.cfc.register_variable(variable)
        end
 
-       redef meth compile_stmt(v)
+       redef fun compile_stmt(v)
        do
                var cname = v.cfc.varname(variable)
                if n_expr == null then
@@ -1016,7 +1016,7 @@ redef class AVardeclExpr
 end
 
 redef class AReturnExpr
-       redef meth compile_stmt(v)
+       redef fun compile_stmt(v)
        do
                if n_expr != null then
                        var e = v.compile_expr(n_expr.as(not null))
@@ -1028,7 +1028,7 @@ redef class AReturnExpr
 end
 
 redef class ABreakExpr
-       redef meth compile_stmt(v)
+       redef fun compile_stmt(v)
        do
                if n_expr != null then
                        var e = v.compile_expr(n_expr.as(not null))
@@ -1040,7 +1040,7 @@ redef class ABreakExpr
 end
 
 redef class AContinueExpr
-       redef meth compile_stmt(v)
+       redef fun compile_stmt(v)
        do
                if n_expr != null then
                        var e = v.compile_expr(n_expr.as(not null))
@@ -1051,21 +1051,21 @@ redef class AContinueExpr
 end
 
 redef class AAbortExpr
-       redef meth compile_stmt(v)
+       redef fun compile_stmt(v)
        do
                v.add_instr("fprintf(stderr, \"Aborted\"); {v.printf_locate_error(self)} nit_exit(1);")
        end
 end
 
 redef class ADoExpr
-       redef meth compile_stmt(v)
+       redef fun compile_stmt(v)
        do
                v.compile_stmt(n_block)
        end
 end
 
 redef class AIfExpr
-       redef meth compile_stmt(v)
+       redef fun compile_stmt(v)
        do
                var e = v.compile_expr(n_expr)
                v.add_instr("if (UNTAG_Bool({e})) \{ /*if*/")
@@ -1086,7 +1086,7 @@ redef class AIfExpr
 end
 
 redef class AIfexprExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                var e = v.compile_expr(n_expr)
                v.add_instr("if (UNTAG_Bool({e})) \{ /*if*/")
@@ -1107,8 +1107,8 @@ end
 
 class AControlableBlock
 special PExpr
-       meth compile_inside_block(v: CompilerVisitor) is abstract
-       redef meth compile_stmt(v)
+       fun compile_inside_block(v: CompilerVisitor) is abstract
+       redef fun compile_stmt(v)
        do
                var old_break_label = v.nmc.break_label
                var old_continue_label = v.nmc.continue_label
@@ -1126,7 +1126,7 @@ end
 
 redef class AWhileExpr
 special AControlableBlock
-       redef meth compile_inside_block(v)
+       redef fun compile_inside_block(v)
        do
                v.add_instr("while (true) \{ /*while*/")
                v.indent
@@ -1143,7 +1143,7 @@ end
 
 redef class AForExpr
 special AControlableBlock
-       redef meth compile_inside_block(v)
+       redef fun compile_inside_block(v)
        do
                var e = v.compile_expr(n_expr)
                var ittype = meth_iterator.signature.return_type
@@ -1170,7 +1170,7 @@ special AControlableBlock
 end
 
 redef class AAssertExpr
-       redef meth compile_stmt(v)
+       redef fun compile_stmt(v)
        do
                var e = v.compile_expr(n_expr)
                var s = ""
@@ -1182,14 +1182,14 @@ redef class AAssertExpr
 end
 
 redef class AVarExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                return " {v.cfc.varname(variable)} /*{variable.name}*/"
        end
 end
 
 redef class AVarAssignExpr
-       redef meth compile_stmt(v)
+       redef fun compile_stmt(v)
        do
                var e = v.compile_expr(n_value)
                v.add_assignment(v.cfc.varname(variable), "{e} /*{variable.name}=*/")
@@ -1197,7 +1197,7 @@ redef class AVarAssignExpr
 end
 
 redef class AVarReassignExpr
-       redef meth compile_stmt(v)
+       redef fun compile_stmt(v)
        do
                var e1 = v.cfc.varname(variable)
                var e2 = v.compile_expr(n_value)
@@ -1207,14 +1207,14 @@ redef class AVarReassignExpr
 end
 
 redef class ASelfExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                return v.cfc.varname(v.nmc.method_params[0])
        end
 end
 
 redef class AOrExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                var e = v.ensure_var(v.compile_expr(n_expr), "Left 'or' operand")
                v.add_instr("if (!UNTAG_Bool({e})) \{ /* or */")
@@ -1229,7 +1229,7 @@ redef class AOrExpr
 end
 
 redef class AAndExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                var e = v.ensure_var(v.compile_expr(n_expr), "Left 'and' operand")
                v.add_instr("if (UNTAG_Bool({e})) \{ /* and */")
@@ -1244,14 +1244,14 @@ redef class AAndExpr
 end
 
 redef class ANotExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                return " TAG_Bool(!UNTAG_Bool({v.compile_expr(n_expr)}))"
        end
 end
 
 redef class AEeExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                var e = v.compile_expr(n_expr)
                var e2 = v.compile_expr(n_expr2)
@@ -1260,7 +1260,7 @@ redef class AEeExpr
 end
 
 redef class AIsaExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                var e = v.compile_expr(n_expr)
                return n_type.stype.compile_cast(v, e, n_expr.stype)
@@ -1268,7 +1268,7 @@ redef class AIsaExpr
 end
 
 redef class AAsCastExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                var e = v.compile_expr(n_expr)
                n_type.stype.compile_type_check(v, e, self, n_expr.stype)
@@ -1277,7 +1277,7 @@ redef class AAsCastExpr
 end
 
 redef class AAsNotnullExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                var e = v.compile_expr(n_expr)
                n_expr.stype.compile_notnull_check(v, e, self)
@@ -1286,42 +1286,42 @@ redef class AAsNotnullExpr
 end
 
 redef class ATrueExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                return " TAG_Bool(true)"
        end
 end
 
 redef class AFalseExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                return " TAG_Bool(false)"
        end
 end
 
 redef class AIntExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                return " TAG_Int({n_number.text})"
        end
 end
 
 redef class AFloatExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                return "BOX_Float({n_float.text})"
        end
 end
 
 redef class ACharExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                return " TAG_Char({n_char.text})"
        end
 end
 
 redef class AStringFormExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                compute_string_info
                var i = v.new_number
@@ -1340,16 +1340,16 @@ redef class AStringFormExpr
        end
 
        # The raw string value
-       protected meth string_text: String is abstract
+       protected fun string_text: String is abstract
 
        # The string in a C native format
-       protected attr _cstring: nullable String
+       protected var _cstring: nullable String
 
        # The string length in bytes
-       protected attr _cstring_length: nullable Int
+       protected var _cstring_length: nullable Int
 
        # Compute _cstring and _cstring_length using string_text
-       protected meth compute_string_info
+       protected fun compute_string_info
        do
                var len = 0
                var str = string_text
@@ -1375,20 +1375,20 @@ redef class AStringFormExpr
 end
 
 redef class AStringExpr
-       redef meth string_text do return n_string.text.substring(1, n_string.text.length - 2)
+       redef fun string_text do return n_string.text.substring(1, n_string.text.length - 2)
 end
 redef class AStartStringExpr
-       redef meth string_text do return n_string.text.substring(1, n_string.text.length - 2)
+       redef fun string_text do return n_string.text.substring(1, n_string.text.length - 2)
 end
 redef class AMidStringExpr
-       redef meth string_text do return n_string.text.substring(1, n_string.text.length - 2)
+       redef fun string_text do return n_string.text.substring(1, n_string.text.length - 2)
 end
 redef class AEndStringExpr
-       redef meth string_text do return n_string.text.substring(1, n_string.text.length - 2)
+       redef fun string_text do return n_string.text.substring(1, n_string.text.length - 2)
 end
 
 redef class ASuperstringExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                var array = meth_with_capacity.compile_constructor_call(v, atype.as(not null), ["TAG_Int({n_exprs.length})"])
                array = v.ensure_var(array, "Array (for super-string)")
@@ -1408,14 +1408,14 @@ redef class ASuperstringExpr
 end
 
 redef class ANullExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                return " NIT_NULL /*null*/"
        end
 end
 
 redef class AArrayExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                var recv = meth_with_capacity.compile_constructor_call(v, stype, ["TAG_Int({n_exprs.length})"])
                recv = v.ensure_var(recv, "Literal array")
@@ -1429,7 +1429,7 @@ redef class AArrayExpr
 end
 
 redef class ARangeExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                var e = v.compile_expr(n_expr)
                var e2 = v.compile_expr(n_expr2)
@@ -1438,7 +1438,7 @@ redef class ARangeExpr
 end
 
 redef class ASuperExpr
-       redef meth compile_stmt(v)
+       redef fun compile_stmt(v)
        do
                var e = intern_compile_call(v)
                if e != null then
@@ -1446,14 +1446,14 @@ redef class ASuperExpr
                end
        end
 
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                var e = intern_compile_call(v)
                assert e != null
                return e
        end
 
-       private meth intern_compile_call(v: CompilerVisitor): nullable String
+       private fun intern_compile_call(v: CompilerVisitor): nullable String
        do
                var arity = v.nmc.method_params.length - 1
                if init_in_superclass != null then
@@ -1481,7 +1481,7 @@ redef class ASuperExpr
 end
 
 redef class AAttrExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                var e = v.compile_expr(n_expr)
                return prop.compile_read_access(v, n_id, e)
@@ -1489,7 +1489,7 @@ redef class AAttrExpr
 end
 
 redef class AAttrAssignExpr
-       redef meth compile_stmt(v)
+       redef fun compile_stmt(v)
        do
                var e = v.compile_expr(n_expr)
                var e2 = v.compile_expr(n_value)
@@ -1497,7 +1497,7 @@ redef class AAttrAssignExpr
        end
 end
 redef class AAttrReassignExpr
-       redef meth compile_stmt(v)
+       redef fun compile_stmt(v)
        do
                var e1 = v.compile_expr(n_expr)
                var e2 = prop.compile_read_access(v, n_id, e1)
@@ -1508,7 +1508,7 @@ redef class AAttrReassignExpr
 end
 
 redef class AIssetAttrExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                var e = v.compile_expr(n_expr)
                return prop.compile_isset(v, n_id, e)
@@ -1517,7 +1517,7 @@ end
 
 redef class AAbsAbsSendExpr
        # Compile each argument and add them to the array
-       meth compile_arguments_in(v: CompilerVisitor, cargs: Array[String])
+       fun compile_arguments_in(v: CompilerVisitor, cargs: Array[String])
        do
                for a in arguments.as(not null) do
                        cargs.add(v.compile_expr(a))
@@ -1527,7 +1527,7 @@ redef class AAbsAbsSendExpr
 end
 
 redef class ASendExpr
-       private meth intern_compile_call(v: CompilerVisitor): nullable String
+       private fun intern_compile_call(v: CompilerVisitor): nullable String
        do
                var recv = v.compile_expr(n_expr)
                var cargs = new Array[String]
@@ -1547,14 +1547,14 @@ redef class ASendExpr
                return e
        end
 
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                var e = intern_compile_call(v)
                assert e != null
                return e
        end
 
-       redef meth compile_stmt(v)
+       redef fun compile_stmt(v)
        do
                var e = intern_compile_call(v)
                if e != null then
@@ -1564,9 +1564,9 @@ redef class ASendExpr
 end
 
 redef class ASendReassignExpr
-       redef meth compile_expr(v) do abort
+       redef fun compile_expr(v) do abort
 
-       redef meth compile_stmt(v)
+       redef fun compile_stmt(v)
        do
                var recv = v.compile_expr(n_expr)
                var cargs = new Array[String]
@@ -1582,30 +1582,30 @@ redef class ASendReassignExpr
 end
 
 redef class ANewExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                var cargs = new Array[String]
                compile_arguments_in(v, cargs)
                return prop.compile_constructor_call(v, stype, cargs)
        end
 
-       redef meth compile_stmt(v) do abort
+       redef fun compile_stmt(v) do abort
 end
 
 redef class PClosureDef
        # Compile the closure definition as a function in v.out_contexts
        # Return the cname of the function
-       meth compile_closure(v: CompilerVisitor, closcn: String): String is abstract
+       fun compile_closure(v: CompilerVisitor, closcn: String): String is abstract
 
        # Compile the closure definition inside the current C function.
-       meth do_compile_inside(v: CompilerVisitor, params: nullable Array[String]): nullable String is abstract
+       fun do_compile_inside(v: CompilerVisitor, params: nullable Array[String]): nullable String is abstract
 end
 
 redef class AClosureDef
        # The cname of the function
-       readable attr _cname: nullable String
+       readable var _cname: nullable String
 
-       redef meth compile_closure(v, closcn)
+       redef fun compile_closure(v, closcn)
        do
                var ctx_old = v.ctx
                v.ctx = new CContext
@@ -1675,7 +1675,7 @@ redef class AClosureDef
                return "(&{closcnv})"
        end
 
-       protected meth decl_csignature(v: CompilerVisitor, args: Array[String], closcn: String): String
+       protected fun decl_csignature(v: CompilerVisitor, args: Array[String], closcn: String): String
        do
                var params = new Array[String]
                params.add("struct WBT_ *closctx")
@@ -1696,7 +1696,7 @@ redef class AClosureDef
                return s
        end
 
-       redef meth do_compile_inside(v, params)
+       redef fun do_compile_inside(v, params)
        do
                for i in [0..variables.length[ do
                        var vacname = v.cfc.register_variable(variables[i])
@@ -1727,10 +1727,10 @@ redef class AClosureDef
 end
 
 redef class PClosureDecl
-       meth do_compile_inside(v: CompilerVisitor, params: Array[String]): nullable String is abstract
+       fun do_compile_inside(v: CompilerVisitor, params: Array[String]): nullable String is abstract
 end
 redef class AClosureDecl
-       redef meth do_compile_inside(v, params)
+       redef fun do_compile_inside(v, params)
        do
                n_signature.compile_parameters(v, variable.closure.signature, params)
 
@@ -1758,7 +1758,7 @@ redef class AClosureDecl
 end
 
 redef class AClosureCallExpr
-       meth intern_compile_call(v: CompilerVisitor): nullable String
+       fun intern_compile_call(v: CompilerVisitor): nullable String
        do
                var cargs = new Array[String]
                compile_arguments_in(v, cargs)
@@ -1803,14 +1803,14 @@ redef class AClosureCallExpr
                return va
        end
 
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                var e = intern_compile_call(v)
                assert e != null
                return e
        end
 
-       redef meth compile_stmt(v)
+       redef fun compile_stmt(v)
        do
                var e = intern_compile_call(v)
                if e != null then
@@ -1820,14 +1820,14 @@ redef class AClosureCallExpr
 end
 
 redef class AProxyExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                return v.compile_expr(n_expr)
        end
 end
 
 redef class AOnceExpr
-       redef meth compile_expr(v)
+       redef fun compile_expr(v)
        do
                var i = v.new_number
                var cvar = v.cfc.get_var("Once expression result")
index 8d53ece..47c6a41 100644 (file)
@@ -26,20 +26,20 @@ class MMContext
        init do end
 
        # The module dependence hierarchy
-       readable attr _module_hierarchy: PartialOrder[MMModule] = new PartialOrder[MMModule]
+       readable var _module_hierarchy: PartialOrder[MMModule] = new PartialOrder[MMModule]
 
        # The class refinement and specialization hierarchy
        # It is not the real hierarchy since non concrete classes can only be leaves
-       readable attr _class_hierarchy: PartialOrder[MMLocalClass] = new PartialOrder[MMLocalClass]
+       readable var _class_hierarchy: PartialOrder[MMLocalClass] = new PartialOrder[MMLocalClass]
 
        # All known global classes
-       attr _global_classes: Array[MMGlobalClass] = new Array[MMGlobalClass]
+       var _global_classes: Array[MMGlobalClass] = new Array[MMGlobalClass]
 
        # All known modules
-       readable attr _modules: Array[MMModule] = new Array[MMModule]
+       readable var _modules: Array[MMModule] = new Array[MMModule]
 
        # Register a new module with the modules it depends on
-       meth add_module(module: MMModule, supers: Array[MMModule])
+       fun add_module(module: MMModule, supers: Array[MMModule])
        do
                _module_hierarchy.add(module, _module_hierarchy.select_smallests(supers))
                _modules.add(module)
@@ -47,10 +47,10 @@ class MMContext
        end
 
        # Register a global class
-       private meth add_global_class(c: MMGlobalClass) do _global_classes.add(c)
+       private fun add_global_class(c: MMGlobalClass) do _global_classes.add(c)
 
        # Register a local class
-       meth add_local_class(c: MMLocalClass, sup: Array[MMLocalClass])
+       fun add_local_class(c: MMLocalClass, sup: Array[MMLocalClass])
        do
                var csup = new Array[MMLocalClass]
                var csups = new Array[String]
@@ -72,23 +72,23 @@ end
 # Directory of modules
 class MMDirectory
        # Full name of the directory
-       readable attr _name: Symbol
+       readable var _name: Symbol
 
        # Full path
-       readable attr _path: String
+       readable var _path: String
 
        # Parent directory
        # null if none
-       readable attr _parent: nullable MMDirectory
+       readable var _parent: nullable MMDirectory
 
        # The module that introduces the directory if any
-       readable writable attr _owner: nullable MMModule = null
+       readable writable var _owner: nullable MMModule = null
 
        # Known modules in the directory
-       readable attr _modules: Map[Symbol, MMModule] = new HashMap[Symbol, MMModule]
+       readable var _modules: Map[Symbol, MMModule] = new HashMap[Symbol, MMModule]
 
        # Register a new module
-       meth add_module(module: MMModule)
+       fun add_module(module: MMModule)
        do
                assert not _modules.has_key(module.name)
                _modules[module.name] = module
@@ -101,7 +101,7 @@ class MMDirectory
        end
 
        # The fullname of a a potentiel module in the directory
-       meth full_name_for(module_name: Symbol): Symbol do
+       fun full_name_for(module_name: Symbol): Symbol do
                return "{name}/{module_name}".to_symbol
        end
 end
@@ -109,49 +109,49 @@ end
 # A module is a NIT package
 class MMModule
        # Global context
-       readable attr _context: MMContext 
+       readable var _context: MMContext 
 
        # Short name of the module
-       readable attr _name: Symbol
+       readable var _name: Symbol
 
        # Full name of the module
-       readable attr _full_name: Symbol
+       readable var _full_name: Symbol
 
        # The directory of the module
-       readable attr _directory: MMDirectory
+       readable var _directory: MMDirectory
 
        # The filename of the module
-       readable attr _filename: String
+       readable var _filename: String
 
        # Module dependence hierarchy element
-       readable attr _mhe: nullable PartialOrderElement[MMModule]
+       readable var _mhe: nullable PartialOrderElement[MMModule]
 
        # All global classes of the module (defined and imported)
-       readable attr _global_classes: Array[MMGlobalClass] = new Array[MMGlobalClass]
+       readable var _global_classes: Array[MMGlobalClass] = new Array[MMGlobalClass]
 
        # All local classes of the module (defined and imported)
-       readable attr _local_classes: Array[MMLocalClass] = new Array[MMLocalClass]
+       readable var _local_classes: Array[MMLocalClass] = new Array[MMLocalClass]
 
        # Class specialization hierarchy of the module.
-       readable attr _class_specialization_hierarchy: PartialOrder[MMLocalClass] = new PartialOrder[MMLocalClass]
+       readable var _class_specialization_hierarchy: PartialOrder[MMLocalClass] = new PartialOrder[MMLocalClass]
 
        # Modules intruded (directly or not)
-       attr _intrude_modules: Set[MMModule] = new HashSet[MMModule]
+       var _intrude_modules: Set[MMModule] = new HashSet[MMModule]
 
        # Module publicly imported (directly or not)
-       attr _public_modules: Set[MMModule] = new HashSet[MMModule]
+       var _public_modules: Set[MMModule] = new HashSet[MMModule]
 
        # Module privately imported (directly or not)
-       attr _private_modules: Set[MMModule] = new HashSet[MMModule]
+       var _private_modules: Set[MMModule] = new HashSet[MMModule]
 
        # Explicit imported modules
-       readable attr _explicit_imported_modules: Set[MMModule] = new HashSet[MMModule]
+       readable var _explicit_imported_modules: Set[MMModule] = new HashSet[MMModule]
 
        # Association between local class and global classes
-       attr _local_class_by_global: Map[MMGlobalClass, MMLocalClass] = new HashMap[MMGlobalClass, MMLocalClass]
+       var _local_class_by_global: Map[MMGlobalClass, MMLocalClass] = new HashMap[MMGlobalClass, MMLocalClass]
 
        # Dictionary of global classes
-       attr _global_class_by_name: Map[Symbol, MMGlobalClass] = new HashMap[Symbol, MMGlobalClass]
+       var _global_class_by_name: Map[Symbol, MMGlobalClass] = new HashMap[Symbol, MMGlobalClass]
 
        protected init(name: Symbol, dir: MMDirectory, context: MMContext, filename: String)
        do
@@ -166,7 +166,7 @@ class MMModule
        # 0 -> intrude
        # 1 -> public
        # 3 -> private
-       meth add_super_module(m: MMModule, visibility_level: Int)
+       fun add_super_module(m: MMModule, visibility_level: Int)
        do
                _explicit_imported_modules.add(m)
                if visibility_level == 0 then
@@ -191,7 +191,7 @@ class MMModule
        # 2 -> public => see public and protected
        # 1 -> private => see public and protected
        # 0 -> nothing => see nothing
-       meth visibility_for(m: MMModule): Int
+       fun visibility_for(m: MMModule): Int
        do
                if m == self or _intrude_modules.has(m) then
                        return 3
@@ -206,34 +206,34 @@ class MMModule
 
 
        # Get the local class associated with a global class 
-       meth [](c: MMGlobalClass): MMLocalClass
+       fun [](c: MMGlobalClass): MMLocalClass
        do
                return _local_class_by_global[c]
        end
 
        # Get a local class by its name
-       meth class_by_name(n: Symbol): MMLocalClass
+       fun class_by_name(n: Symbol): MMLocalClass
        do
                return self[_global_class_by_name[n]]
        end
 
        # Is there a global class with this name
-       meth has_global_class_named(n: Symbol): Bool
+       fun has_global_class_named(n: Symbol): Bool
        do
                return _global_class_by_name.has_key(n)
        end
 
        # Get a global class by its name.
        # Return null if not class match this name
-       meth global_class_named(n: Symbol): MMGlobalClass
+       fun global_class_named(n: Symbol): MMGlobalClass
        do
                return _global_class_by_name[n]
        end
 
-       redef meth to_s do return name.to_s
+       redef fun to_s do return name.to_s
 
        # Assign super_classes for a local class
-       meth set_supers_class(c: MMLocalClass, supers: Array[MMLocalClass])
+       fun set_supers_class(c: MMLocalClass, supers: Array[MMLocalClass])
        do
                var tab = _class_specialization_hierarchy.select_smallests(supers)
                c._cshe = _class_specialization_hierarchy.add(c,tab)
@@ -243,7 +243,7 @@ class MMModule
        end
 
        # Register a local class and its global class in the module
-       private meth register_global_class(c: MMLocalClass)
+       private fun register_global_class(c: MMLocalClass)
        do
                _local_class_by_global[c.global] = c
        end
@@ -251,11 +251,11 @@ end
 
 class MMGlobalClass
        # The introducing local class
-       readable attr _intro: MMLocalClass 
+       readable var _intro: MMLocalClass 
 
        # Class refinement hierarchy
        # It is not the real hierarchy since non concrete classes can only be leaves
-       readable attr _class_refinement_hierarchy: PartialOrder[MMLocalClass] = new PartialOrder[MMLocalClass] 
+       readable var _class_refinement_hierarchy: PartialOrder[MMLocalClass] = new PartialOrder[MMLocalClass] 
 
        # Create a new global class introduced with a given local class
        init(c: MMLocalClass)
@@ -265,24 +265,24 @@ class MMGlobalClass
        end
 
        # The name of the global class
-       meth name: Symbol
+       fun name: Symbol
        do
                return intro.name
        end
 
        # The module that introduces the global class
-       meth module: MMModule
+       fun module: MMModule
        do
                return intro.module
        end
 
-       redef meth to_s
+       redef fun to_s
        do
                return intro.to_s
        end
 
        # register a new Local class to local class hierarchy (set the crhe value)
-       private meth register_local_class(c: MMLocalClass)
+       private fun register_local_class(c: MMLocalClass)
        do
                var sup = new Array[MMLocalClass]
                for s in class_refinement_hierarchy do
@@ -294,22 +294,22 @@ class MMGlobalClass
        end
 
        # Is the global class an interface?
-       readable writable attr _is_interface: Bool = false
+       readable writable var _is_interface: Bool = false
 
        # Is the global class an abstract class?
-       readable writable attr _is_abstract: Bool = false
+       readable writable var _is_abstract: Bool = false
 
        # Is the global class a universal class?
-       readable writable attr _is_universal: Bool = false
+       readable writable var _is_universal: Bool = false
 
        # Visibility of the global class
        # 1 -> public
        # 3 -> private
-       readable writable attr _visibility_level: Int = 1 # FIXME: why this should be defined ?
+       readable writable var _visibility_level: Int = 1 # FIXME: why this should be defined ?
 
        # Is the global class a mixin class?
        # A mixin class inherits all constructors from a superclass
-       meth is_mixin: Bool
+       fun is_mixin: Bool
        do
                return _mixin_of != self
        end
@@ -317,46 +317,46 @@ class MMGlobalClass
        # Indicate the superclass the class is a mixin of.
        # If mixin_of == self then the class is not a mixin
        # Is two classes have the same mixin_of value, then they both belong to the same mixing group
-       readable writable attr _mixin_of: MMGlobalClass = self
+       readable writable var _mixin_of: MMGlobalClass = self
 
 end
 
 # Local classes are classes defined, refined or imported in a module
 class MMLocalClass
        # The name of the local class
-        readable attr _name: Symbol
+        readable var _name: Symbol
 
        # Arity of the local class (if generic)
        # FIXME: How to move this into the generic module in a sane way?
-       readable attr _arity : Int 
+       readable var _arity : Int 
 
        # The module of the local class
-       readable attr _module: MMModule
+       readable var _module: MMModule
 
        # The global class of the local class
-       meth global: MMGlobalClass do return _global.as(not null)
-       attr _global: nullable MMGlobalClass
+       fun global: MMGlobalClass do return _global.as(not null)
+       var _global: nullable MMGlobalClass
 
        # The local class refinement hierarchy element
-       meth crhe: PartialOrderElement[MMLocalClass] do return _crhe.as(not null)
-       attr _crhe: nullable PartialOrderElement[MMLocalClass]
+       fun crhe: PartialOrderElement[MMLocalClass] do return _crhe.as(not null)
+       var _crhe: nullable PartialOrderElement[MMLocalClass]
 
        # The local class specialization hierarchy element
-       meth cshe: PartialOrderElement[MMLocalClass] do return _cshe.as(not null)
-       attr _cshe: nullable PartialOrderElement[MMLocalClass]
+       fun cshe: PartialOrderElement[MMLocalClass] do return _cshe.as(not null)
+       var _cshe: nullable PartialOrderElement[MMLocalClass]
 
        # The local class full hierarchy element
-       meth che: PartialOrderElement[MMLocalClass] do return _che.as(not null)
-       attr _che: nullable PartialOrderElement[MMLocalClass]
+       fun che: PartialOrderElement[MMLocalClass] do return _che.as(not null)
+       var _che: nullable PartialOrderElement[MMLocalClass]
 
        # Association between local properties and global properties
-       attr _local_property_by_global: Map[MMGlobalProperty, MMLocalProperty] = new HashMap[MMGlobalProperty, MMLocalProperty]
+       var _local_property_by_global: Map[MMGlobalProperty, MMLocalProperty] = new HashMap[MMGlobalProperty, MMLocalProperty]
 
        # All known global properties
-       readable attr _global_properties: Set[MMGlobalProperty] = new HashSet[MMGlobalProperty]
+       readable var _global_properties: Set[MMGlobalProperty] = new HashSet[MMGlobalProperty]
 
        # Dictionnary of global properties
-       attr _properties_by_name: Map[Symbol, Array[MMGlobalProperty]] = new HashMap[Symbol, Array[MMGlobalProperty]]
+       var _properties_by_name: Map[Symbol, Array[MMGlobalProperty]] = new HashMap[Symbol, Array[MMGlobalProperty]]
 
        # Create a new class with a given name and arity
        protected init(mod: MMModule, name: Symbol, arity: Int)
@@ -368,13 +368,13 @@ class MMLocalClass
        end
 
        # The corresponding local class in another module
-       meth for_module(m: MMModule): MMLocalClass
+       fun for_module(m: MMModule): MMLocalClass
        do
                return m[global]
        end
        
        # Introduce a new global class to a new global one and register to hierarchy with no refine
-       meth new_global
+       fun new_global
        do
                var g = new MMGlobalClass(self)
                _module._global_classes.add(g)
@@ -385,7 +385,7 @@ class MMLocalClass
        # Associate this local class to a global one and register to hierarchy
        # the global class for this class
        # refined classes for this class
-       meth set_global(g: MMGlobalClass)
+       fun set_global(g: MMGlobalClass)
        do
                _global = g
                _global.register_local_class(self)
@@ -394,14 +394,14 @@ class MMLocalClass
 
        # Is there a global propery with a given name
        # TODO: Will disapear when qualified names will be available
-       meth has_global_property_by_name(n: Symbol): Bool
+       fun has_global_property_by_name(n: Symbol): Bool
        do
                return _properties_by_name.has_key(n) and _properties_by_name[n].length == 1
        end
 
        # Get a global property by its name
        # TODO: Will disapear when qualified names will be available
-       meth get_property_by_name(n: Symbol): MMGlobalProperty
+       fun get_property_by_name(n: Symbol): MMGlobalProperty
        do
                if not has_global_property_by_name(n) then abort
                var props = _properties_by_name[n]
@@ -410,21 +410,21 @@ class MMLocalClass
 
        # Get a attribute by its name
        # TODO: Will disapear when qualified names will be available
-       meth attribute(a: Symbol): MMGlobalProperty
+       fun attribute(a: Symbol): MMGlobalProperty
        do
                return get_property_by_name(a)
        end
 
        # Get a method by its name
        # TODO: Will disapear when qualified names will be available
-       meth method(na: Symbol): MMGlobalProperty
+       fun method(na: Symbol): MMGlobalProperty
        do
                return _properties_by_name[na].first
        end
 
        # Select a method from its name
        # TODO: Will disapear when qualified names will be available
-       meth select_method(name: Symbol): MMMethod
+       fun select_method(name: Symbol): MMMethod
        do
                var gp = method(name)
                var res = self[gp]
@@ -434,7 +434,7 @@ class MMLocalClass
        
        # Select an attribute from its name
        # TODO: Will disapear when qualified names will be available
-       meth select_attribute(name: Symbol): MMAttribute
+       fun select_attribute(name: Symbol): MMAttribute
        do
                var gp = attribute(name)
                var res = self[gp]
@@ -444,7 +444,7 @@ class MMLocalClass
        
        # Look in super-classes (by specialization) and return properties with name
        # Beware, global property of results is not intended to be the same
-       meth super_methods_named(n: Symbol): Array[MMLocalProperty] 
+       fun super_methods_named(n: Symbol): Array[MMLocalProperty] 
        do
                var classes = new Array[MMLocalClass]
                for c in cshe.greaters do
@@ -461,13 +461,13 @@ class MMLocalClass
        end
 
        # Register a local property and associate it with its global property
-       meth register_local_property(p: MMLocalProperty)
+       fun register_local_property(p: MMLocalProperty)
        do
                _local_property_by_global[p.global] = p
        end
 
        # Register a global property and associate it with its name
-       meth register_global_property(glob: MMGlobalProperty)
+       fun register_global_property(glob: MMGlobalProperty)
        do
                var prop = glob.intro
                var name = prop.name
@@ -481,21 +481,21 @@ class MMLocalClass
        end
 
        # Does the global property belong to the class?
-       meth has_global_property(glob: MMGlobalProperty): Bool
+       fun has_global_property(glob: MMGlobalProperty): Bool
        do
                return _global_properties.has(glob)
        end
 
        # Get a local proprty by its global property
-       meth [](glob: MMGlobalProperty): MMLocalProperty
+       fun [](glob: MMGlobalProperty): MMLocalProperty
        do
                return _local_property_by_global[glob]
        end
 
        # The current MMContext
-       meth context: MMContext do return module.context
+       fun context: MMContext do return module.context
 
-       redef meth to_s
+       redef fun to_s
        do
                return _name.to_s
        end
@@ -506,16 +506,16 @@ class MMGlobalProperty
        # The local property for each class that has the global property
 
        # The introducing local property
-       readable attr _intro: MMLocalProperty
+       readable var _intro: MMLocalProperty
 
        # The local class that introduces the global property
-       meth local_class: MMLocalClass
+       fun local_class: MMLocalClass
        do
                return intro.local_class
        end
 
        # The property redefinition hierarchy
-       readable attr _property_hierarchy: PartialOrder[MMLocalProperty] = new PartialOrder[MMLocalProperty]
+       readable var _property_hierarchy: PartialOrder[MMLocalProperty] = new PartialOrder[MMLocalProperty]
 
        # Create a new global property introduced by a local one
        protected init(p: MMLocalProperty)
@@ -524,25 +524,25 @@ class MMGlobalProperty
                add_local_property(p, new Array[MMLocalProperty])
        end
 
-       redef meth to_s do return intro.full_name
+       redef fun to_s do return intro.full_name
 
        # Register a new local property
-       meth add_local_property(i: MMLocalProperty, sup: Array[MMLocalProperty])
+       fun add_local_property(i: MMLocalProperty, sup: Array[MMLocalProperty])
        do
                i._prhe = _property_hierarchy.add(i,sup)
        end
 
        # Is the global property an attribute ?
-       meth is_attribute: Bool do return intro isa MMAttribute
+       fun is_attribute: Bool do return intro isa MMAttribute
 
        # Is the global property a method (or a constructor)?
-       meth is_method: Bool do return intro isa MMMethod
+       fun is_method: Bool do return intro isa MMMethod
 
        # Is the global property a constructor (thus also a method)?
-       readable writable attr _is_init: Bool = false
+       readable writable var _is_init: Bool = false
 
        # Is the global property a constructor for a given class?
-       meth is_init_for(c: MMLocalClass): Bool
+       fun is_init_for(c: MMLocalClass): Bool
        do
                if not is_init then return false
                var sc = intro.local_class
@@ -554,33 +554,33 @@ class MMGlobalProperty
        # 1 -> public
        # 2 -> protected
        # 3 -> private
-       readable writable attr _visibility_level: Int = 1 # FIXME: why this should be defined ?
+       readable writable var _visibility_level: Int = 1 # FIXME: why this should be defined ?
 end
 
 # Local properties are properties defined (explicitely or not) in a local class
 class MMLocalProperty
        # The name of the property
-       readable attr _name: Symbol
+       readable var _name: Symbol
 
        # The local class who own the local property
-       readable attr _local_class: MMLocalClass
+       readable var _local_class: MMLocalClass
 
        # The global property where belong the local property
-       attr _global: nullable MMGlobalProperty
+       var _global: nullable MMGlobalProperty
 
-       meth global: MMGlobalProperty do return _global.as(not null)
-       meth is_global_set: Bool do return _global != null
+       fun global: MMGlobalProperty do return _global.as(not null)
+       fun is_global_set: Bool do return _global != null
 
        # Redefinition hierarchy of the local property
-       attr _prhe: nullable PartialOrderElement[MMLocalProperty]
+       var _prhe: nullable PartialOrderElement[MMLocalProperty]
 
-       meth prhe: PartialOrderElement[MMLocalProperty] do return _prhe.as(not null)
+       fun prhe: PartialOrderElement[MMLocalProperty] do return _prhe.as(not null)
 
        # The module of the local property
-       meth module: MMModule do return _local_class.module
+       fun module: MMModule do return _local_class.module
 
        # Full expanded name with all qualifications
-       meth full_name: String
+       fun full_name: String
        do
                if _global == null then
                        return "{local_class.module}::{local_class}::(?::{name})"
@@ -592,14 +592,14 @@ class MMLocalProperty
        end
 
        # set the global property for this property
-       meth set_global(g: MMGlobalProperty)
+       fun set_global(g: MMGlobalProperty)
        do
                _global = g
                _local_class.register_local_property(self)
        end
 
        # Introduce a new global property for this local one
-       meth new_global
+       fun new_global
        do
                assert _global == null
                var global = new MMGlobalProperty(self)
@@ -607,10 +607,10 @@ class MMLocalProperty
                _local_class.register_global_property(global)
        end
 
-       redef meth to_s do return name.to_s
+       redef fun to_s do return name.to_s
 
        # Is the concrete property contain a `super' in the body?
-       readable writable attr _need_super: Bool = false
+       readable writable var _need_super: Bool = false
 
        protected init(n: Symbol, bc: MMLocalClass)
        do
index dd84e14..79efb24 100644 (file)
@@ -23,14 +23,14 @@ intrude import inheritance
 
 redef class MMLocalClass
        # The pos-th formal type parameter
-       meth get_formal(pos: Int): MMTypeFormalParameter
+       fun get_formal(pos: Int): MMTypeFormalParameter
        do
                return formals_types[pos]
        end
 
        # Register a new formal type
        # Called in order during the building of the class
-       meth register_formal(f: MMTypeFormalParameter)
+       fun register_formal(f: MMTypeFormalParameter)
        do
                assert f.def_class == self
                assert f.position == _formals_types.length
@@ -38,10 +38,10 @@ redef class MMLocalClass
        end
 
        # All the insanciated types of the class
-       attr _types: Array[MMTypeGeneric] = new Array[MMTypeGeneric]
+       var _types: Array[MMTypeGeneric] = new Array[MMTypeGeneric]
 
        # Instanciate a type from the generic class
-       meth get_instantiate_type(t: Array[MMType]): MMType
+       fun get_instantiate_type(t: Array[MMType]): MMType
        do
                for g in _types do
                        if g.params_equals(t) then return g
@@ -52,11 +52,11 @@ redef class MMLocalClass
        end
 
        # The formal types of the class
-       attr _formals_types: Array[MMTypeFormalParameter] = new Array[MMTypeFormalParameter]
+       var _formals_types: Array[MMTypeFormalParameter] = new Array[MMTypeFormalParameter]
 
        # Return the definition formal types for the class
        # Import them from the intro class if needed
-       private meth formals_types: Array[MMTypeFormalParameter]
+       private fun formals_types: Array[MMTypeFormalParameter]
        do
                if _formals_types.is_empty then
                        assert not self isa MMConcreteClass
@@ -77,7 +77,7 @@ redef class MMLocalClass
                return _formals_types
        end
 
-       redef meth get_type
+       redef fun get_type
        do
                if _base_type_cache == null and is_generic then
                        _base_type_cache = get_instantiate_type(formals_types)
@@ -88,30 +88,30 @@ redef class MMLocalClass
        end
 
        # Is the class a generic one?
-       meth is_generic: Bool do return arity > 0
+       fun is_generic: Bool do return arity > 0
 end
 
 redef class MMType
        # TODO: IS this useful? 
-       meth is_generic: Bool is abstract
+       fun is_generic: Bool is abstract
 end
 
 redef class MMTypeFormal
-       redef meth is_generic do return _bound.is_generic
+       redef fun is_generic do return _bound.is_generic
 end
 
 redef class MMTypeSimpleClass
-       redef meth is_generic  do return false
+       redef fun is_generic  do return false
 end
 
 class MMTypeGeneric
 special MMTypeClass
        # Formal arguments
-       readable attr _params: Array[MMType] 
+       readable var _params: Array[MMType] 
 
-       redef meth is_generic do return true
+       redef fun is_generic do return true
 
-       redef meth is_supertype(t)
+       redef fun is_supertype(t)
        do
                if t.local_class.cshe <= _local_class then
                        var u = t.upcast_for(_local_class)
@@ -122,7 +122,7 @@ special MMTypeClass
                return false
        end
 
-       redef meth upcast_for(c)
+       redef fun upcast_for(c)
        do
                var t = super
                if t != self then
@@ -131,7 +131,7 @@ special MMTypeClass
                return t
        end
 
-       redef meth for_module(mod)
+       redef fun for_module(mod)
        do
                var t: MMType = self
                if module != mod then
@@ -145,7 +145,7 @@ special MMTypeClass
                return t
        end
 
-       redef meth adapt_to(r)
+       redef fun adapt_to(r)
        do
                var rv = new Array[MMType]
                for i in _params do
@@ -155,7 +155,7 @@ special MMTypeClass
                return l
        end
 
-       private meth params_equals(t: Array[MMType]): Bool
+       private fun params_equals(t: Array[MMType]): Bool
        do
                if t.length != _params.length then
                        return false
@@ -168,14 +168,14 @@ special MMTypeClass
                return true
        end
 
-       redef meth to_s
+       redef fun to_s
        do
                return "{super}[{_params.join(", ")}]"
        end
        
        # Is self a subtype of t?
        # Require that t.local_class = self.local_class
-       private meth is_subtype(t: MMTypeGeneric) : Bool
+       private fun is_subtype(t: MMTypeGeneric) : Bool
        do
                for i in [0.._params.length[
                do
@@ -196,14 +196,14 @@ end
 class MMTypeFormalParameter
 special MMTypeFormal
        # The class where self is defined
-       readable attr _def_class: MMLocalClass 
+       readable var _def_class: MMLocalClass 
 
        # The position is self in def_class
-       readable attr _position: Int 
+       readable var _position: Int 
 
-       redef meth module do return _def_class.module
+       redef fun module do return _def_class.module
 
-       redef meth for_module(mod)
+       redef fun for_module(mod)
        do
                var t: MMType = self
                if module != mod then
@@ -212,15 +212,15 @@ special MMTypeFormal
                return t
        end
 
-       redef meth upcast_for(c) do return _bound.upcast_for(c)
+       redef fun upcast_for(c) do return _bound.upcast_for(c)
 
-       meth bound=(t: MMType)
+       fun bound=(t: MMType)
        do
                assert _bound == null
                _bound = t
        end
 
-       redef meth adapt_to(r)
+       redef fun adapt_to(r)
        do
                r = r.direct_type
                var old_r = r.upcast_for(def_class)
@@ -248,7 +248,7 @@ special MMTypeFormal
 end
 
 redef class MMTypeNone
-       redef meth is_generic do return false
-       redef meth for_module(mod) do return self
-       redef meth adapt_to(r) do return self
+       redef fun is_generic do return false
+       redef fun for_module(mod) do return self
+       redef fun adapt_to(r) do return self
 end
index 2b2275b..aaca1da 100644 (file)
@@ -22,14 +22,14 @@ intrude import static_type
 
 redef class MMModule
        # The root of the class hierarchy
-       meth type_any: MMType
+       fun type_any: MMType
        do
                var c_name = class_by_name(once ("Object".to_symbol))
                return c_name.get_type
        end
 
        # Import global classes from supermodules
-       meth import_global_classes
+       fun import_global_classes
        do
                var globals = new HashMap[MMGlobalClass,HashSet[MMLocalClass]]
                assert mhe != null
@@ -44,7 +44,7 @@ redef class MMModule
        end 
        
        # Create implicit local classes for global classes that are not refined
-       meth import_local_classes
+       fun import_local_classes
        do
                for g in _global_classes do
                        if _local_class_by_global.has_key(g) then continue
@@ -55,14 +55,14 @@ end
 
 redef class MMLocalClass
        # List of all parents
-       attr _direct_parents: Array[MMAncestor] = new Array[MMAncestor]
+       var _direct_parents: Array[MMAncestor] = new Array[MMAncestor]
 
        # Is the class computing super.
        # Used to detect specialization loops.
-       attr _computing_super: Bool = false 
+       var _computing_super: Bool = false 
 
        # Compute super classes of a class
-       meth compute_super_classes
+       fun compute_super_classes
        do
                if computed_super_classes then
                        # do no recompute if allready done
@@ -88,7 +88,7 @@ redef class MMLocalClass
        end
 
        # Compute ancestors for a class
-       meth compute_ancestors
+       fun compute_ancestors
        do
                assert computed_super_classes
                if computed_ancestors then return
@@ -106,10 +106,10 @@ redef class MMLocalClass
                end
        end
 
-       attr _are_global_properties_inherited: Bool = false
+       var _are_global_properties_inherited: Bool = false
 
        # Inherit global properties for a class
-       meth inherit_global_properties
+       fun inherit_global_properties
        do
                if _are_global_properties_inherited then return
                _are_global_properties_inherited = true
@@ -135,7 +135,7 @@ redef class MMLocalClass
        end
 
        # Make the name of a global property meaningful in the class
-       meth make_visible_an_inherited_global_property(glob: MMGlobalProperty)
+       fun make_visible_an_inherited_global_property(glob: MMGlobalProperty)
        do
                var names = _properties_by_name
                var gname = glob.intro.name
@@ -150,26 +150,26 @@ redef class MMLocalClass
        end
 
        # Add super stype of this current local class
-       meth add_direct_parent(p: MMAncestor)
+       fun add_direct_parent(p: MMAncestor)
        do
                _direct_parents.add(p)
        end
 
        # Are super-class already computed?
-       meth computed_super_classes: Bool
+       fun computed_super_classes: Bool
        do
                return _crhe != null and _cshe != null
        end
        
        # Are ancestors already computed
-       meth computed_ancestors: Bool
+       fun computed_ancestors: Bool
        do
                return _ancestors != null
        end
 
        # Get the ancestor for a given class
        # TODO: is this useful?
-       private meth ancestor_for(c: MMLocalClass): MMAncestor
+       private fun ancestor_for(c: MMLocalClass): MMAncestor
        do      
                assert ancestors != null
 
@@ -190,7 +190,7 @@ redef class MMLocalClass
                return ra
        end
 
-       redef meth [](glob)
+       redef fun [](glob)
        do
                if _local_property_by_global.has_key(glob) then
                        return _local_property_by_global[glob]
@@ -202,7 +202,7 @@ redef class MMLocalClass
        end
 
        # Add default super class in direct parent and in super classes if this is not the Object class
-       private meth add_default_any_class(supers: Array[MMLocalClass])
+       private fun add_default_any_class(supers: Array[MMLocalClass])
        do
                if supers.is_empty and name != once ("Object".to_symbol) then
                        var t_any = module.type_any
@@ -213,7 +213,7 @@ redef class MMLocalClass
        end
        
        # Adding inherited class from previous refinement of self
-       private meth add_super_classes(supers: Array[MMLocalClass])
+       private fun add_super_classes(supers: Array[MMLocalClass])
        do
                assert _crhe != null
                for ref in _crhe.direct_greaters do
@@ -225,7 +225,7 @@ redef class MMLocalClass
        end
        
        # Add self parents of this local class
-       private meth add_explicit_classes(supers: Array[MMLocalClass])
+       private fun add_explicit_classes(supers: Array[MMLocalClass])
        do
                for p in _direct_parents do
                        supers.add(p.local_class)
@@ -233,7 +233,7 @@ redef class MMLocalClass
        end
 
        # Ensure all super parents are computed
-       private meth compute_super_parents(supers: Array[MMLocalClass])
+       private fun compute_super_parents(supers: Array[MMLocalClass])
        do
                for p in supers do
                        p.compute_super_classes
@@ -241,7 +241,7 @@ redef class MMLocalClass
        end
 
        # compute all ancestors for a class (multiple)
-       private meth build_ancestors: Array[MMAncestor]
+       private fun build_ancestors: Array[MMAncestor]
        do
                var all_ancestors = new Array[MMAncestor]
                # Refined classes are ancestors
@@ -259,7 +259,7 @@ redef class MMLocalClass
        end
 
        # Build an ancestor map indexed by LocalClass
-       private meth group_ancestors(all: Array[MMAncestor]): Map[MMLocalClass, Set[MMAncestor]]
+       private fun group_ancestors(all: Array[MMAncestor]): Map[MMLocalClass, Set[MMAncestor]]
        do
                #print "process {self}"
                var map = new HashMap[MMLocalClass, Set[MMAncestor]]
@@ -281,7 +281,7 @@ redef class MMLocalClass
        end
 
        # Remove duplicate ancestors and merge if compatible, in the other case do an error
-       private meth merge_ancestors(set: Set[MMAncestor]): MMAncestor
+       private fun merge_ancestors(set: Set[MMAncestor]): MMAncestor
        do
                var marks = new HashSet[MMAncestor]
                var res = new Array[MMAncestor]
@@ -316,7 +316,7 @@ redef class MMLocalClass
        # Inherit a local property
        # Is lazily called
        # FIXME: dont crash lazily
-       private meth inherit_local_property(glob: MMGlobalProperty): MMLocalProperty
+       private fun inherit_local_property(glob: MMGlobalProperty): MMLocalProperty
        do
                assert not _local_property_by_global.has_key(glob)
 
@@ -368,7 +368,7 @@ end
 
 redef class MMLocalProperty
        # Attach self to a global property
-       meth inherit_global(g: MMGlobalProperty)
+       fun inherit_global(g: MMGlobalProperty)
        do
                set_global(g)
                var impls = new Array[MMLocalProperty]
@@ -382,7 +382,7 @@ end
 
 redef class MMAncestor
        # Add this ancestor and it's super one in tab
-       private meth add_in(tab: Array[MMAncestor])
+       private fun add_in(tab: Array[MMAncestor])
        do
                tab.add(self)
                stype.local_class.compute_ancestors
@@ -419,7 +419,7 @@ end
 
 class MMRefineAncestor
 special MMAncestor
-       redef readable attr _local_class: MMLocalClass
+       redef readable var _local_class: MMLocalClass
 
        init(b: MMLocalClass, a: MMLocalClass)
        do
@@ -432,7 +432,7 @@ end
 
 class MMSpecAncestor
 special MMAncestor
-       redef meth local_class do return stype.local_class
+       redef fun local_class do return stype.local_class
 
        init(inheriter: MMType, stype: MMType)
        do
@@ -443,7 +443,7 @@ end
 
 class MMDefaultAncestor
 special MMAncestor
-       redef meth local_class do return stype.local_class
+       redef fun local_class do return stype.local_class
 
        init(b: MMLocalClass, anc: MMType)
        do
index 64cefc1..9fe3ba3 100644 (file)
@@ -22,27 +22,27 @@ package partial_order
 class PartialOrder[E]
 special Collection[E]
        # Elements
-       attr _elements: Map[E, PartialOrderElement[E]]
+       var _elements: Map[E, PartialOrderElement[E]]
 
        # Elements
-       attr _elements_list: Array[E]
+       var _elements_list: Array[E]
 
        # The roots of the hierarchy are elements without greaters
-       readable attr _roots: Array[E]
+       readable var _roots: Array[E]
 
 # Collection
 
-       redef meth is_empty do return _elements.is_empty
+       redef fun is_empty do return _elements.is_empty
        
-       redef meth length do return _elements.length
+       redef fun length do return _elements.length
 
-       redef meth first do return _elements_list.first
+       redef fun first do return _elements_list.first
 
-       redef meth has(e) do return _elements.has_key(e)
+       redef fun has(e) do return _elements.has_key(e)
 
-       redef meth has_only(e) do return _elements.length == 1 and _elements.first == e
+       redef fun has_only(e) do return _elements.length == 1 and _elements.first == e
 
-       redef meth count(e)
+       redef fun count(e)
        do
                if has(e) then
                        return 1
@@ -51,18 +51,18 @@ special Collection[E]
                end
        end
 
-       redef meth iterator do return _elements_list.iterator
+       redef fun iterator do return _elements_list.iterator
 
 # Access       
 
        #&n