Jean Privat [Thu, 25 Jul 2013 20:13:14 +0000 (16:13 -0400)]
benchs: use NIT_GC_OPTION instead of -DNOBOEHM
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 25 Jul 2013 20:09:04 +0000 (16:09 -0400)]
nitg: add more info (for -v)
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 25 Jul 2013 15:43:15 +0000 (11:43 -0400)]
Merge branch 'triple_quoted_strings'
Jean Privat [Thu, 25 Jul 2013 14:55:46 +0000 (10:55 -0400)]
tests: add test_string_triple.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 25 Jul 2013 14:55:06 +0000 (10:55 -0400)]
nitg: handle triple-quoted strings
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 25 Jul 2013 14:54:48 +0000 (10:54 -0400)]
nitc: handle triple-quoted strings
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 25 Jul 2013 14:54:23 +0000 (10:54 -0400)]
parser: accept triple quoted strings
Jean Privat [Wed, 24 Jul 2013 14:34:51 +0000 (10:34 -0400)]
src: new module parser_util.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 23 Jul 2013 19:59:48 +0000 (15:59 -0400)]
parser: enable Token#text= to override the text of tokens
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 23 Jul 2013 17:35:10 +0000 (13:35 -0400)]
parser: suppr `noinit`
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 23 Jul 2013 16:51:19 +0000 (12:51 -0400)]
Merge branch 'poset_metrics'
Jean Privat [Tue, 23 Jul 2013 16:11:08 +0000 (12:11 -0400)]
nitg-s: avoid `flatten_class_hierarchy` on intern method static call
just do the lookup on the realmainmodule to avoid flatten on various
mmodules. since the method is intern, the result is the same anyway.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 23 Jul 2013 15:59:40 +0000 (11:59 -0400)]
metrics: remove useless `all` variable local
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 23 Jul 2013 15:58:20 +0000 (11:58 -0400)]
metrics: add poset_metrics
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 23 Jul 2013 15:41:55 +0000 (11:41 -0400)]
metrics: add POSet#print_metrics
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 23 Jul 2013 15:33:30 +0000 (11:33 -0400)]
metrics: add Counter#print_summary
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 23 Jul 2013 15:09:53 +0000 (11:09 -0400)]
metrics: make Counter a genuine Map
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 23 Jul 2013 15:01:13 +0000 (11:01 -0400)]
metrics: move counter to its own module
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 20 Jul 2013 03:27:04 +0000 (23:27 -0400)]
tests: really test nitmetrics.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 20 Jul 2013 02:53:00 +0000 (22:53 -0400)]
nitmetrics: implements metrics as global phases
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Jul 2013 20:34:42 +0000 (16:34 -0400)]
phase: framework for global phases
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Jul 2013 19:45:05 +0000 (15:45 -0400)]
modelize_class: fix doc
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Jul 2013 16:24:55 +0000 (12:24 -0400)]
ast: factorize `n_string` to `AStringFormExpr`
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 20 Jul 2013 02:17:03 +0000 (22:17 -0400)]
niti: add some Float extern methods
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 20 Jul 2013 01:51:40 +0000 (21:51 -0400)]
lib: implements `Float::to_precision` in a non native way
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 20 Jul 2013 03:36:56 +0000 (23:36 -0400)]
nitg: executables not named .bin now
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Jul 2013 16:15:08 +0000 (12:15 -0400)]
Merge branch 'switch_default'
Jean Privat [Fri, 19 Jul 2013 15:45:30 +0000 (11:45 -0400)]
tools: use nitg to compile most tools
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Jul 2013 15:00:44 +0000 (11:00 -0400)]
nitg: --separate is now the default option
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Jul 2013 14:56:27 +0000 (10:56 -0400)]
nitg: add option --global
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Jul 2013 14:58:01 +0000 (10:58 -0400)]
Merge branch 'phases'
Jean Privat [Fri, 19 Jul 2013 14:02:43 +0000 (10:02 -0400)]
src: extract modelize_class.nit from modelbuiler.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Jul 2013 13:35:02 +0000 (09:35 -0400)]
src: extract modelize_property.nit from modelbuiler.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Jul 2013 13:21:56 +0000 (09:21 -0400)]
modelbuilder: remove `parse_and_build` and `build_all_classes`
Just rely on phases to perform the work.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Jul 2013 02:35:00 +0000 (22:35 -0400)]
phases: add example div_by_zero.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Jul 2013 02:59:36 +0000 (22:59 -0400)]
modelbuilder: use phases to build the model
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Jul 2013 02:58:32 +0000 (22:58 -0400)]
src: remove useless exprbuilder.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Jul 2013 02:58:02 +0000 (22:58 -0400)]
src: add phase.nit & frontend.nit
Also convert all phases of exprbuilder.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Jul 2013 02:43:36 +0000 (22:43 -0400)]
modelbuilder: ToolContext knows the modelbuilder
This is a step to downgrade modelbuilder in favor of toolcontext as
the main over-lord object.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 18 Jul 2013 17:39:28 +0000 (13:39 -0400)]
modelbuilder: `build_classes` do not call `build_properties`
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 18 Jul 2013 17:38:48 +0000 (13:38 -0400)]
modelbuilder: split extract `parse` from `parse_and_build`
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 19 Jul 2013 02:15:59 +0000 (22:15 -0400)]
modelbuilder: do not resolve virtual types to early
virtual type are inherited thus require that the hierarchy is computed.
Thus, for formal bounds and super types, we must not try to look for
virtual types.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 18 Jul 2013 14:35:35 +0000 (10:35 -0400)]
poset: to_dot also draw isolated nodes
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 18 Jul 2013 08:47:42 +0000 (04:47 -0400)]
parser: specialize error tokens
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 18 Jul 2013 01:13:04 +0000 (21:13 -0400)]
parser: can parse program from strings
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 17 Jul 2013 17:27:15 +0000 (13:27 -0400)]
tests: add base_virtual_type_variance_int.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 17 Jul 2013 17:23:26 +0000 (13:23 -0400)]
tests: add base_gen_variance_int.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 17 Jul 2013 17:18:29 +0000 (13:18 -0400)]
tests: add base_gen_variance3.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 17 Jul 2013 17:12:27 +0000 (13:12 -0400)]
tests: add base_collection.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 17 Jul 2013 14:57:54 +0000 (10:57 -0400)]
tests: add base_covar_int.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 17 Jul 2013 14:51:52 +0000 (10:51 -0400)]
new bug: nitg do not perform covariance cast because of type adaptation
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 15 Jul 2013 18:22:54 +0000 (14:22 -0400)]
Merge branch 'benches'
Jean Privat [Wed, 5 Jun 2013 03:15:59 +0000 (23:15 -0400)]
benchs: add pep8analisis bench program
Signed-off-by: Jean Privat <jean@pryen.org>
Alexandre Terrasa [Thu, 30 May 2013 19:04:21 +0000 (15:04 -0400)]
nitg-s: Desactivated BM and PH property layouts
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Mon, 11 Mar 2013 21:41:19 +0000 (17:41 -0400)]
layout_builders: Added comments & documentation
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Mon, 11 Mar 2013 21:29:51 +0000 (17:29 -0400)]
layout_builders: Removed useless property layout (use std Layout instead)
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Mon, 11 Mar 2013 21:23:49 +0000 (17:23 -0400)]
nitg-s/u: Renamed retieve_live_partial_types in retrieve_partial_types
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Thu, 30 May 2013 18:58:31 +0000 (14:58 -0400)]
layout_builders: Added perfect hashing for mproperties
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Mon, 27 May 2013 16:56:31 +0000 (12:56 -0400)]
benchs: no not bench --phmod-typing
Jean Privat [Mon, 27 May 2013 16:56:08 +0000 (12:56 -0400)]
benchs: use nitmetrics instead of nitstats
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 26 Apr 2013 03:01:22 +0000 (23:01 -0400)]
benchs/lang: increase timout to 5min
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 26 Apr 2013 03:01:02 +0000 (23:01 -0400)]
benchs/lang: reactivate ugly loop
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 26 Apr 2013 02:57:07 +0000 (22:57 -0400)]
benchs/lang: factorize language functions
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 23 Apr 2013 17:12:20 +0000 (13:12 -0400)]
bench/lang: add covar/depthnot and fts_nesting
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 18 Apr 2013 19:22:44 +0000 (15:22 -0400)]
bench/lang: force covariance in scala&csharp
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 18 Apr 2013 19:20:08 +0000 (15:20 -0400)]
bench/lang: add bench_base
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 18 Apr 2013 12:31:47 +0000 (08:31 -0400)]
bench/lang: simplify signature of the test function
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 13 Apr 2013 00:46:10 +0000 (20:46 -0400)]
bench/lang: less tests for bench_typetest_depth
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 12 Apr 2013 14:13:35 +0000 (10:13 -0400)]
bench/lang: improve bench_typetest_depth
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 12 Apr 2013 14:12:52 +0000 (10:12 -0400)]
bench/lang: add nitg-s-*typing
Jean Privat [Fri, 12 Apr 2013 14:12:16 +0000 (10:12 -0400)]
bench/lang: add gcj
Jean Privat [Fri, 12 Apr 2013 14:12:06 +0000 (10:12 -0400)]
benchs/lang: add timeout
Alexandre Terrasa [Mon, 15 Jul 2013 18:17:45 +0000 (14:17 -0400)]
benches: moved bench in its own directory at project root
* bench_plot provides plot facilities
* bench_engines provides nit* engines benchmarks
* bench_languages provides language comparison on generic subtyping test performances
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Thu, 11 Jul 2013 08:21:45 +0000 (10:21 +0200)]
Merge remote-tracking branch 'alexandre/libhtml'
Jean Privat [Thu, 11 Jul 2013 08:21:39 +0000 (10:21 +0200)]
tests: fix base_virtual_type3 for new model
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 10 Jul 2013 22:11:23 +0000 (00:11 +0200)]
Merge branch 'nitg-s'
Jean Privat [Tue, 9 Jul 2013 22:30:09 +0000 (00:30 +0200)]
test_parser: do not crash on syntax error
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 5 Jul 2013 06:42:43 +0000 (08:42 +0200)]
poset: remove attribute `nodes`, use `elements.keys` instead
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 5 Jul 2013 04:52:21 +0000 (06:52 +0200)]
poset: move the transitions in the nodes
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 4 Jul 2013 09:41:23 +0000 (11:41 +0200)]
nitg: move the GC stuff in a runtime C libray `gc_chooser`
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 10 Jul 2013 13:57:56 +0000 (15:57 +0200)]
Merge remote-tracking branch 'lucas/strings-fix'
Jean Privat [Thu, 4 Jul 2013 09:39:07 +0000 (11:39 +0200)]
nitg: add the possibility to have runtime library written in C
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 4 Jul 2013 09:35:38 +0000 (11:35 +0200)]
nitg: add the possibility to have specific CFLAGS for extern C bodies
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 3 Jul 2013 10:37:55 +0000 (12:37 +0200)]
nitg: add --cc-paths & cc_paths
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 3 Jul 2013 04:13:43 +0000 (06:13 +0200)]
nitg-s: cache *RuntimeFunction in the MMethodDef
Also does not instantiate them directly
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 3 Jul 2013 03:58:50 +0000 (05:58 +0200)]
nitg-s: VIRTUAL_ method just call the non-virtual one
No need to compile the same method twice.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 3 Jul 2013 03:57:23 +0000 (05:57 +0200)]
nitg-s: fix method comment on 'self' parameter
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 1 Jul 2013 10:09:31 +0000 (12:09 +0200)]
Merge branch 'sepcomp'
Jean Privat [Fri, 21 Jun 2013 09:03:10 +0000 (11:03 +0200)]
nitg: use`*_declaration` to include extern #incudes once
And only in files that request them.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Jun 2013 08:42:16 +0000 (10:42 +0200)]
nitg: new `provide_declaration` and `require_declaration`
They allows a more separated C compilation since C-compiled modules only
depends on what they use. Therefore modifying unrelated thing in
super-modules should not triggers a new C-compilation of client modules.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Jun 2013 05:45:19 +0000 (07:45 +0200)]
nitg: name of the header file is specific for each engine
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Jun 2013 05:43:23 +0000 (07:43 +0200)]
nitg: the header writer is a full-declaration header file
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Jun 2013 05:38:37 +0000 (07:38 +0200)]
nitg: global compiler do not write definition in the header
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Jun 2013 05:37:12 +0000 (07:37 +0200)]
nitg: separate compiler writes class-related colors in the *.class.c files
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 1 Jul 2013 10:07:00 +0000 (12:07 +0200)]
nitg: write_and_make skips empty writers
Signed-off-by: Jean Privat <jean@pryen.org>
Lucas Bajolet [Mon, 10 Jun 2013 16:19:20 +0000 (12:19 -0400)]
stdlib : AbstractString/String, Added trim function and unit test
Signed-off-by: Lucas Bajolet <lucas.bajolet@hotmail.com>
Alexandre Terrasa [Sat, 22 Jun 2013 03:14:42 +0000 (23:14 -0400)]
lib: added 'slice' method to List
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Alexandre Terrasa [Sat, 22 Jun 2013 02:58:48 +0000 (22:58 -0400)]
lib: added init.from in array and hashset
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Fri, 14 Jun 2013 23:23:24 +0000 (01:23 +0200)]
nitg-s&e: remove many structs and some casts
In separated compilation, the module knows that a given class or
type will exist but the associated C struct cannot contains some global
information like a size of a table.
Thus, use abstract structs to statically type those.
The specific structs then become useless and can be removed.
Moreover, some C casts become irrelevant.
The commit also manage NativeArray instances in a specific way
in `compile_class_to_c`.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 14 Jun 2013 22:16:17 +0000 (00:16 +0200)]
nitg: move add_extern to the visitor
So add_extern could be made contextual.
Signed-off-by: Jean Privat <jean@pryen.org>