nit.git
10 years agonitc: renamed --no-check-initialization in --no-check-attr-isset to follow the new...
Alexandre Terrasa [Tue, 25 Mar 2014 19:32:47 +0000 (15:32 -0400)]
nitc: renamed --no-check-initialization in --no-check-attr-isset to follow the new specification of nullable attributes

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

10 years agoMerge: `nit_dir` as a service
Jean Privat [Wed, 23 Apr 2014 20:48:32 +0000 (16:48 -0400)]
Merge: `nit_dir` as a service

ToolContext exposes a `nit_dir` service that tools can use.
It is so good that, now, the `bin` directory can be directly put in the PATH on most system while `NIT_DIR` is unset.

Previous direct users of `NIT_DIR` are transformed to use the new service.
Also, `nitunit` uses the new service to find the compiler instead of a hard-coded path.

Closes #392
Closes #408

Pull-Request: #412
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

10 years agomkcsrc: fix a regexp that brokes the reboostrap
Jean Privat [Wed, 23 Apr 2014 20:41:31 +0000 (16:41 -0400)]
mkcsrc: fix a regexp that brokes the reboostrap

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

10 years agotests: update sav related to `cannot find module` errors
Jean Privat [Wed, 23 Apr 2014 12:42:51 +0000 (08:42 -0400)]
tests: update sav related to `cannot find module` errors

The lib directory is not duplicated since the single nitdir player

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

10 years agonitunit: learn to use `nit_dir` instead of hardcoding the path of nitg
Jean Privat [Wed, 23 Apr 2014 01:47:52 +0000 (21:47 -0400)]
nitunit: learn to use `nit_dir` instead of hardcoding the path of nitg

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

10 years agosrc: adapt tools to use `ToolContext::nit_dir` instead of `NIT_DIR`
Jean Privat [Wed, 23 Apr 2014 01:46:51 +0000 (21:46 -0400)]
src: adapt tools to use `ToolContext::nit_dir` instead of `NIT_DIR`

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

10 years agotoolcontext: add nit_dir service
Jean Privat [Wed, 23 Apr 2014 01:44:44 +0000 (21:44 -0400)]
toolcontext: add nit_dir service

Use `NIT_DIR` or some heuristic to find the Nit directory.
In next commits, tools will use it.

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

10 years agoMerge: github_merge tool
Jean Privat [Tue, 22 Apr 2014 19:22:01 +0000 (15:22 -0400)]
Merge: github_merge tool

Extraction of the github API in its own lib and rewrite of my nodejs script in pure Nit

Pull-Request: #409
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>

10 years agotests: add github_merg
Jean Privat [Tue, 22 Apr 2014 16:10:27 +0000 (12:10 -0400)]
tests: add github_merg

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

10 years agocontrib: add `github_merge` the script I use to produce merge of PR
Jean Privat [Tue, 22 Apr 2014 16:08:59 +0000 (12:08 -0400)]
contrib: add `github_merge` the script I use to produce merge of PR

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

10 years agocontrib/github_search_for_jni: update to use github_api
Jean Privat [Tue, 22 Apr 2014 15:43:42 +0000 (11:43 -0400)]
contrib/github_search_for_jni: update to use github_api

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

10 years agolib/github_api: new lib to access the github api
Jean Privat [Tue, 22 Apr 2014 15:40:29 +0000 (11:40 -0400)]
lib/github_api: new lib to access the github api

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

10 years agosimple_json_reader: privately imports lexer&parser
Jean Privat [Tue, 22 Apr 2014 15:37:46 +0000 (11:37 -0400)]
simple_json_reader: privately imports lexer&parser

So public API is easier to read.

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

10 years agoMerge: Inkscape tools
Jean Privat [Tue, 22 Apr 2014 13:35:53 +0000 (09:35 -0400)]
Merge: Inkscape tools

Intro 2 tools based on Inkscape.

__svg_to_png_and_nit__ reads a SVG file and outputs 2 files:
* A single png file
* A Nit source file and class, with attributes pointing to all objects with IDs beginning with 0.

__svg_to_icons__ Generates PNG files from a SVG file. It can output the format expected by Android projects.

Pull-Request: #406
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

10 years agocontrib/inkscape_tools: update to use a nested module
Alexis Laferrière [Fri, 18 Apr 2014 18:16:26 +0000 (14:16 -0400)]
contrib/inkscape_tools: update to use a nested module

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

