nit.git
11 years agomodelbuilder: check redef signature in getter/setter
Jean Privat [Sat, 11 Aug 2012 20:23:21 +0000 (16:23 -0400)]
modelbuilder: check redef signature in getter/setter

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

11 years agommbuilder: reject covariant definition of attributes
Jean Privat [Tue, 7 Aug 2012 23:12:25 +0000 (19:12 -0400)]
mmbuilder: reject covariant definition of attributes

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

11 years agoMerge branch 'nonitc_ni' into master
Jean Privat [Sun, 12 Aug 2012 02:19:39 +0000 (22:19 -0400)]
Merge branch 'nonitc_ni' into master

11 years agonitg: add clean rule in generated Makefile
Jean Privat [Sat, 11 Aug 2012 03:43:46 +0000 (23:43 -0400)]
nitg: add clean rule in generated Makefile

It is intended to by only used by developers of nitg.

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

11 years agonitg: separately compile extern files
Jean Privat [Sat, 11 Aug 2012 03:37:17 +0000 (23:37 -0400)]
nitg: separately compile extern files

they are compiled in .nit_compile/ as `xxx.num.o`.
eg.

    .nit_compile/hello_world.2.o: lib/standard/file_nit.c
         $(CC) $(CFLAGS) -D NONITCNI -c -o .nit_compile/hello_world.2.o lib/standard/file_nit.c

it is better than compiling them during the link.

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

11 years agoni: use macro NONITCNI to disable nitni in extern files
Jean Privat [Sat, 11 Aug 2012 03:33:57 +0000 (23:33 -0400)]
ni: use macro NONITCNI to disable nitni in extern files

nitg uses cc with -D NONITCNI thus can compile those .h/.c files
without breaking.

NONITCNI also means that nitg no more relies on ._nitni files generated
by nitc.
Thus nitg also drops -I in cc.

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

11 years agoMerge branch 'optim_nitg'
Jean Privat [Fri, 10 Aug 2012 18:06:42 +0000 (14:06 -0400)]
Merge  branch 'optim_nitg'

11 years agoMerge branch 'optim_niti'
Jean Privat [Fri, 10 Aug 2012 18:00:05 +0000 (14:00 -0400)]
Merge branch 'optim_niti'

11 years agoniti: add NaiveInterpreter#collect_attr_propdef
Jean Privat [Fri, 10 Aug 2012 03:49:28 +0000 (23:49 -0400)]
niti: add NaiveInterpreter#collect_attr_propdef

used to factorise and cache attr initialization&check

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

11 years agoniti: add class MutableInstance
Jean Privat [Fri, 10 Aug 2012 02:58:35 +0000 (22:58 -0400)]
niti: add class MutableInstance

Instance become abstract

The point of this patch is to avoid the attributes hashmap
in primitive classes.

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

11 years agoniti: check signature arity on send
Jean Privat [Tue, 31 Jul 2012 04:23:35 +0000 (00:23 -0400)]
niti: check signature arity on send

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

11 years agoniti: implements ADeferredMethPropdef#call
Jean Privat [Tue, 31 Jul 2012 02:38:38 +0000 (22:38 -0400)]
niti: implements ADeferredMethPropdef#call

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

11 years agotyping: add ASendExpr#raw_arguments
Jean Privat [Thu, 19 Jul 2012 05:14:24 +0000 (01:14 -0400)]
typing: add ASendExpr#raw_arguments

make compute_raw_arguments private
and computes raw_arguments after its call

this improve previous users of compute_raw_arguments (niti ant nitg) that
may need to get args more than once

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

11 years agoniti: cache the frame in a local variable
Jean Privat [Thu, 19 Jul 2012 01:46:34 +0000 (21:46 -0400)]
niti: cache the frame in a local variable

expr and stmt are the most called methods.
Storing a result of a non trivial call makes sense.

Figures:

$ time ./nit test_parser.nit test_parser.nit > /dev/null
Before: user 0m8.221s
After: user 0m7.924s

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

11 years agorun_bench: add "nitc --global" to bench_engines()
Jean Privat [Tue, 7 Aug 2012 21:16:27 +0000 (17:16 -0400)]
run_bench: add "nitc --global" to bench_engines()

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

