nit.git
12 years agolib: add 'keys' and 'values' methods in Map
Jean Privat [Fri, 10 Feb 2012 16:24:45 +0000 (11:24 -0500)]
lib: add 'keys' and 'values' methods in Map

Make a bunch of method in Map depreciated and implement them by using
a delegation trough keys or values.

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

12 years agolib: MapIterator is no more an Iterator
Jean Privat [Fri, 10 Feb 2012 16:32:35 +0000 (11:32 -0500)]
lib: MapIterator is no more an Iterator

One more step to detach Map from the Collection hierarchy.

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

12 years agolib: Map is no more a Collection
Jean Privat [Fri, 10 Feb 2012 14:52:20 +0000 (09:52 -0500)]
lib: Map is no more a Collection

Many methods of Collection are copied to ensure compatibility but
they will be depreciated soon.

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

12 years agoc_src: update
Jean Privat [Fri, 10 Feb 2012 14:50:02 +0000 (09:50 -0500)]
c_src: update

The objective of the update is to handle the generalized "for".
It is required

12 years agolib: HashCollection is no more a Collection
Jean Privat [Fri, 10 Feb 2012 14:17:27 +0000 (09:17 -0500)]
lib: HashCollection is no more a Collection

This change is completely unharmful since HashCollection is a private
class. The subclasses HashMap and HashSet are already a Collection (via
Map and Set).

The point of the patch is to prepare suppression of the specialization
between Map and Collection.

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

12 years agolib: remove specialization link between Map and Sequence
Jean Privat [Fri, 10 Feb 2012 14:08:43 +0000 (09:08 -0500)]
lib: remove specialization link between Map and Sequence

IndexedIterator#key and Sequence#has_key are not maintained

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

12 years agolib: removes explicit super declaration of Pointer as it is now implicit
Alexis Laferrière [Fri, 10 Feb 2012 22:18:04 +0000 (17:18 -0500)]
lib: removes explicit super declaration of Pointer as it is now implicit

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agoc_src: updates c_src for extern classes to be special of Pointer
Alexis Laferrière [Sat, 11 Feb 2012 20:27:55 +0000 (15:27 -0500)]
c_src: updates c_src for extern classes to be special of Pointer

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agomm: moves class type detection to class building analysis
Alexis Laferrière [Sat, 13 Aug 2011 15:54:48 +0000 (11:54 -0400)]
mm: moves class type detection to class building analysis

This allows knowing the class kind when analysing super-classes.
Will be used to set default super-class of extern classes as Pointer.

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agotools: put libs after objects
Alexis Laferrière [Fri, 10 Feb 2012 20:35:22 +0000 (15:35 -0500)]
tools: put libs after objects

Extern libs (given by --cc-lib-name) should also appears after the objects.

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agocompile: intro of option files for modules with special needs
Alexis Laferrière [Mon, 1 Aug 2011 17:29:10 +0000 (13:29 -0400)]
compile: intro of option files for modules with special needs

This allows the user to specify compiler arguments for each module with files.
To do so for a given module "json", the user inputs the args for the compiler
in a file named json.nit.args. As example, the content of the file could be
"--cc-lib-name json", which asks to link with a native library when using this
module. Theses args will be interpreted as those given on the command line.

The args allowed are limited to C compilation options, as others don't seam
to be of any use in this way.

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agotools: adds nits, a compiler of help files to use the native interface
Alexis Laferrière [Thu, 18 Aug 2011 20:57:13 +0000 (16:57 -0400)]
tools: adds nits, a compiler of help files to use the native interface

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agotests: adds native interface tests
Alexis Laferrière [Thu, 18 Aug 2011 18:15:58 +0000 (14:15 -0400)]
tests: adds native interface tests

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agocompile: fix references to generated files from frontier for global
Alexis Laferrière [Tue, 11 Oct 2011 17:54:09 +0000 (13:54 -0400)]
compile: fix references to generated files from frontier for global

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agoni: intro of frontier files between nit code and extern code
Alexis Laferrière [Fri, 2 Dec 2011 03:15:11 +0000 (22:15 -0500)]
ni: intro of frontier files between nit code and extern code