10 years agoMerge branch 'master' into inkscape-tool
Alexis Laferrière [Fri, 18 Apr 2014 18:18:14 +0000 (14:18 -0400)]
Merge branch 'master' into inkscape-tool

To get import of nested modules.

10 years agoMerge: add NativeArray::length
Jean Privat [Fri, 18 Apr 2014 17:36:53 +0000 (13:36 -0400)]
Merge: add NativeArray::length

Add and implement native methods `NativeArray::length` and `NativeArray::to_a`

The length could be available but was not for historial reasons.
`to_a` is trivial once `length` is defined.

A future series will add `NativeArray::new` and depreciate the ugly `calloc_array`.

Note: because of a bug in nitg, the compiler in `c_src` seems to return 0 on `length` instead of aborting.

Pull-Request: #405
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

10 years agotests: add test_native_array.nit
Jean Privat [Fri, 18 Apr 2014 16:48:57 +0000 (12:48 -0400)]
tests: add test_native_array.nit

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

10 years agoniti: implements `NativeArray::length`
Jean Privat [Thu, 17 Apr 2014 02:20:10 +0000 (22:20 -0400)]
niti: implements `NativeArray::length`

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

10 years agonitg: implements `NativeArray::length`
Jean Privat [Thu, 17 Apr 2014 02:19:35 +0000 (22:19 -0400)]
nitg: implements `NativeArray::length`

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

10 years agotests: add inkscape_tools to testfull.sh
Alexis Laferrière [Thu, 17 Apr 2014 17:04:49 +0000 (13:04 -0400)]
tests: add inkscape_tools to testfull.sh

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

10 years agocontrib/inkscape_tools: add test for icons
Alexis Laferrière [Thu, 17 Apr 2014 12:45:24 +0000 (08:45 -0400)]
contrib/inkscape_tools: add test for icons

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

10 years agocontrib/inkscape_tools: intro the svg_to_icons tool
Alexis Laferrière [Thu, 17 Apr 2014 12:45:07 +0000 (08:45 -0400)]
contrib/inkscape_tools: intro the svg_to_icons tool

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

10 years agolib: adds support lib for svg_to_png_and_nit tool
Alexis Laferrière [Sun, 6 Apr 2014 16:30:04 +0000 (12:30 -0400)]
lib: adds support lib for svg_to_png_and_nit tool

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

10 years agocontrib: intro the svg_to_png_and_nit project
Alexis Laferrière [Sun, 6 Apr 2014 03:31:26 +0000 (23:31 -0400)]
contrib: intro the svg_to_png_and_nit project

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

10 years agolib: add `NativeArray::length`
Jean Privat [Thu, 17 Apr 2014 02:17:06 +0000 (22:17 -0400)]
lib: add `NativeArray::length`

Engines should be able to store the allocated size.
Unlike `NativeString` that is a char*, `NativeArray` is a special Nit
opaque structure.

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

10 years agolib: opts add OptionFloat
Alexis Laferrière [Sun, 6 Apr 2014 15:58:37 +0000 (11:58 -0400)]
lib: opts add OptionFloat

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

10 years agoMerge: Shoot for android
Jean Privat [Tue, 15 Apr 2014 23:01:10 +0000 (19:01 -0400)]
Merge: Shoot for android

Enable control with the pointer
Compile to android
Scale view port

Pull-Request: #399
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

10 years agoMerge: Modernize syntax
Jean Privat [Tue, 15 Apr 2014 20:02:44 +0000 (16:02 -0400)]
Merge: Modernize syntax

Lot of cleanup and modernization in the syntax of Nit

* depreciate old FFI syntax: `extern` without `class` and non-dotted extern notation (quad or space)
* reduce the usage of old style getters and setters (they will be disabled soon)
* remove the shortcut `=` for one-liner function
* hexadecimal literals `var x = 0x7F`

Conflicts: lib/jvm.nit
Pull-Request: #401
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

10 years agotests: remove `base_return_assing`
Jean Privat [Tue, 15 Apr 2014 17:20:26 +0000 (13:20 -0400)]
tests: remove `base_return_assing`

The syntax is removed

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

10 years agosrc: remove old-style attribute from src/ (except parser)
Jean Privat [Tue, 15 Apr 2014 13:52:01 +0000 (09:52 -0400)]
src: remove old-style attribute from src/ (except parser)

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

10 years agoparser: regenerate parser files
Jean Privat [Tue, 15 Apr 2014 13:51:24 +0000 (09:51 -0400)]
parser: regenerate parser files

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