11 years agorun_bench: use 'local' vor local variables
Jean Privat [Tue, 7 Aug 2012 21:15:56 +0000 (17:15 -0400)]
run_bench: use 'local' vor local variables

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

11 years agorun_bench: no not force bohem on nitc for bench_engines()
Jean Privat [Tue, 7 Aug 2012 20:57:11 +0000 (16:57 -0400)]
run_bench: no not force bohem on nitc for bench_engines()

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

11 years agorun_bench.sh: new function bench_compilation_time
Jean Privat [Tue, 7 Aug 2012 20:46:33 +0000 (16:46 -0400)]
run_bench.sh: new function bench_compilation_time

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

11 years agonitg: activate bohem since executables are efficient enough
Jean Privat [Tue, 7 Aug 2012 20:46:17 +0000 (16:46 -0400)]
nitg: activate bohem since executables are efficient enough

Lasts benchs shows that nitc with nitgc and nitg with bohem can compete
(with often a slight advance for nitg)

$ ./nitg nitg.nit --no-cc
34.12

$ ./nitg.bin nitg.nit --no-cc
27.71

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

11 years agonitg: do not expose EscapeMark#object_id in generated C
Jean Privat [Tue, 7 Aug 2012 19:49:55 +0000 (15:49 -0400)]
nitg: do not expose EscapeMark#object_id in generated C

This breaks ccache recompilations

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

11 years agonitg: do not expose RuntimeVariable#object_id in generated C
Jean Privat [Tue, 7 Aug 2012 19:49:12 +0000 (15:49 -0400)]
nitg: do not expose RuntimeVariable#object_id in generated C

This breaks ccache recompilations

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

11 years agonitg: skip empty sub-strings in superstrings
Jean Privat [Tue, 7 Aug 2012 17:50:31 +0000 (13:50 -0400)]
nitg: skip empty sub-strings in superstrings

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

11 years agovalgrind.sh: use malloc instead of large
Jean Privat [Mon, 6 Aug 2012 23:36:50 +0000 (19:36 -0400)]
valgrind.sh: use malloc instead of large

We do not want unpredictable GC invocation when the large buffer is reached.

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

11 years agonitg: improve RuntimeVariable#inspect
Jean Privat [Mon, 6 Aug 2012 21:36:19 +0000 (17:36 -0400)]
nitg: improve RuntimeVariable#inspect

and use it is all generated comments

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

11 years agonitg: self type in implicit init is exact
Jean Privat [Mon, 6 Aug 2012 21:08:57 +0000 (17:08 -0400)]
nitg: self type in implicit init is exact

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

11 years agonew script run_bench.sh
Jean Privat [Mon, 6 Aug 2012 20:50:59 +0000 (16:50 -0400)]
new script run_bench.sh

This script helps to run benchmarks against the nit engines.

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

11 years agonitg: because of customization, self is exact
Jean Privat [Sat, 28 Jul 2012 23:30:57 +0000 (19:30 -0400)]
nitg: because of customization, self is exact

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

11 years agonitg: "onces" literal strings
Jean Privat [Fri, 27 Jul 2012 22:16:50 +0000 (18:16 -0400)]
nitg: "onces" literal strings

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

11 years agonitg: implements ADeferredMethPropdef#compile_to_c
Jean Privat [Sat, 21 Jul 2012 17:35:15 +0000 (13:35 -0400)]
nitg: implements ADeferredMethPropdef#compile_to_c

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

11 years agonitg: add RuntimeVariable#is_exact
Jean Privat [Sun, 24 Jun 2012 21:02:05 +0000 (17:02 -0400)]
nitg: add RuntimeVariable#is_exact

Used to indicate that the dynamic type of some variables is known.
Easy cases are the direct result of instantiations.

Not that collect_types_cache can only be used fo non exact types

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

11 years agonitg: add option --hardening
Jean Privat [Sun, 24 Jun 2012 20:18:13 +0000 (16:18 -0400)]
nitg: add option --hardening

without hardening, last element of a switch is made default.
Note that single-case switch is optimized by the c compiler.

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