These files contains wrappers for extern methods implementation
and for all methods callable from C code.

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agoni: adds MMModule::is_extern_hybrid
Alexis Laferrière [Mon, 15 Aug 2011 15:09:46 +0000 (11:09 -0400)]
ni: adds MMModule::is_extern_hybrid

This information will be used to generate frontier files
with extern if necessary and also by the stub generator.

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agocompile: makes compile_separate_module public
Alexis Laferrière [Tue, 9 Aug 2011 18:14:25 +0000 (14:14 -0400)]
compile: makes compile_separate_module public

This allows it to be redefined in other modules. Will be used by
native interface and seperate options later.

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agogrammar: allows constructors in extern classes
Alexis Laferrière [Thu, 18 Aug 2011 19:09:14 +0000 (15:09 -0400)]
grammar: allows constructors in extern classes

Such constructors can ben used to create an instance of an extern
class. It must be implemented externally.

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agomm: extracts extern name creation in separate function
Alexis Laferrière [Thu, 18 Aug 2011 17:51:51 +0000 (13:51 -0400)]
mm: extracts extern name creation in separate function

Will be used to generate variable name depending on type of method
such as external constructors.

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agomm: implements metamodel for basic explicit casts
Alexis Laferrière [Sun, 14 Aug 2011 19:12:01 +0000 (15:12 -0400)]
mm: implements metamodel for basic explicit casts

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agomm: adds is_extern to MMMethods and use extern_name in extern methods only
Alexis Laferrière [Tue, 9 Aug 2011 19:22:12 +0000 (15:22 -0400)]
mm: adds is_extern to MMMethods and use extern_name in extern methods only

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agomm: adds basic explicit imports to metamodel and typing
Alexis Laferrière [Tue, 9 Aug 2011 15:37:45 +0000 (11:37 -0400)]
mm: adds basic explicit imports to metamodel and typing

Also adds support for future new explicit import formats.

Alows the user to specify a precise type to be used in the
native signature instead of it being the class where the
property was introduced.

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agoni: makes pointer default super-class of all extern classes
Alexis Laferrière [Tue, 9 Aug 2011 19:37:39 +0000 (15:37 -0400)]
ni: makes pointer default super-class of all extern classes

This logicaly links all the extern equivalent types of
extern classes to be void*.

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agolib: updates lib to use extern classes
Alexis Laferrière [Wed, 17 Aug 2011 15:39:32 +0000 (11:39 -0400)]
lib: updates lib to use extern classes

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agogrammar: adds extern class kind for extern classes such as Pointer
Alexis Laferrière [Wed, 17 Aug 2011 15:29:07 +0000 (11:29 -0400)]
grammar: adds extern class kind for extern classes such as Pointer

Extern classes can specialize one another and interfaces. No
other kind of classes can specialize and extern class.

Extern classes are associated directly to an extern type and
thus cannot contain var.

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agogrammar: adds syntax for explicit extern calls and updates c_src
Alexis Laferrière [Wed, 17 Aug 2011 15:16:47 +0000 (11:16 -0400)]
grammar: adds syntax for explicit extern calls and updates c_src

Extern calls are declared with every extern methods to identify the
behavior in extern code. This includes method call from native code,
casts and constructors.

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agomakefile: adapts makefile for gcc 4.5.2
Alexis Laferrière [Sat, 15 Oct 2011 04:11:35 +0000 (00:11 -0400)]
makefile: adapts makefile for gcc 4.5.2

This version of gcc needs libraries to be listed after .o's.

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agonitdoc: uptate tests
Jean Privat [Thu, 9 Feb 2012 20:15:28 +0000 (15:15 -0500)]
nitdoc: uptate tests

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

12 years agonitdoc: update Makefile
Jean Privat [Thu, 9 Feb 2012 20:02:00 +0000 (15:02 -0500)]
nitdoc: update Makefile

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