10 years agoparser: add AHexIntExpr
Jean Privat [Tue, 15 Apr 2014 13:50:49 +0000 (09:50 -0400)]
parser: add AHexIntExpr

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

10 years agoparser: split `AIntExpr` and `ADecIntExpr`
Jean Privat [Tue, 15 Apr 2014 13:49:52 +0000 (09:49 -0400)]
parser: split `AIntExpr` and `ADecIntExpr`

next commit will introduce AHexIntExpr

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

10 years agoparser: force new style FFI in syntax.
Jean Privat [Tue, 15 Apr 2014 13:30:38 +0000 (09:30 -0400)]
parser: force new style FFI in syntax.

`extern class` + dotted extern call notations.

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

10 years agoparser: disable unused `=` shortcut for functions
Jean Privat [Tue, 15 Apr 2014 13:29:28 +0000 (09:29 -0400)]
parser: disable unused `=` shortcut for functions

So simplify the grammar.

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

10 years agoparser: allow top-level methods between class definitions
Jean Privat [Tue, 15 Apr 2014 13:28:41 +0000 (09:28 -0400)]
parser: allow top-level methods between class definitions

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

10 years agoparser: parentheses in `.as` are optional
Jean Privat [Tue, 15 Apr 2014 13:26:56 +0000 (09:26 -0400)]
parser: parentheses in `.as` are optional

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

10 years agoparser: add 'public' keyword
Jean Privat [Tue, 15 Apr 2014 13:26:01 +0000 (09:26 -0400)]
parser: add 'public' keyword

to reserve it :)

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

10 years agotests: remove usage of old-style getters and setters
Jean Privat [Tue, 15 Apr 2014 13:22:19 +0000 (09:22 -0400)]
tests: remove usage of old-style getters and setters

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

10 years agolib: remove usage of old-style getters and setters
Jean Privat [Tue, 15 Apr 2014 12:59:55 +0000 (08:59 -0400)]
lib: remove usage of old-style getters and setters

old-style attributes are still available but getters and setters are manual.
This encourage the use of new-style attributes.

Support for old style attributes will be removed eventually.

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

10 years agosyntax: remove last usages of `=` in one liner function
Jean Privat [Tue, 15 Apr 2014 12:57:22 +0000 (08:57 -0400)]
syntax: remove last usages of `=` in one liner function

This optional syntax is largely unused and no so KISS.
I will drop it in a future grammar.

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

10 years agoffi: update code with last syntax
Jean Privat [Tue, 15 Apr 2014 12:52:43 +0000 (08:52 -0400)]
ffi: update code with last syntax

use `extern class` and dotted notation for extern call and casts.

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

10 years agotests: update sav/shoot_logic.res
Jean Privat [Tue, 15 Apr 2014 12:51:26 +0000 (08:51 -0400)]
tests: update sav/shoot_logic.res

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

10 years agotests: add sav/shoot_android.res
Jean Privat [Mon, 14 Apr 2014 20:13:20 +0000 (16:13 -0400)]
tests: add sav/shoot_android.res

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

10 years agoshoot: use a scale factor to compute the game dimentions
Jean Privat [Mon, 14 Apr 2014 20:10:55 +0000 (16:10 -0400)]
shoot: use a scale factor to compute the game dimentions

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

10 years agoshoot: add scene to sprites and use it to gather global width and height
Jean Privat [Mon, 14 Apr 2014 20:09:28 +0000 (16:09 -0400)]
shoot: add scene to sprites and use it to gather global width and height

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

10 years agoshoot: specialize scene to add witdth and height
Jean Privat [Mon, 14 Apr 2014 20:07:19 +0000 (16:07 -0400)]
shoot: specialize scene to add witdth and height

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

10 years agoMerge: FFI with Java
Jean Privat [Mon, 14 Apr 2014 20:16:16 +0000 (16:16 -0400)]
Merge: FFI with Java

Supports:

* Implementing Nit methods in Java
* Associating a Nit extern class to a Java type
* Callback Nit from Java code

To do next:

* Write the manual
* Support callbacks to super and casts (which also implies have static types in Java)
* Support Java code on Android
* Add more complexe examples, such as using an external .jar

Pull-Request: #396
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

10 years agolib/java: improve documentation
Alexis Laferrière [Mon, 14 Apr 2014 15:09:11 +0000 (11:09 -0400)]
lib/java: improve documentation

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