11 years agoMerge remote-tracking branch 'pratchett/tests'
Jean Privat [Mon, 6 Aug 2012 20:39:30 +0000 (16:39 -0400)]
Merge remote-tracking branch 'pratchett/tests'

11 years agonitg&niti: add a "Runtime error" prefix like nitc
Jean Privat [Thu, 2 Aug 2012 18:32:33 +0000 (14:32 -0400)]
nitg&niti: add a "Runtime error" prefix like nitc

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

11 years agoclib: prefix runtime errors with "Runtime error"
Jean Privat [Thu, 2 Aug 2012 18:16:31 +0000 (14:16 -0400)]
clib: prefix runtime errors with "Runtime error"

and update tests

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

11 years agotests: add niti and nitg Makefile rules
Jean Privat [Thu, 2 Aug 2012 17:47:28 +0000 (13:47 -0400)]
tests: add niti and nitg Makefile rules

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

11 years agotests: add option --noskip
Jean Privat [Thu, 2 Aug 2012 17:44:57 +0000 (13:44 -0400)]
tests: add option --noskip

with --noskip, the .skip files are ignored

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

11 years agotests: allow skipping tests based on engines
Jean Privat [Thu, 2 Aug 2012 17:39:11 +0000 (13:39 -0400)]
tests: allow skipping tests based on engines

some tests/alternatives/inputs are automatically skipped by the engines
listed in sav/$f.skip

skipping is set because some tests takes to much time (or hang) on
some engines

also register some tests to skip.

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

11 years agotests: differentiate the engine and the binary name
Jean Privat [Thu, 2 Aug 2012 17:27:59 +0000 (13:27 -0400)]
tests: differentiate the engine and the binary name

'niti' is the engine name
'nit' is the binary name

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

11 years agotests: re-distinquish compilation errors.
Jean Privat [Thu, 2 Aug 2012 16:40:31 +0000 (12:40 -0400)]
tests: re-distinquish compilation errors.

was removed to allow using niti in a quick-and-dirty way.

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

11 years agotests: specific execution if $engine==nit
Jean Privat [Thu, 2 Aug 2012 15:55:41 +0000 (11:55 -0400)]
tests: specific execution if $engine==nit

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

11 years agotests: add option --engine
Jean Privat [Thu, 2 Aug 2012 15:54:54 +0000 (11:54 -0400)]
tests: add option --engine

--engine allow to use a specific execution engine (nit, nitg, nitc, etc)

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

11 years agotests: add --tap
Jean Privat [Thu, 2 Aug 2012 15:18:15 +0000 (11:18 -0400)]
tests: add --tap

./tests.sh --tap produce TAP output.

see http://testanything.org for details

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

11 years agotests: recognize "NOT YET IMPLEMENTED"
Jean Privat [Thu, 2 Aug 2012 03:10:16 +0000 (23:10 -0400)]
tests: recognize "NOT YET IMPLEMENTED"

Tests that fails but include the string "NOT YET IMPLEMENTED"
are considered to be expected fails.

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

11 years agomodel, niti, nitf: unify NOT YET IMPLEMENTED
Jean Privat [Thu, 2 Aug 2012 03:09:21 +0000 (23:09 -0400)]
model, niti, nitf: unify NOT YET IMPLEMENTED

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

11 years agotests: update sav to remove soso
Jean Privat [Thu, 2 Aug 2012 02:34:56 +0000 (22:34 -0400)]
tests: update sav to remove soso

the alterner transition is now complete.

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

11 years agotests: tests_icode also use alterner.pl
Jean Privat [Fri, 3 Aug 2012 02:24:06 +0000 (22:24 -0400)]
tests: tests_icode also use alterner.pl

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

11 years agotests: use alterner.pl
Jean Privat [Thu, 2 Aug 2012 02:04:14 +0000 (22:04 -0400)]
tests: use alterner.pl

alternative are generated with alterner.pl
functions make_alts0() and make_alts() are removed

see https://github.com/privat/alterner

NOTE: this will make a lot a tests going soso because of some location changes

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

11 years agotests: replace #!alt by #alt
Jean Privat [Thu, 2 Aug 2012 01:43:47 +0000 (21:43 -0400)]
tests: replace #!alt by #alt