12 years agotools: put -lm after objects
Jean Privat [Mon, 6 Feb 2012 20:27:48 +0000 (15:27 -0500)]
tools: put -lm after objects

As requested by some linkers that use by default --as-needed, libraries
must appears after objects that use them.

The problem was first noticed with Ubuntu 11.10 but some other systems
may use it soon or latter.

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

12 years agotool: fix pipe in nc
Jean Privat [Fri, 3 Feb 2012 21:44:41 +0000 (16:44 -0500)]
tool: fix pipe in nc

The bug was introduced in d03a40b23e420834fe95b07c62a57e328be90b06

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

12 years agoupdate README
Jean Privat [Fri, 3 Feb 2012 16:10:03 +0000 (11:10 -0500)]
update README

12 years agonitdoc: add the option --private
Jean Privat [Wed, 8 Feb 2012 21:15:25 +0000 (16:15 -0500)]
nitdoc: add the option --private

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

12 years agonitdoc: add --no-dot to skip graph generation
Jean Privat [Wed, 8 Feb 2012 20:16:55 +0000 (15:16 -0500)]
nitdoc: add --no-dot to skip graph generation

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

12 years agonitdoc: Handle correctly method with < or > in names
Jean Privat [Wed, 8 Feb 2012 19:53:07 +0000 (14:53 -0500)]
nitdoc: Handle correctly method with < or > in names

Instead of overriding the Symbol::to_s method, create a html_name method
and use it at the right places.

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

12 years agonitdoc: escape html chars in documentation
Jean Privat [Wed, 8 Feb 2012 19:26:08 +0000 (14:26 -0500)]
nitdoc: escape html chars in documentation

This is useful for doc block and title stuff.

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

12 years agonitdoc: simplify filenames
Jean Privat [Wed, 8 Feb 2012 16:20:11 +0000 (11:20 -0500)]
nitdoc: simplify filenames

This avoid some ugly path and html warnings.

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

12 years agonitdoc: add title to links with signature and documentation
Jean Privat [Mon, 6 Feb 2012 19:43:55 +0000 (14:43 -0500)]
nitdoc: add title to links with signature and documentation

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

12 years agonitdoc: clean generated html
Alexandre Terrasa [Tue, 7 Feb 2012 03:50:44 +0000 (22:50 -0500)]
nitdoc: clean generated html

Signed-off-by: Alexandre Terrasa <alexandre@moz-concept.com>

12 years agonitdoc: complete rewrite
Jean Privat [Fri, 3 Feb 2012 21:26:17 +0000 (16:26 -0500)]
nitdoc: complete rewrite

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

12 years agosyntax: try to produce an error message for local property conflict
Jean Privat [Fri, 3 Feb 2012 20:30:49 +0000 (15:30 -0500)]
syntax: try to produce an error message for local property conflict

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

12 years agometamodel: give the burden of value conflict to the MMContext
Jean Privat [Fri, 3 Feb 2012 19:13:10 +0000 (14:13 -0500)]
metamodel: give the burden of value conflict to the MMContext

The idea is that the compiler or the doc can decide how to report the error.

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

12 years agonit: restrict some module visibility
Jean Privat [Wed, 1 Feb 2012 20:52:59 +0000 (15:52 -0500)]
nit: restrict some module visibility

Thanks to the new nitdoc, some unneeded visibility is easier to spot.

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

12 years agosyntax: error on hidden module gives the right module
Jean Privat [Wed, 25 Jan 2012 16:15:11 +0000 (11:15 -0500)]
syntax: error on hidden module gives the right module

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

12 years agosyntax: use attributes names for parameters in implicit inits
Jean Privat [Fri, 20 Jan 2012 01:22:10 +0000 (20:22 -0500)]
syntax: use attributes names for parameters in implicit inits

Use the name of the attributes as the name of the parameters for the
implicit inits.
Also take care of removing the first '_' (old style) or '@' (new style)
used to name attributes.

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

12 years agoMerge branch 'tools' into wip
Jean Privat [Thu, 5 Jan 2012 12:10:21 +0000 (07:10 -0500)]
Merge branch 'tools' into wip

