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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Jean Privat [Mon, 18 Apr 2011 16:28:23 +0000 (12:28 -0400)]
Merge branch 'alexamdre/various-fixes' into next
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
Jean Privat [Fri, 25 Mar 2011 15:02:37 +0000 (11:02 -0400)]
tests: add error_redef.nit and error_redef2.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 25 Mar 2011 14:57:29 +0000 (10:57 -0400)]
tests: new combinatorial tests
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 26 Mar 2011 01:03:15 +0000 (21:03 -0400)]
typing: move redef class check before inheritance
And move accept_class_verifier in AClassdef.
Thus:
1- avoid crashing on class arity missmatch;
2- avoid illegal super-classes in refinement.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 25 Mar 2011 21:01:35 +0000 (17:01 -0400)]
typing: do not crash on inherited invalid signature
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 25 Mar 2011 20:30:14 +0000 (16:30 -0400)]
nitc: add option --stop-on-first-error
This option is used nitc in case of crashing because of a stored but not
displayed error.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 31 Mar 2011 14:49:57 +0000 (10:49 -0400)]
lib: Pattern is an interface
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 18 Feb 2011 22:49:47 +0000 (17:49 -0500)]
version: v0.4.1-git
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 18 Feb 2011 21:16:14 +0000 (16:16 -0500)]
version: v0.4
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 18 Feb 2011 21:14:07 +0000 (16:14 -0500)]
c_src: update for 0.4
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 18 Feb 2011 20:28:43 +0000 (15:28 -0500)]
doc: use lmodern in nitreference
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 18 Feb 2011 20:26:42 +0000 (15:26 -0500)]
doc: forgot to add doc/git-get-version.sh
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 18 Feb 2011 15:48:31 +0000 (10:48 -0500)]
doc: add README
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 17 Feb 2011 18:55:40 +0000 (13:55 -0500)]
Merge branch 'doc' into wip
Jean Privat [Thu, 17 Feb 2011 15:46:23 +0000 (10:46 -0500)]
doc: add a nitversion in generated document
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 17 Feb 2011 15:27:17 +0000 (10:27 -0500)]
doc: Makefile and README
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 17 Feb 2011 15:22:01 +0000 (10:22 -0500)]
misc: update NOTICE
* update dates
* add Alexandre Terrasa
Signed-off-by: Jean Privat <jean@pryen.org>
Alexandre Terrasa [Thu, 17 Feb 2011 15:04:58 +0000 (10:04 -0500)]
doc: french doc "développez en Nit"
Signed-off-by: Alexandre Terrasa <alexandre@moz-concept.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 17 Feb 2011 10:23:49 +0000 (05:23 -0500)]
example: add circular_list.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 16 Feb 2011 18:22:25 +0000 (13:22 -0500)]
example: add clock.nit and clock_mode.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 12 Feb 2011 02:09:43 +0000 (21:09 -0500)]
doc: first real reference for the Nit language
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 14 Feb 2011 20:12:19 +0000 (15:12 -0500)]
bug: undetected uninitialized attr because of generic
in alt1, A[Int]::e is statically typed by Int.
Therefore is should be catched as uninitialized.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 11 Feb 2011 21:14:58 +0000 (16:14 -0500)]
tests: add libs/*.nit to tests
This will avoid the surprise break of a unused library.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 15 Feb 2011 13:53:29 +0000 (08:53 -0500)]
Merge branch 'update_syntax' into next
Jean Privat [Tue, 15 Feb 2011 13:52:54 +0000 (08:52 -0500)]
Merge branch 'various-fixes' into next
Jean Privat [Sat, 12 Feb 2011 02:30:38 +0000 (21:30 -0500)]
parser: remove warning about useless cast
Old c_src was not able to infer that result is not null.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 12 Feb 2011 02:24:07 +0000 (21:24 -0500)]
parser: use break and infinite loops
Because of the new c_src we can use them.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 12 Feb 2011 02:10:32 +0000 (21:10 -0500)]
lib: fix NaiveCollection::length
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 12 Feb 2011 08:11:28 +0000 (03:11 -0500)]
metamodel: rename 'universal' to 'enum'
In the identifiers used in the metamodel and in the error messages.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 9 Feb 2011 18:23:11 +0000 (13:23 -0500)]
misc: update syntax file with module and enum
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 11 Feb 2011 21:11:30 +0000 (16:11 -0500)]
tests: use enum instead of universal
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 9 Feb 2011 16:34:23 +0000 (11:34 -0500)]
metamodel: rename 'universal' to 'enum'
In the identifiers used in the metamodel and in the error messages.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 11 Feb 2011 21:07:30 +0000 (16:07 -0500)]
parser: rename 'enum' to 'universal'
In fact, both are synonymous until 'universal' is completely removed.
Also rename some identifiers.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 9 Feb 2011 15:16:41 +0000 (10:16 -0500)]
lib: change identifier enum to values
The keyword universal will be renamed to enum.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 9 Feb 2011 18:22:49 +0000 (13:22 -0500)]
doc: use 'module' instead of 'package' in comments
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 9 Feb 2011 16:44:44 +0000 (11:44 -0500)]
tests: use module instead of package
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 9 Feb 2011 14:50:20 +0000 (09:50 -0500)]
parser: comment why !nopar is required in some place
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Thu, 3 Feb 2011 18:18:03 +0000 (13:18 -0500)]
tests: more documentation to tests_icode.sh
it was not really clear what it was doing :$
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Tue, 8 Feb 2011 20:44:42 +0000 (15:44 -0500)]
tool: gccx use long version of the redirection
MacOS does not like the short one.
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 29 Jan 2011 03:14:36 +0000 (22:14 -0500)]
c_src: update
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 29 Jan 2011 02:20:37 +0000 (21:20 -0500)]
Merge branch 'll-and-gg-operators' into wip
Jean Privat [Sat, 29 Jan 2011 02:01:54 +0000 (21:01 -0500)]
tests: add << and >> in test_operators.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 28 Jan 2011 21:26:48 +0000 (16:26 -0500)]
parser: add << and >> operators
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 28 Jan 2011 21:17:53 +0000 (16:17 -0500)]
Merge branch 'package2module' into wip
Conflicts:
src/program.nit
src/abstracttool.nit
analysis/inline_get_and_set.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 28 Jan 2011 20:40:48 +0000 (15:40 -0500)]
Merge branch 'beef-up-gccx' into wip
Jean-Sebastien Gelinas [Fri, 28 Jan 2011 20:15:34 +0000 (15:15 -0500)]
misc: gccx does not accept more than 2 Vs (-vv), make sure we don't generate more than two Vs
A better way of handling this would be to make gccx smarter !
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Jean Privat [Fri, 28 Jan 2011 20:14:41 +0000 (15:14 -0500)]
tool: use ccache in gccx, if available
This improves the compile-time of the hot-compilation case.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 25 Jan 2011 02:35:09 +0000 (21:35 -0500)]
Merge branch 'alexis/various-fixes' into wip
Alexis Laferrière [Sat, 25 Sep 2010 13:49:57 +0000 (09:49 -0400)]
compile: Check the validity of module filename before parsing.
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 24 Jan 2011 20:42:44 +0000 (15:42 -0500)]
lib: adds methods to tell if Char is a lower, upper, letter and digit
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 25 Jan 2011 01:07:30 +0000 (20:07 -0500)]
Merge remote branch 'pu/new-style_attributes' into wip
Conflicts:
src/parser/parser_tables.nit
src/parser/table_nit.c
Jean Privat [Tue, 25 Jan 2011 01:03:31 +0000 (20:03 -0500)]
Merge branch 'pu/parser_tables_in_c' into wip
Jean Privat [Mon, 24 Jan 2011 22:01:00 +0000 (17:01 -0500)]
compile: remove hackish optimization of Array::add
This optimization was useful with the parsing tables in Nit.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 24 Jan 2011 21:57:46 +0000 (16:57 -0500)]
parser: update README
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 24 Jan 2011 21:47:40 +0000 (16:47 -0500)]
parser: use C tables in parser
Also remove all remainings of the old parser_tables.nit since it is
no more needed.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 24 Jan 2011 21:31:55 +0000 (16:31 -0500)]
parser: use C tables in lexer
The new module parser/tables contains the tables used during the lexical
analysis.
Therefore, we do not need to have big tables in the Nit code for the lexer.
During the conversion, the handling of states (aka lexical contexts)
is removed since it is not used.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 7 Jan 2011 06:23:10 +0000 (01:23 -0500)]
parser: factorize the lexer big accept switch
Jean Privat [Wed, 5 Jan 2011 08:18:41 +0000 (03:18 -0500)]
syntax: new-style attributes for those without underscore
A "new-style" attribute is not directly accessible.
Therefore it automatically comes with two accessors.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 5 Jan 2011 06:48:49 +0000 (01:48 -0500)]
parser: accept attribute without underscore
This new syntax allow us to write
class A
var x: X
end
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 22 Jan 2011 03:04:59 +0000 (22:04 -0500)]
parser: gnu sed do not like spaces
Fix
7d4ae02b1e07bc065063.
Next time do not forget to check that the parser is really buildable.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Jan 2011 21:27:44 +0000 (16:27 -0500)]
Merge remote branch 'jean-sebastien/various-fixes' into next
Jean-Sebastien Gelinas [Fri, 21 Jan 2011 19:37:25 +0000 (14:37 -0500)]
misc: save backup (with extention .orig) when regenerating parser/lexer
Jean-Sebastien Gelinas [Fri, 7 Jan 2011 21:24:24 +0000 (16:24 -0500)]
tests: add test for logging feature of nitc
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Jean-Sebastien Gelinas [Fri, 7 Jan 2011 21:21:56 +0000 (16:21 -0500)]
tests: add nitc test
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Jean-Sebastien Gelinas [Fri, 7 Jan 2011 08:17:06 +0000 (03:17 -0500)]
logs: add log information to the getter/setter inlining optimization
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Jean-Sebastien Gelinas [Fri, 7 Jan 2011 19:18:11 +0000 (14:18 -0500)]
logs: fix logging feature, was crashing because of missing visibility tests
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Jean-Sebastien Gelinas [Fri, 21 Jan 2011 19:41:29 +0000 (14:41 -0500)]
misc: add lib/*.log and lib/*.dot to .gitignore
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Jean-Sebastien Gelinas [Fri, 21 Jan 2011 19:39:47 +0000 (14:39 -0500)]
misc: merge src/.gitignore to repository root
Jean Privat [Thu, 20 Jan 2011 19:44:49 +0000 (14:44 -0500)]
parser: rename package-related classes and properties
TKwpackage -> TKwmodule
APackagedecl -> AModuledecl
n_packagedecl -> n_moduledecl
n_kwpackage -> n_kwmodule
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 20 Jan 2011 16:57:55 +0000 (11:57 -0500)]
parser: accept the 'module' keyword
However, just make it a synonym for 'package'.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 20 Jan 2011 16:56:43 +0000 (11:56 -0500)]
src: rename 'module' identifiers
'module' will become a keyword.
Therefore the identifiers 'module' must be renamed.
The strategy is the following:
* use 'mod' in local variables and parameters
* Program::module -> Program::main_module
* use mmmodule for other properties (no better ideas)
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 20 Jan 2011 14:18:56 +0000 (09:18 -0500)]
Merge branch 'optimize_c_code' into next
Jean-Sebastien Gelinas [Fri, 7 Jan 2011 05:52:33 +0000 (00:52 -0500)]
compatibility: fix compiler warning about size_t on some system
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Jean Privat [Wed, 5 Jan 2011 03:42:19 +0000 (22:42 -0500)]
compile: LOCATE_* as static const strings
Do not use macros to factorize strings but static const strings.
This way the strings are stored in the RO segment of the binary.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 5 Jan 2011 03:22:00 +0000 (22:22 -0500)]
compile: factorize abort code in the clib
Instead of generating again and again the same insructions for aborts
we have now a function nit_abort in the runtime C library.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 15 Dec 2010 16:04:32 +0000 (17:04 +0100)]
compile: do not generate table and constructor iroutines of abstract/interface classes
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 4 Jan 2011 17:35:37 +0000 (12:35 -0500)]
Merge remote branch 'jean-sebastien/fix-test-icode' into next
Jean-Sebastien Gelinas [Thu, 23 Dec 2010 04:50:56 +0000 (23:50 -0500)]
tests: make sure all tests are ran by default
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Jean-Sebastien Gelinas [Wed, 22 Dec 2010 22:56:15 +0000 (17:56 -0500)]
tests: add missing tests file for icode_ireg
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>