mass replace (done by sed).
no additional semantic.

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

11 years agotests: recognize a nonstart #alt as a #!alt
Jean Privat [Thu, 2 Aug 2012 01:39:04 +0000 (21:39 -0400)]
tests: recognize a nonstart #alt as a #!alt

this will helps to transition to alterner.pl

#alt1# in front will be activated on the alternative
something followed by #alt1# will be killed

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

11 years agotests: add fail soso
Jean Privat [Thu, 2 Aug 2012 02:18:41 +0000 (22:18 -0400)]
tests: add fail soso

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

11 years agommbuilder: add missing "error" in an error message
Jean Privat [Thu, 2 Aug 2012 02:11:50 +0000 (22:11 -0400)]
mmbuilder: add missing "error" in an error message

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

11 years agonitg: inline automatic free init
Jean Privat [Sun, 24 Jun 2012 16:14:32 +0000 (12:14 -0400)]
nitg: inline automatic free init

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

11 years agonitg: inline empty bodies
Jean Privat [Sun, 24 Jun 2012 16:14:08 +0000 (12:14 -0400)]
nitg: inline empty bodies

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

11 years agonitg: readapt native == and != to force unboxing
Jean Privat [Tue, 19 Jun 2012 21:22:27 +0000 (17:22 -0400)]
nitg: readapt native == and != to force unboxing

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

11 years agonitg: inline without adaptation
Jean Privat [Sun, 15 Jul 2012 21:27:12 +0000 (17:27 -0400)]
nitg: inline without adaptation

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

11 years agonitg: inline Object::== and Object::!=
Jean Privat [Tue, 19 Jun 2012 21:17:57 +0000 (17:17 -0400)]
nitg: inline Object::== and Object::!=

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

11 years agonitg: add inspect for variable
Jean Privat [Tue, 19 Jun 2012 21:17:25 +0000 (17:17 -0400)]
nitg: add inspect for variable

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

11 years agonitg: frame receiver is a type (not a variable)
Jean Privat [Tue, 19 Jun 2012 21:02:06 +0000 (17:02 -0400)]
nitg: frame receiver is a type (not a variable)

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

11 years agonitg: extract adapt_signature
Jean Privat [Sun, 15 Jul 2012 21:15:25 +0000 (17:15 -0400)]
nitg: extract adapt_signature

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

11 years agoMerge remote-tracking branch 'origin/pu/closure'
Jean Privat [Sun, 15 Jul 2012 19:22:59 +0000 (15:22 -0400)]
Merge remote-tracking branch 'origin/pu/closure'

11 years agoniti: add closures
Jean Privat [Tue, 3 Jul 2012 17:25:51 +0000 (13:25 -0400)]
niti: add closures

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

11 years agoniti: expressions are escapable
Jean Privat [Tue, 3 Jul 2012 17:24:43 +0000 (13:24 -0400)]
niti: expressions are escapable

Evaluating an expression return null if there is an escape.
Each caller should then accept or propagate the escaping.

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

11 years agoniti: returnmark indicates a Frame
Jean Privat [Tue, 3 Jul 2012 16:51:31 +0000 (12:51 -0400)]
niti: returnmark indicates a Frame

This allow to escape more than one method.
It is necessary for closures.

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

11 years agomodel: add basic closures
Jean Privat [Tue, 3 Jul 2012 16:46:53 +0000 (12:46 -0400)]
model: add basic closures

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

11 years agomodel: add for on maps
Jean Privat [Thu, 24 May 2012 14:02:16 +0000 (10:02 -0400)]
model: add for on maps

workaround implementation waiting for closures.

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

11 years agonit: add native NativeString::system
Jean Privat [Thu, 24 May 2012 13:37:35 +0000 (09:37 -0400)]
nit: add native NativeString::system

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

11 years agonit: add intern Int::rand
Jean Privat [Thu, 24 May 2012 13:36:57 +0000 (09:36 -0400)]
nit: add intern Int::rand

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

11 years agoMerge branch 'parser' into wip
Jean Privat [Sun, 24 Jun 2012 20:50:28 +0000 (16:50 -0400)]
Merge branch 'parser' into wip