12 years agoMerge zeta.labunix.uqam.ca:prog/nit/zeta-wip into tools
Jean Privat [Thu, 5 Jan 2012 01:40:21 +0000 (20:40 -0500)]
Merge zeta.labunix.uqam.ca:prog/nit/zeta-wip into tools

12 years agolib: remove macro definition _POSIX_C_SOURCE
Jean Privat [Thu, 5 Jan 2012 01:28:20 +0000 (20:28 -0500)]
lib: remove macro definition _POSIX_C_SOURCE

They where initially added to please --pedantic but cause some ugly portability issues.

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

12 years agotools: remove all option to the compiler
Jean Privat [Thu, 5 Jan 2012 01:26:12 +0000 (20:26 -0500)]
tools: remove all option to the compiler

Also use cc instead of gcc.

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

12 years agotools: fix or assume some bashism
Jean Privat [Thu, 5 Jan 2012 01:24:00 +0000 (20:24 -0500)]
tools: fix or assume some bashism

Remove some bashsims in git-gen-version.sh and nc.
Change the #! in showerr.sh to bash.

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

12 years agoparser: drop sed and use perl
Jean Privat [Thu, 5 Jan 2012 01:20:56 +0000 (20:20 -0500)]
parser: drop sed and use perl

sed is too much unportable.

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

12 years agolib: add missing documentation synopsis on some modules
Jean Privat [Wed, 4 Jan 2012 21:41:53 +0000 (16:41 -0500)]
lib: add missing documentation synopsis on some modules

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

12 years agoMerge branch 'fix-vt' into wip
Jean Privat [Fri, 25 Nov 2011 16:59:12 +0000 (11:59 -0500)]
Merge branch 'fix-vt' into wip

12 years agotools: make performs the boostrap in src
Jean Privat [Fri, 25 Nov 2011 16:17:52 +0000 (11:17 -0500)]
tools: make performs the boostrap in src

Since src/nc does the same job that the rule bin/nitc in the Makefile,
it is a good idea to share the same .nit_compile and ccache results.

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

12 years agotest: add new test base_virtual_type_check.nit
Jean Privat [Fri, 25 Nov 2011 14:19:02 +0000 (09:19 -0500)]
test: add new test base_virtual_type_check.nit

This test verify explicit and implicit type checks on virtual types.

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

12 years agoicode: add automatic tests for virtual type parameters in methods
Jean Privat [Fri, 25 Nov 2011 14:17:30 +0000 (09:17 -0500)]
icode: add automatic tests for virtual type parameters in methods

Tests are added by the method generate_empty_iroutine of MMSignature
Not that tests are systematic even in the safe case (call on self).

Some unsafe places remain, like parameters in closure definitions or
in unsafe assignments.

test_variance_params is updated to reflect the fix.

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

12 years agocompile: better types checks on virtual type
Jean Privat [Fri, 25 Nov 2011 15:31:50 +0000 (10:31 -0500)]
compile: better types checks on virtual type

Two new TableElt are added for each global property of a virtual type,
one (TableEltVTClassColor) is used to store the color of the class of
the bound and the other (TableEltVTClassId) is for the identifier.

The C generation of ITypeCheck is therefore updated to use theses when
the static type is a virtual type.

Note that generics is still erased and that type checks on formal type
parameter is blindly (and wrongly) performed on the bound.

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

12 years agoicode: ITypeCheck requires a receiver
Jean Privat [Fri, 25 Nov 2011 15:07:49 +0000 (10:07 -0500)]
icode: ITypeCheck requires a receiver

For complex type checks that involve virtual types or generics,
a receiver is required.

For instance, with T a virtual type and x a variable
   x isa T
is in fact
   x isa self.T

This patch transforms the ITypeCheck from a ICode1 to a ICode2,
where expr1 is the receiver of the type and expr2 is the variable to test.

Clients of ITypeCheck are updated without change of behaviour.
Note that, strangely, during the icode_generation, the register that hold
self is lost, a new attribute is therefore added in A2IContext to store it.

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