10 years agolib/java: intro JavaObject::new/release_global_ref
Alexis Laferrière [Sat, 12 Apr 2014 18:32:50 +0000 (14:32 -0400)]
lib/java: intro JavaObject::new/release_global_ref

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

10 years agolib/jvm: rename JObject class to JavaObject
Alexis Laferrière [Sat, 12 Apr 2014 16:09:02 +0000 (12:09 -0400)]
lib/jvm: rename JObject class to JavaObject

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

10 years agolib/jvm: change a C function to a Nit extern method
Alexis Laferrière [Thu, 10 Apr 2014 16:47:35 +0000 (12:47 -0400)]
lib/jvm: change a C function to a Nit extern method

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

10 years agotests: adds a test for java strings
Alexis Laferrière [Thu, 10 Apr 2014 14:45:26 +0000 (10:45 -0400)]
tests: adds a test for java strings

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

10 years agolib/java: add services to support Java strings
Alexis Laferrière [Thu, 10 Apr 2014 14:46:30 +0000 (10:46 -0400)]
lib/java: add services to support Java strings

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

10 years agoshoot: control player with `PointerEvent`
Jean Privat [Mon, 14 Apr 2014 14:43:05 +0000 (10:43 -0400)]
shoot: control player with `PointerEvent`

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

10 years agoshoot: add Player::going_target
Jean Privat [Mon, 14 Apr 2014 14:42:46 +0000 (10:42 -0400)]
shoot: add Player::going_target

A simple target used to control player with pointers.

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

10 years agoshoot: make android
Jean Privat [Mon, 14 Apr 2014 14:26:48 +0000 (10:26 -0400)]
shoot: make android

But the game is unplayable yet without keyboard, see next patches

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

10 years agoMerge: Correct detection of property name conflicts
Jean Privat [Mon, 14 Apr 2014 12:57:55 +0000 (08:57 -0400)]
Merge: Correct detection of property name conflicts

Fixes #395
Pull-Request: #398

10 years agotests: add error_prop_name*
Jean Privat [Fri, 11 Apr 2014 13:07:50 +0000 (09:07 -0400)]
tests: add error_prop_name*

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

10 years agotests: update base_virtual_type_redef.res
Jean Privat [Fri, 11 Apr 2014 01:56:35 +0000 (21:56 -0400)]
tests: update base_virtual_type_redef.res

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

10 years agomodelbuilder: correctly detect property name conflicts
Jean Privat [Fri, 11 Apr 2014 01:40:56 +0000 (21:40 -0400)]
modelbuilder: correctly detect property name conflicts

The tricky part is the handling of existing constructors.

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

10 years agoMerge: Qualified import
Jean Privat [Thu, 10 Apr 2014 20:41:57 +0000 (16:41 -0400)]
Merge: Qualified import

Enable `import foo::bar`

Pull-Request: #391
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>

10 years agotests: intro tests for the FFI with Java
Alexis Laferrière [Thu, 13 Mar 2014 04:10:05 +0000 (00:10 -0400)]
tests: intro tests for the FFI with Java

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

10 years agonitg: support compilation of Java files to .jar
Alexis Laferrière [Fri, 14 Mar 2014 22:00:53 +0000 (18:00 -0400)]
nitg: support compilation of Java files to .jar

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

10 years agonitg: intro of the FFI with java
Alexis Laferrière [Wed, 12 Mar 2014 21:47:30 +0000 (17:47 -0400)]
nitg: intro of the FFI with java

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

10 years agoMerge: Clean generated parser
Jean Privat [Thu, 10 Apr 2014 15:13:50 +0000 (11:13 -0400)]
Merge: Clean generated parser

This series reduce the size of the generated parser.

* First, factorize generated clones (the first commit)
* Second, reduce inlining in the grammar (the other commits)

This was a tidy process because each slight modification in the grammar yields to numerous conflicts often
difficult to understand. But the results worth the pain:

Time of `nitg nitg.nit`
before: 0m10.784s
after: 0m7.956s
gain: 26%

Number of subclasses of `ReduceAction`
before: 780
after: 376
gain: 52%

Pull-Request: #388
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>

10 years agonitg-g: use nitstack by default
Jean Privat [Thu, 10 Apr 2014 12:37:35 +0000 (08:37 -0400)]
nitg-g: use nitstack by default

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