11 years agoparser: tokens are not constructed with their texts
Jean Privat [Sun, 24 Jun 2012 18:24:03 +0000 (14:24 -0400)]
parser: tokens are not constructed with their texts

text is made lazy and computed by Location.

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

11 years agoparser: add Location::text
Jean Privat [Sun, 24 Jun 2012 18:22:09 +0000 (14:22 -0400)]
parser: add Location::text

11 years agoparser: guard loops in ComputeProdLocationVisitor
Jean Privat [Sun, 24 Jun 2012 17:15:22 +0000 (13:15 -0400)]
parser: guard loops in ComputeProdLocationVisitor

Most of the time, _need arrays are empty.
So, add 'if' to do the work only if there is work to do.

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

11 years agoparser: get the state number only once per state
Jean Privat [Sun, 24 Jun 2012 17:11:19 +0000 (13:11 -0400)]
parser: get the state number only once per state

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

11 years agonitg: autoadapt can combine nullable
Jean Privat [Tue, 19 Jun 2012 20:52:49 +0000 (16:52 -0400)]
nitg: autoadapt can combine nullable

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

11 years agoMerge branch 'boehm' into wip
Jean Privat [Mon, 18 Jun 2012 21:30:09 +0000 (17:30 -0400)]
Merge branch 'boehm' into wip

11 years agogc: gccx enable boehm by default
Jean Privat [Fri, 15 Jun 2012 17:18:22 +0000 (13:18 -0400)]
gc: gccx enable boehm by default

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

11 years agogc: default is always nitgc
Jean Privat [Fri, 15 Jun 2012 17:15:57 +0000 (13:15 -0400)]
gc: default is always nitgc

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

11 years agogc: in gccx, -lgc must appears after objects
Jean Privat [Fri, 15 Jun 2012 17:17:10 +0000 (13:17 -0400)]
gc: in gccx, -lgc must appears after objects

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

11 years agoMerge branch 'alexandre/typo-in-nit-reference' into wip
Jean Privat [Fri, 15 Jun 2012 14:28:44 +0000 (10:28 -0400)]
Merge branch 'alexandre/typo-in-nit-reference' into wip

11 years agodoc: Typo in Nit Reference
Alexandre Terrasa [Wed, 13 Jun 2012 14:14:16 +0000 (10:14 -0400)]
doc: Typo in Nit Reference

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

11 years agoMerge branch 'alexis/ni-fixes' into wip
Jean Privat [Fri, 8 Jun 2012 00:30:23 +0000 (20:30 -0400)]
Merge branch 'alexis/ni-fixes' into wip

11 years agonits: execute only if module is really hybrid
Alexis Laferrière [Sat, 24 Mar 2012 23:12:05 +0000 (19:12 -0400)]
nits: execute only if module is really hybrid

It can now be called on a set of modules without creating useless files.

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

11 years agonits: cleans up the generated stub implementation function for easier diffs
Alexis Laferrière [Wed, 6 Jun 2012 04:01:28 +0000 (00:01 -0400)]
nits: cleans up the generated stub implementation function for easier diffs

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

11 years agonits: corrects the #endif position to the bottom of the generated header
Alexis Laferrière [Wed, 6 Jun 2012 03:58:23 +0000 (23:58 -0400)]
nits: corrects the #endif position to the bottom of the generated header

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

11 years agotests: adds test for ni optimizations
Alexis Laferrière [Wed, 6 Jun 2012 21:48:38 +0000 (17:48 -0400)]
tests: adds test for ni optimizations

Makes sure even the optimized extern methods are valid.
In this test borth methods are optimized but still uses what
is legal.

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

11 years agoni: cleans up code repetition in native interface and improves performance
Alexis Laferrière [Fri, 27 Apr 2012 17:27:00 +0000 (13:27 -0400)]
ni: cleans up code repetition in native interface and improves performance

The code clean up uses trasitionnal variables (NiVariable) to simplyfy the
concept of variable transitionning from C to Nit and Nit to C. It allows
code factorisation and cleaner algorithms.