12 years agotools: remove debug message in Message:to_color_string
Jean Privat [Mon, 31 Oct 2011 12:57:17 +0000 (08:57 -0400)]
tools: remove debug message in Message:to_color_string

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

12 years agoMerge remote branch 'origin/pu/nitdoc-graph' into wip
Jean Privat [Tue, 18 Oct 2011 13:52:16 +0000 (09:52 -0400)]
Merge remote branch 'origin/pu/nitdoc-graph' into wip

12 years agonitdoc: improve what classes to put in main summary
Jean Privat [Tue, 18 Oct 2011 02:09:48 +0000 (22:09 -0400)]
nitdoc: improve what classes to put in main summary

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

12 years agonitdoc: add summary of modules
Matthieu Auger [Tue, 17 May 2011 17:31:16 +0000 (19:31 +0200)]
nitdoc: add summary of modules

Signed-off-by: Matthieu Auger <matthieu.auger@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

12 years agonitdoc: show the module hierarchy
Matthieu Auger [Tue, 17 May 2011 17:31:16 +0000 (19:31 +0200)]
nitdoc: show the module hierarchy

Signed-off-by: Matthieu Auger <matthieu.auger@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

12 years agonitdoc: do not repeat entries in the index.
Matthieu Auger [Tue, 17 May 2011 17:31:16 +0000 (19:31 +0200)]
nitdoc: do not repeat entries in the index.

Signed-off-by: Matthieu Auger <matthieu.auger@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

12 years agoMerge branch 'pu/qualified-modules' into wip
Jean Privat [Thu, 13 Oct 2011 01:31:20 +0000 (21:31 -0400)]
Merge branch 'pu/qualified-modules' into wip

Conflicts:
src/compiling/compiling_global.nit
src/parser/parser_nodes.nit
src/syntax/mmbuilder.nit
src/parser/parser.nit
tests/sav/test_parser_args1.sav

12 years agoMerge branch 'alexandre/at-various-fixes' into wip
Jean Privat [Thu, 13 Oct 2011 01:06:23 +0000 (21:06 -0400)]
Merge branch 'alexandre/at-various-fixes' into wip

Conflicts:
tests/sav/base_init_linext2_alt2.sav
tests/sav/base_init_linext2_alt4.sav

12 years agoMerge branch 'pu/class_name' into wip
Jean Privat [Thu, 13 Oct 2011 00:24:33 +0000 (20:24 -0400)]
Merge branch 'pu/class_name' into wip

12 years agoMerge branch 'pu/parameter-names' into wip
Jean Privat [Wed, 12 Oct 2011 20:34:13 +0000 (16:34 -0400)]
Merge branch 'pu/parameter-names' into wip

Conflicts:
src/syntax/mmbuilder.nit
tests/sav/base_init_linext2_alt2.sav
tests/sav/base_init_linext2_alt4.sav
tests/sav/base_for_custom_alt3.sav
tests/sav/base_for_custom_alt4.sav
tests/sav/test_parser_args1.sav
tests/sav/test_parser_args2.sav

12 years agomm: moves up declaration of AMethid::name to syntax_base
Alexis Laferrière [Mon, 14 Mar 2011 01:27:46 +0000 (21:27 -0400)]
mm: moves up declaration of AMethid::name to syntax_base

This attribute will be used to generate the extern name
at the syntax level.

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agomm: changes to_s of signatures to include param names and corrects tests
Alexis Laferrière [Wed, 17 Aug 2011 17:13:47 +0000 (13:13 -0400)]
mm: changes to_s of signatures to include param names and corrects tests

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agomm: adds param name to signatures
Alexis Laferrière [Tue, 9 Aug 2011 18:59:24 +0000 (14:59 -0400)]
mm: adds param name to signatures

This extra information can be used in error messages, auto doc
and by the stub genrator of the native interface.

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agomisc: corrects some typos and according tests
Alexis Laferrière [Wed, 17 Aug 2011 17:07:16 +0000 (13:07 -0400)]
misc: corrects some typos and according tests

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agomisc: removes package from keywords in gtk syntax highlighting.
Alexis Laferrière [Tue, 22 Mar 2011 14:21:43 +0000 (10:21 -0400)]
misc: removes package from keywords in gtk syntax highlighting.

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