10 years agoMerge: Gperf fix
Jean Privat [Thu, 10 Apr 2014 12:36:33 +0000 (08:36 -0400)]
Merge: Gperf fix

Since gperf was slow, better replace it with a slow to call solution at
runtime but fast to generate, it's not like we'll be generating
stacktraces often in the life cycle of a program.

Surprisingly enough, even on nitg, the stacktrace does not take long
to generate, which is a good thing.

For comparison :

~~~
$ time nitg nitg.nit --stacktrace libunwind
user 0m19.720s

$ time nitg nitg.nit --stacktrace nitstack
user 0m19.820s
~~~

Pull-Request: #387
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>

10 years agoMerge: Fix nitdbg_websocket_server
Jean Privat [Thu, 10 Apr 2014 12:32:30 +0000 (08:32 -0400)]
Merge: Fix nitdbg_websocket_server

Regression tests did not catch that `nitdbg_websocket_server` was broken.
Fix that

Pull-Request: #390

10 years agonitunit: updade usage of get_mmodule_by_name
Jean Privat [Wed, 9 Apr 2014 21:56:34 +0000 (17:56 -0400)]
nitunit: updade usage of get_mmodule_by_name

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

10 years agotest: test qualified importations
Jean Privat [Wed, 9 Apr 2014 20:36:42 +0000 (16:36 -0400)]
test: test qualified importations

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

10 years agomodelbuilder: use qualified name in imports to import things
Jean Privat [Wed, 9 Apr 2014 20:35:54 +0000 (16:35 -0400)]
modelbuilder: use qualified name in imports to import things

    import foo::bar

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

10 years agomodelbuilder: split `search_mmodule_by_name` from `get_mmodule_by_name`
Jean Privat [Wed, 9 Apr 2014 20:35:10 +0000 (16:35 -0400)]
modelbuilder: split `search_mmodule_by_name` from `get_mmodule_by_name`

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

10 years agomodelbuilder: search_module_in_paths return ModulePath
Jean Privat [Wed, 9 Apr 2014 20:34:17 +0000 (16:34 -0400)]
modelbuilder: search_module_in_paths return ModulePath

Instead of a simple String

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

10 years agotests: add sav/nitdbg_websocket_server.res
Jean Privat [Wed, 9 Apr 2014 20:10:57 +0000 (16:10 -0400)]
tests: add sav/nitdbg_websocket_server.res

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

10 years agonitdbg_websocket_server: fix write
Jean Privat [Wed, 9 Apr 2014 20:10:30 +0000 (16:10 -0400)]
nitdbg_websocket_server: fix write

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

10 years agomodelbuilder: get_mmodule_by_name get a mgroup as context
Jean Privat [Wed, 9 Apr 2014 19:01:15 +0000 (15:01 -0400)]
modelbuilder: get_mmodule_by_name get a mgroup as context

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

10 years agoMerge: lib/socket: Bugfix
Jean Privat [Wed, 9 Apr 2014 18:08:07 +0000 (14:08 -0400)]
Merge: lib/socket: Bugfix

Bug introduced in pull request #377, in the read function of FFSocket, a free is called on a static variable, which provokes a warning and probably bugs at runtime.

Pull-Request: #389

10 years agonitg: Removed references to gperf in documentation and code
Lucas Bajolet [Wed, 9 Apr 2014 17:50:11 +0000 (13:50 -0400)]
nitg: Removed references to gperf in documentation and code

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

10 years agonitg: Overridden gperf since it was slow to generate.
Lucas Bajolet [Wed, 9 Apr 2014 15:50:32 +0000 (11:50 -0400)]
nitg: Overridden gperf since it was slow to generate.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

10 years agoMerge: Streamable and Pattern update
Jean Privat [Wed, 9 Apr 2014 15:50:22 +0000 (11:50 -0400)]
Merge: Streamable and Pattern update

Upgrade on Streamable and Pattern, they will now work with any kind of Text instead of just String.

Pull-Request: #373
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>

10 years agolib/socket: Bugfix, tried to free a static variable, this provoked a warning when...
Lucas Bajolet [Tue, 8 Apr 2014 19:33:10 +0000 (15:33 -0400)]
lib/socket: Bugfix, tried to free a static variable, this provoked a warning when compiling.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

10 years agoparser: regenerate with changes in the grammar and file generation
Jean Privat [Wed, 9 Apr 2014 14:47:54 +0000 (10:47 -0400)]
parser: regenerate with changes in the grammar and file generation