An extern method without explicit callback and not returning a complexe Nit
object cannot legally use any references. Knowing this, we do not generate
full local references for the arguments of such methods. This avoids to call
malloc and free on unused data structure and greatly reduces overhead for
simple extern methods.

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

11 years agomodel: new class MParameter
Jean Privat [Thu, 10 May 2012 14:47:11 +0000 (10:47 -0400)]
model: new class MParameter

replace the attributes MSignature::parameter_names and
MSignature::parameter_mtypes by a single MSignature::mparameters

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

11 years agomodel: remove old Closure stubs
Jean Privat [Thu, 10 May 2012 14:34:02 +0000 (10:34 -0400)]
model: remove old Closure stubs

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

11 years agomodelbuilder: new method ASignature::visit_signature
Jean Privat [Thu, 10 May 2012 11:02:21 +0000 (07:02 -0400)]
modelbuilder: new method ASignature::visit_signature

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

11 years agoMerge branch 'clean-c' into wip
Jean Privat [Wed, 30 May 2012 16:39:41 +0000 (12:39 -0400)]
Merge branch 'clean-c' into wip

11 years agoMerge branch 'syntastic' into wip
Jean Privat [Wed, 30 May 2012 16:39:32 +0000 (12:39 -0400)]
Merge branch 'syntastic' into wip

11 years agomisc: removes debug output from syntastic Nit syntax checker script
Alexis Laferrière [Wed, 30 May 2012 13:42:02 +0000 (09:42 -0400)]
misc: removes debug output from syntastic Nit syntax checker script

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

11 years agocompile: do not use true and false C constants.
Jean Privat [Wed, 30 May 2012 11:26:31 +0000 (07:26 -0400)]
compile: do not use true and false C constants.

It simplifies generated code and will allow latter to drop the bool type
in nit_common.h

Defining "bool", "true", and "false" can cause collision with some C
libraries (and is not compatible with C++ for those that care).

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

11 years agolib: do not mix declaration and code in external C code
Jean Privat [Wed, 30 May 2012 11:20:26 +0000 (07:20 -0400)]
lib: do not mix declaration and code in external C code

It is refused by pedantic C90 C compilers.

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

11 years agocompile: no not declare static stings in the header
Jean Privat [Wed, 30 May 2012 09:47:36 +0000 (05:47 -0400)]
compile: no not declare static stings in the header

Such declarations are also not standard and are rejected by pedantic
compilers.

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

11 years agovim: install syntastic file directly inside the vim directory
Jean Privat [Wed, 30 May 2012 02:51:10 +0000 (22:51 -0400)]
vim: install syntastic file directly inside the vim directory

No manual installation of the file is then required thanks to pathogen.

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

11 years agovim: README explain how to install nit for vim
Jean Privat [Wed, 30 May 2012 02:47:57 +0000 (22:47 -0400)]
vim: README explain how to install nit for vim

We officially rely on pathogen that is great and simpler.

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

11 years agovim: move the function-once test before stuffs
Jean Privat [Wed, 30 May 2012 02:14:42 +0000 (22:14 -0400)]
vim: move the function-once test before stuffs

This remove the error in vim about existing functions when a second nit
file is loaded.

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

11 years agomisc: handles all error types in syntastic Nit syntax checker
Alexis Laferrière [Tue, 29 May 2012 18:27:29 +0000 (14:27 -0400)]
misc: handles all error types in syntastic Nit syntax checker

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

11 years agomisc: adds customizable options to syntastic Nit syntax checker
Alexis Laferrière [Tue, 29 May 2012 18:07:09 +0000 (14:07 -0400)]
misc: adds customizable options to syntastic Nit syntax checker

g:syntastic_nitc specifies custom path to compiler
g:syntastic_nit_dir specifies the NIT_DIR env variable
g:syntastic_nit_args specifies extra arguments to call nitc
g:syntastic_nit_include_dirs lists directories to include, must be a list

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

11 years agomisc: correctly handles warnings in syntastic Nit syntax checker
Alexis Laferrière [Tue, 29 May 2012 18:05:47 +0000 (14:05 -0400)]
misc: correctly handles warnings in syntastic Nit syntax checker

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