12 years agotool: remove some gcc warnings in gccx
Jean Privat [Mon, 27 Jun 2011 14:51:37 +0000 (10:51 -0400)]
tool: remove some gcc warnings in gccx

These two warnings seem to appear in gcc 4.6

-Wno-array-bounds: because, in generated code, local variables are stored in
a 1-length tail array.

-Wno-unused-but-set-variable: because unused parameters in Nit lead to
unused but initialized registers

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

12 years agoMerge branch 'better-locate' into wip
Jean Privat [Mon, 27 Jun 2011 14:45:40 +0000 (10:45 -0400)]
Merge branch 'better-locate' into wip

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

12 years agogc: remove unused local variable
Jean Privat [Mon, 27 Jun 2011 13:47:46 +0000 (09:47 -0400)]
gc: remove unused local variable

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

12 years agoparser: factorize goto
Jean Privat [Sat, 25 Jun 2011 00:58:43 +0000 (20:58 -0400)]
parser: factorize goto

Factorize the _goto attribute and constructors of subclasses of
ReduceAction.

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

12 years agoparser: fix and add tests to test_parser.nit
Jean Privat [Sat, 30 Apr 2011 00:44:04 +0000 (20:44 -0400)]
parser: fix and add tests to test_parser.nit

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

12 years agoparser: locate errors with locations in ANode
Jean Privat [Sat, 30 Apr 2011 00:25:01 +0000 (20:25 -0400)]
parser: locate errors with locations in ANode

Locate declarations of modules, classes and properties on their identifier.

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

12 years agosyntax: better message for signature errors
Jean Privat [Fri, 29 Apr 2011 23:54:10 +0000 (19:54 -0400)]
syntax: better message for signature errors

Locate the error on the erroneous parameter or return type.

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

12 years agoparser: display colored lines with error messages
Jean Privat [Fri, 29 Apr 2011 21:40:52 +0000 (17:40 -0400)]
parser: display colored lines with error messages

Lines are located during the lexical analysis then printed on error.
A --no-color option is added to remove the line display.

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

13 years agoparser: new class SourceFile
Jean Privat [Fri, 29 Apr 2011 21:29:33 +0000 (17:29 -0400)]
parser: new class SourceFile

This class is used to feed the lexer and to give a more precise information
to the Location.

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

13 years agolib : Add class name support
Alexandre Terrasa [Fri, 29 Apr 2011 18:26:14 +0000 (14:26 -0400)]
lib : Add class name support

- module kernel : Add output_class_name method to Object that display the object class name in console (debug only)
- module String : Add native_class_name method to Object (refinement) that return the class name in NativeString format
- module String : Add class_name method to Object (refinement) that return the class name in String format using native_class_name

Signed-off-by: Alexandre Terrasa <alexandre@moz-concept.com>

13 years agoMerge branch 'alexamdre/various-fixes' into next
Jean Privat [Mon, 18 Apr 2011 16:28:23 +0000 (12:28 -0400)]
Merge branch 'alexamdre/various-fixes' into next

13 years agosrc: fix "constrctor" typo in error messages
Alexandre Terrasa [Fri, 15 Apr 2011 13:19:41 +0000 (09:19 -0400)]
src: fix "constrctor" typo in error messages

* Replace "constrctor" by "constructor" in error messages
* Change tests to fit replacement

Signed-off-by: Alexandre Terrasa <alexandre@moz-concept.com>
Signed-off-by: Jean Privat <jean@pryen.org>

13 years agosrc & doc: change all remaining occurences of "special" by "super" keyword
Alexandre Terrasa [Thu, 14 Apr 2011 20:45:12 +0000 (16:45 -0400)]
src & doc: change all remaining occurences of "special" by "super" keyword

Signed-off-by: Alexandre Terrasa <alexandre@moz-concept.com>
Signed-off-by: Jean Privat <jean@pryen.org>