Before:

~~~~
$ time nitg nitg.nit
user 0m10.784s
$ wc parser/parser.nit
29702  93153 922785
$ grep 'super ReduceAction' parser/parser.nit -c
780
~~~~

After:

~~~~
$ time nitg nitg.nit
user 0m7.956s
$ wc parser/parser.nit
10660  32841 319408
$ grep 'super ReduceAction' parser/parser.nit -c
376
~~~~

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

10 years agoparser: new nullable production `typing_o`
Jean Privat [Wed, 9 Apr 2014 15:03:19 +0000 (11:03 -0400)]
parser: new nullable production `typing_o`

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

10 years agoparser: new production `qclassid` to factorize `qualified? classid`
Jean Privat [Wed, 9 Apr 2014 15:02:48 +0000 (11:02 -0400)]
parser: new production `qclassid` to factorize `qualified? classid`

See previous commit for details.

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

10 years agoparser: new production `qid` to factorize `qualified? id`
Jean Privat [Wed, 9 Apr 2014 15:01:42 +0000 (11:01 -0400)]
parser: new production `qid` to factorize `qualified? id`

`qid` is still transformed into an simple `id` (thus the qualified is lost).
Latter the qualification should be preserved in the AST.

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

10 years agoparser: accepts `kwredef` in front of importation clauses
Jean Privat [Wed, 9 Apr 2014 14:59:42 +0000 (10:59 -0400)]
parser: accepts `kwredef` in front of importation clauses

OK, this is crazy.
The point is to avoid the inlining of the production `redef`.
Because `redef` is used a lot, the gain worth the crazyness.

TODO: catch the usage of `redef` and crash after parsing.

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

10 years agoparser: remove useless production `writable2`
Jean Privat [Wed, 9 Apr 2014 14:56:29 +0000 (10:56 -0400)]
parser: remove useless production `writable2`

just accepts visibility in all versions

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

10 years agoparser: new nullable production `qualified_o`
Jean Privat [Wed, 9 Apr 2014 14:54:44 +0000 (10:54 -0400)]
parser: new nullable production `qualified_o`

Somme `qualified?` remain (yet) because of conflicts, see next commits.

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

10 years agoparser: new nullable production `extern_code_block_o`
Jean Privat [Wed, 9 Apr 2014 14:52:06 +0000 (10:52 -0400)]
parser: new nullable production `extern_code_block_o`

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

10 years agoparser: new nullable production `annotations_o`
Jean Privat [Wed, 9 Apr 2014 14:51:48 +0000 (10:51 -0400)]
parser: new nullable production `annotations_o`

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

10 years agoparser: production `annotation_withend` is nullable
Jean Privat [Wed, 9 Apr 2014 14:39:23 +0000 (10:39 -0400)]
parser: production `annotation_withend` is nullable

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

10 years agoparser: production `params` is nullable
Jean Privat [Wed, 9 Apr 2014 14:38:04 +0000 (10:38 -0400)]
parser: production `params` is nullable

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

10 years agoparser: production `extern_calls` is nullable
Jean Privat [Wed, 9 Apr 2014 14:37:07 +0000 (10:37 -0400)]
parser: production `extern_calls` is nullable

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

10 years agoparser: new nullable production `string_o` to factorize `string?`
Jean Privat [Wed, 9 Apr 2014 14:33:05 +0000 (10:33 -0400)]
parser: new nullable production `string_o` to factorize `string?`

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

10 years agoparser: new nullable production `kwend_o` to factorize `kwend?`
Jean Privat [Wed, 9 Apr 2014 14:32:15 +0000 (10:32 -0400)]
parser: new nullable production `kwend_o` to factorize `kwend?`

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

10 years agoparser: production `formaldefs` is nullable
Jean Privat [Wed, 9 Apr 2014 14:31:14 +0000 (10:31 -0400)]
parser: production `formaldefs` is nullable

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

10 years agoparser: production `implicit_main_class` is nullable
Jean Privat [Wed, 9 Apr 2014 14:30:52 +0000 (10:30 -0400)]
parser: production `implicit_main_class` is nullable

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

10 years agoparser: clean and factorize services in parser_prod
Jean Privat [Wed, 9 Apr 2014 15:05:02 +0000 (11:05 -0400)]
parser: clean and factorize services in parser_prod

Mainly, generalize cloned services in the class ANodes
Also rationalize the generated nit code.

The diff seems big because some reindentation

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