13 years agosrc: Add arity check on INative constructor
Alexandre Terrasa [Thu, 14 Apr 2011 21:26:12 +0000 (17:26 -0400)]
src: Add arity check on INative constructor

Signed-off-by: Alexandre Terrasa <alexandre@moz-concept.com>

13 years agosrc: Minor fixes in error messages
Alexandre Terrasa [Thu, 14 Apr 2011 21:02:20 +0000 (17:02 -0400)]
src: Minor fixes in error messages

- Replace "constrctor" by "constructor" in error messages
- Change tests to fit replacement

Signed-off-by: Alexandre Terrasa <alexandre@moz-concept.com>

13 years agosrc & doc: change all remaining occurences of "special" by "super" keyword
Alexandre Terrasa [Thu, 14 Apr 2011 20:45:12 +0000 (16:45 -0400)]
src & doc: change all remaining occurences of "special" by "super" keyword

Signed-off-by: Alexandre Terrasa <alexandre@moz-concept.com>

13 years agoparser: add qualified module names
Jean Privat [Wed, 4 Aug 2010 14:35:27 +0000 (09:35 -0500)]
parser: add qualified module names

modules names are usable in module declaration and importations.
Syntax is the following: '::'? (id '::')* id

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

13 years agocompile: cnames for classes and modules
Jean Privat [Fri, 23 Jul 2010 08:08:41 +0000 (04:08 -0400)]
compile: cnames for classes and modules

Allow the compilation of programs with class name conflicts and submodule name conflicts.

note: fix valgrind script to inlude new name mangling

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

13 years agotools: remove the method import_supers_modules
Jean Privat [Thu, 24 Jun 2010 08:18:06 +0000 (04:18 -0400)]
tools: remove the method import_supers_modules

It is simplier to call tc.get_module and tc.add_module by hand.

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

13 years agoMerge branches 'fix_doc', 'general_for' and 'mmbuilder_fixes_and_tests' into wip
Jean Privat [Fri, 1 Apr 2011 14:05:11 +0000 (10:05 -0400)]
Merge branches 'fix_doc', 'general_for' and 'mmbuilder_fixes_and_tests' into wip

13 years agoexample: add int_list.nit
Jean Privat [Fri, 1 Apr 2011 14:02:46 +0000 (10:02 -0400)]
example: add int_list.nit

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

13 years agodoc: minor corrections on "developpez en Nit"
Alexandre Terrasa [Mon, 28 Mar 2011 18:36:33 +0000 (14:36 -0400)]
doc: minor corrections on "developpez en Nit"

Thanks to Guy Tremblay.

Signed-off-by: Alexandre Terrasa <alexandre@moz-concept.com>
Signed-off-by: Jean Privat <jean@pryen.org>

13 years agodoc: typo and small fixes in nitreference
Jean Privat [Thu, 24 Feb 2011 15:35:54 +0000 (10:35 -0500)]
doc: typo and small fixes in nitreference

Thanks to Guy Tremblay.

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

13 years agosyntax: remove AbsSyntaxVisitor::type_collection
Jean Privat [Fri, 25 Mar 2011 01:41:53 +0000 (21:41 -0400)]
syntax: remove AbsSyntaxVisitor::type_collection

With the new for, Collection is no more a primitive class.

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

13 years agosyntax: enable a generalized for with iterate
Jean Privat [Fri, 25 Mar 2011 00:56:52 +0000 (20:56 -0400)]
syntax: enable a generalized for with iterate

Allow a generalized for syntax

    for i, j, k in e do ...

that is set to be equivalent to

    e.iterate !each i, j, k do ...

Previous constraint on Collection is removed.

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

13 years agotests: add error_type_unk
Jean Privat [Wed, 30 Mar 2011 16:58:59 +0000 (12:58 -0400)]
tests: add error_type_unk

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

13 years agotests: add base_upcast
Jean Privat [Wed, 30 Mar 2011 16:53:55 +0000 (12:53 -0400)]
tests: add base_upcast

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