nit.git
8 years agosrc/android: skip signing the APK if KEY_ALIAS env var is not set
Alexis Laferrière [Mon, 14 Sep 2015 17:44:57 +0000 (13:44 -0400)]
src/android: skip signing the APK if KEY_ALIAS env var is not set

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

8 years agotests: Update with new clean_utf8
Lucas Bajolet [Fri, 11 Sep 2015 17:52:52 +0000 (13:52 -0400)]
tests: Update with new clean_utf8

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

8 years agolib/gamnit: add a portable version of the triangle example
Alexis Laferrière [Sun, 13 Sep 2015 15:18:22 +0000 (11:18 -0400)]
lib/gamnit: add a portable version of the triangle example

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

8 years agolib/gamnit: intro App integration and Android support
Alexis Laferrière [Mon, 14 Sep 2015 00:51:55 +0000 (20:51 -0400)]
lib/gamnit: intro App integration and Android support

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

8 years agolib/gamnit: intro the standalone triangle example for desktop only
Alexis Laferrière [Sat, 18 Apr 2015 16:03:29 +0000 (12:03 -0400)]
lib/gamnit: intro the standalone triangle example for desktop only

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

8 years agoexamples/calculator: remove font from icon
Alexis Laferrière [Mon, 14 Sep 2015 12:51:23 +0000 (08:51 -0400)]
examples/calculator: remove font from icon

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

8 years agocontrib/tinks: remove font from icon
Alexis Laferrière [Mon, 14 Sep 2015 12:50:47 +0000 (08:50 -0400)]
contrib/tinks: remove font from icon

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

8 years agolib/gamnit: intro GNU/Linux support
Alexis Laferrière [Sun, 19 Apr 2015 14:03:25 +0000 (10:03 -0400)]
lib/gamnit: intro GNU/Linux support

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

8 years agolib/gamnit: intro the abstract display
Alexis Laferrière [Tue, 14 Apr 2015 22:26:11 +0000 (18:26 -0400)]
lib/gamnit: intro the abstract display

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

8 years agolib/linux: move simulating the lifecycle of an app from mnit to app.nit
Alexis Laferrière [Sun, 13 Sep 2015 19:09:03 +0000 (15:09 -0400)]
lib/linux: move simulating the lifecycle of an app from mnit to app.nit

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

8 years agolib/glesv2: move some services out of `VertexArray` as per the new style
Alexis Laferrière [Sat, 12 Sep 2015 14:30:25 +0000 (10:30 -0400)]
lib/glesv2: move some services out of `VertexArray` as per the new style

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

8 years agolib/glesv2: fix read_pixels having hardcoded args
Alexis Laferrière [Sat, 12 Sep 2015 12:48:34 +0000 (08:48 -0400)]
lib/glesv2: fix read_pixels having hardcoded args

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

8 years agolib/glesv2: fix misplaced mipmap filters and update style
Alexis Laferrière [Tue, 17 Feb 2015 20:51:05 +0000 (15:51 -0500)]
lib/glesv2: fix misplaced mipmap filters and update style

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

8 years agolib/c: contructors `from` for native arrays accept `SequenceRead`
Alexis Laferrière [Sat, 12 Sep 2015 14:00:22 +0000 (10:00 -0400)]
lib/c: contructors `from` for native arrays accept `SequenceRead`

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

8 years agolib/android: add ANativeWindow::set_buffers_geometry
Alexis Laferrière [Sun, 19 Apr 2015 13:34:46 +0000 (09:34 -0400)]
lib/android: add ANativeWindow::set_buffers_geometry

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

8 years agolib/egl: intro egl_default_display
Alexis Laferrière [Sun, 19 Apr 2015 13:34:27 +0000 (09:34 -0400)]
lib/egl: intro egl_default_display

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

8 years agolib/core: Removed a few abusive uses of `to_s_with_length` on Array and NativeArray
Lucas Bajolet [Fri, 11 Sep 2015 15:36:56 +0000 (11:36 -0400)]
lib/core: Removed a few abusive uses of `to_s_with_length` on Array and NativeArray

Since they're working with Nit-produced Strings, there's no need to clean once more

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

8 years agolib/core: Have Bytes::to_s and stream use the new and improved to_s_with_length
Lucas Bajolet [Fri, 11 Sep 2015 15:36:03 +0000 (11:36 -0400)]
lib/core: Have Bytes::to_s and stream use the new and improved to_s_with_length

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

8 years agolib/core/flat: Added clean_utf8 method to NativeString
Lucas Bajolet [Fri, 11 Sep 2015 15:34:56 +0000 (11:34 -0400)]
lib/core/flat: Added clean_utf8 method to NativeString

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

8 years agoMerge: misc/vim: update the vim plugin to use core instead of standard
Jean Privat [Thu, 10 Sep 2015 18:55:07 +0000 (14:55 -0400)]
Merge: misc/vim: update the vim plugin to use core instead of standard

The plugin was not updated with the new name for the `core` library, but it's never too late.

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

8 years agoMerge: jwrapper: prevent nitls to parse the generated files
Jean Privat [Thu, 10 Sep 2015 18:54:54 +0000 (14:54 -0400)]
Merge: jwrapper: prevent nitls to parse the generated files

Prevent nitls to parse the generated files by adding an empty `packages.ini` file to the examples folder. This slowed down calls to `make` as nitls is used to detect the dependancies of Nit programs and it took a while to parse the huge generated files.

Pull-Request: #1702
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agoMerge: nitiwiki: external highlighter
Jean Privat [Thu, 10 Sep 2015 18:53:56 +0000 (14:53 -0400)]
Merge: nitiwiki: external highlighter

This is a cleaned up version of what is currently doing the code highlighting and the table in the deployed http://nitlanguage.org

The basic idea here is to delegate the job to some other program. The program has to be configured in the config.ini under the key `wiki.highlighter`

This approach, while not pure nit, makes it quite easy to use whatever highlighter program the user prefer with whatever options (instead of hard-coding a specific external program in the nit source code).

An advanced way is to delegate to a shell script that checks arguments then dispatches to a real program.

ping maintainer: @Morriar

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

8 years agoMerge: nitcatalog: content and options
Jean Privat [Thu, 10 Sep 2015 18:53:52 +0000 (14:53 -0400)]
Merge: nitcatalog: content and options

Two improvements:

* content list (example: see end of page <http://nitlanguage.org/catalog/android.html>, section *content*)
* command-line options

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

8 years agoMerge: Ballz improvements
Jean Privat [Thu, 10 Sep 2015 18:39:19 +0000 (14:39 -0400)]
Merge: Ballz improvements

Better concern division into modules, now works on Linux !
forces.nit module is not really used yet but will be.

PS : mnit_simple and mnit_ballz aren't launching on android at the moment, I'll fix this in a further PR

Edit: Fixed Android part

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

8 years agomisc/vim: update the vim plugin to use core instead of standard
Alexis Laferrière [Thu, 10 Sep 2015 18:24:45 +0000 (14:24 -0400)]
misc/vim: update the vim plugin to use core instead of standard

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

8 years agotests: make nitiwiki.args idempotent
Jean Privat [Thu, 10 Sep 2015 17:55:45 +0000 (13:55 -0400)]
tests: make nitiwiki.args idempotent

A second execution of the test fail because arg2 modify things read by arg1.
Solution: clean after arg2

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

8 years agonitiwiki: extends the example with an external highlighter
Jean Privat [Thu, 10 Sep 2015 02:45:55 +0000 (22:45 -0400)]
nitiwiki: extends the example with an external highlighter

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

8 years agonitiwiki: new module `markdown_highlight` to plug in an external highlighter
Jean Privat [Thu, 10 Sep 2015 02:40:42 +0000 (22:40 -0400)]
nitiwiki: new module `markdown_highlight` to plug in an external highlighter

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

8 years agocontrib/jwrapper: prevent nitls to parse the generated files
Alexis Laferrière [Thu, 10 Sep 2015 17:44:48 +0000 (13:44 -0400)]
contrib/jwrapper: prevent nitls to parse the generated files

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

8 years agonitcatalog: do not crash if the dependency poset is empty (--no-parse)
Jean Privat [Wed, 9 Sep 2015 15:59:24 +0000 (11:59 -0400)]
nitcatalog: do not crash if the dependency poset is empty (--no-parse)

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

8 years agonitcatalog: add command-line options
Jean Privat [Wed, 9 Sep 2015 15:58:29 +0000 (11:58 -0400)]
nitcatalog: add command-line options

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

8 years agonitcatalog: add a *content* section with the modules and groups
Jean Privat [Wed, 9 Sep 2015 15:46:22 +0000 (11:46 -0400)]
nitcatalog: add a *content* section with the modules and groups

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

8 years agonitiwiki: change some visibility to allow extensions
Jean Privat [Thu, 10 Sep 2015 02:38:45 +0000 (22:38 -0400)]
nitiwiki: change some visibility to allow extensions

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

8 years agomarkdown: escape the meta information of code block in html
Jean Privat [Thu, 10 Sep 2015 13:25:08 +0000 (09:25 -0400)]
markdown: escape the meta information of code block in html

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

8 years agoMerge: Rename Project to Package
Jean Privat [Thu, 10 Sep 2015 12:27:50 +0000 (08:27 -0400)]
Merge: Rename Project to Package

Before `project.ini` are generalized (and regenerated in `c_src`) we should decide if the renaming worth it.

* a package, in OS and for some programming languages, is a coherent and distributed piece of software.
* a package, in software engineering (UML, Java), is a group of elements. It is used as namespace, and can be nested.
* a project, in IDE (eclipse, XCode) and toolchain (maven) is the organization of source of a software and how to build, test, document, etc.
* a project, in software engineering, is an attempt to produce a piece of software (and often the associated resources and artifacts like source code and people)

Thoughts?

Pull-Request: #1669
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Etienne M. Gagnon <egagnon@j-meg.com>

8 years agolib/markdown: promote `BlockFence::meta` to `BlockCode` to simplify clients
Jean Privat [Thu, 10 Sep 2015 01:29:30 +0000 (21:29 -0400)]
lib/markdown: promote `BlockFence::meta` to `BlockCode` to simplify clients

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

8 years agolib/markdown: factorize clones `code_from_block` into `BlockCode::raw_content`
Jean Privat [Thu, 10 Sep 2015 01:25:09 +0000 (21:25 -0400)]
lib/markdown: factorize clones `code_from_block` into `BlockCode::raw_content`

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

8 years agocontrib/friendz: adds music to the res folder
BlackMinou [Thu, 10 Sep 2015 10:02:15 +0000 (12:02 +0200)]
contrib/friendz: adds music to the res folder

Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>

8 years agoAndroid:audio: little fix when loading sound or music
BlackMinou [Thu, 10 Sep 2015 09:28:51 +0000 (11:28 +0200)]
Android:audio: little fix when loading sound or music

Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>

8 years agoMerge: Fix Opportunity behavior with unicode characters
Jean Privat [Thu, 10 Sep 2015 00:25:20 +0000 (20:25 -0400)]
Merge: Fix Opportunity behavior with unicode characters

Fix #1695. It is already deployed on http://xymus.net/opportunity/ (Take a look at http://xymus.net/opportunity/?meetup_id=B962ECD89E0AE40FF888569AE8D816B36F128E10)

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

8 years agoMerge: UTF-8 Regex
Jean Privat [Thu, 10 Sep 2015 00:25:10 +0000 (20:25 -0400)]
Merge: UTF-8 Regex

This PR closes #1684

Instead of making `byte_to_char_index` public, it has been removed as it had no real reason to live.

Names are corrected and should correctly reflect their use.
Some examples of regular expressions with UTF-8 have been included.

Note however that the C-library underneath does not have UTF-8 semantics, as such, when using repetition operators on UTF-8 strings, capture the problematic characters with parentheses as in the example, or else the result will be erroneous.

Additionally, performances should be a bit better since less allocations and copy_to should be done.

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

8 years agomanpages: nitls talks about packages, not projects
Jean Privat [Wed, 9 Sep 2015 19:16:53 +0000 (15:16 -0400)]
manpages: nitls talks about packages, not projects

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

8 years agocontrib: value for nitserial's `-d` is now `package`
Jean Privat [Fri, 28 Aug 2015 13:21:11 +0000 (09:21 -0400)]
contrib: value for nitserial's `-d` is now `package`

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

8 years agotests: update sav with `package` instead of `project`
Jean Privat [Fri, 28 Aug 2015 13:19:58 +0000 (09:19 -0400)]
tests: update sav with `package` instead of `project`

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

8 years agocode: rename `project[s].ini` files as `package[s].ini`
Jean Privat [Fri, 28 Aug 2015 04:30:24 +0000 (00:30 -0400)]
code: rename `project[s].ini` files as `package[s].ini`

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

8 years agosrc: mass rename project->package
Jean Privat [Fri, 28 Aug 2015 03:49:33 +0000 (23:49 -0400)]
src: mass rename project->package

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

8 years agolib/nitcorn: update path to nitc to compile the examples
Alexis Laferrière [Wed, 9 Sep 2015 17:59:37 +0000 (13:59 -0400)]
lib/nitcorn: update path to nitc to compile the examples

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

8 years agocontrib/opportunity: do not force capitalize names
Alexis Laferrière [Wed, 9 Sep 2015 17:51:46 +0000 (13:51 -0400)]
contrib/opportunity: do not force capitalize names

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

8 years agolib/text: fix to|from_percent_encoding with unicode characters
Alexis Laferrière [Wed, 9 Sep 2015 17:50:15 +0000 (13:50 -0400)]
lib/text: fix to|from_percent_encoding with unicode characters

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

8 years agotests: Updated tests for Regex with more UTF-8 regexps
Lucas Bajolet [Wed, 9 Sep 2015 17:45:10 +0000 (13:45 -0400)]
tests: Updated tests for Regex with more UTF-8 regexps

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

8 years agolib/core: Sub-regular expressions API change from Array[Match] to Array[nullable...
Lucas Bajolet [Wed, 9 Sep 2015 15:42:55 +0000 (11:42 -0400)]
lib/core: Sub-regular expressions API change from Array[Match] to Array[nullable Match]

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

8 years agosrc/interpreter: fast_cstring was broken in interpreter
Lucas Bajolet [Tue, 8 Sep 2015 21:13:33 +0000 (17:13 -0400)]
src/interpreter: fast_cstring was broken in interpreter

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

8 years agoMerge: Better nitcc
Jean Privat [Wed, 9 Sep 2015 15:04:17 +0000 (11:04 -0400)]
Merge: Better nitcc

Some improvements and bugfixes for nitcc.

* Improve code size in C and in Nit
* Produce valid Nit code even in case of R/R, S/R or S/R/R conflicts. Close #1693

Before: compiling objc_test_parser on an old laptop
* 880.58 usertime
* 3GB memory
* produced executable: 50MB (31MB stripped)

after: same grammar, better nitcc
* 337.80usertime
* 788MB memory
* produced executable: 28MB (8,8MB stripped)

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

8 years agoMerge: String Stats
Jean Privat [Wed, 9 Sep 2015 15:04:12 +0000 (11:04 -0400)]
Merge: String Stats

Introducing a statistics module for Text variants usage which keeps trace of the accesses and allocations of Texts in a program.

It works in a similar way to `array_debug` or `hash_debug`, and prints statistics after the execution of a module.

Pull-Request: #1682
Reviewed-by: Jean Privat <jean@pryen.org>

8 years agolib/json: regenerate with new nitcc
Jean Privat [Wed, 9 Sep 2015 12:44:55 +0000 (08:44 -0400)]
lib/json: regenerate with new nitcc

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

8 years agonitcc: collect items with conflict (now that there is always a resolution attempt)
Jean Privat [Wed, 9 Sep 2015 12:44:36 +0000 (08:44 -0400)]
nitcc: collect items with conflict (now that there is always a resolution attempt)

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

8 years agonitcc: factorize code of alternative reduction
Jean Privat [Wed, 9 Sep 2015 10:06:55 +0000 (06:06 -0400)]
nitcc: factorize code of alternative reduction

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

8 years agonitcc:: when removing a reduction in S/R, notify the token to not generate the reduce...
Jean Privat [Wed, 9 Sep 2015 09:30:52 +0000 (05:30 -0400)]
nitcc:: when removing a reduction in S/R, notify the token to not generate the reduce action

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

8 years agonitcc: detect S/R even if R/R conflict as a solution is to shift in case of S/R/R
Jean Privat [Wed, 9 Sep 2015 09:28:21 +0000 (05:28 -0400)]
nitcc: detect S/R even if R/R conflict as a solution is to shift in case of S/R/R

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

8 years agonitcc: remove reduction even in non-dangling S/R conflict
Jean Privat [Wed, 9 Sep 2015 09:26:46 +0000 (05:26 -0400)]
nitcc: remove reduction even in non-dangling S/R conflict

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

8 years agonitcc: remove S/R reduction after detection to avoid concurent iteration/mutation...
Jean Privat [Wed, 9 Sep 2015 09:25:49 +0000 (05:25 -0400)]
nitcc: remove S/R reduction after detection to avoid concurent iteration/mutation issues

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

8 years agoandroid/sensors: the example and some whitespace
BlackMinou [Sun, 23 Aug 2015 14:18:42 +0000 (16:18 +0200)]
android/sensors: the example and some whitespace

Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>

8 years agoandroid/audio: fix infinite recursion
BlackMinou [Sun, 26 Jul 2015 17:33:31 +0000 (19:33 +0200)]
android/audio: fix infinite recursion

Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>

8 years agomnit_ballz: Objects module
BlackMinou [Mon, 22 Jun 2015 00:02:39 +0000 (02:02 +0200)]
mnit_ballz: Objects module

Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>

8 years agomnit_ballz: Display module
BlackMinou [Mon, 22 Jun 2015 00:02:17 +0000 (02:02 +0200)]
mnit_ballz: Display module

Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>

8 years agomnit_ballz: Collision gestion module
BlackMinou [Mon, 22 Jun 2015 00:02:08 +0000 (02:02 +0200)]
mnit_ballz: Collision gestion module

Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>

8 years agomnit_ballz: Linux module
BlackMinou [Mon, 22 Jun 2015 00:01:55 +0000 (02:01 +0200)]
mnit_ballz: Linux module

Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>

8 years agomnit_ballz: Assets module
BlackMinou [Mon, 22 Jun 2015 00:01:37 +0000 (02:01 +0200)]
mnit_ballz: Assets module

Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>

8 years agomnit_ballz: Walls images
BlackMinou [Mon, 22 Jun 2015 00:00:45 +0000 (02:00 +0200)]
mnit_ballz: Walls images

Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>

8 years agomnit_ballz: Sounds assets for android (in res/raw)
BlackMinou [Mon, 22 Jun 2015 00:00:31 +0000 (02:00 +0200)]
mnit_ballz: Sounds assets for android (in res/raw)

Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>

8 years agomnit_ballz: game_logic module
BlackMinou [Sun, 21 Jun 2015 23:59:24 +0000 (01:59 +0200)]
mnit_ballz: game_logic module

Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>

8 years agomnit_ballz: Android module
BlackMinou [Sun, 21 Jun 2015 23:59:08 +0000 (01:59 +0200)]
mnit_ballz: Android module

Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>

8 years agonitcc: parser&lexer: do notgenerate top-level methods in Object
Jean Privat [Wed, 9 Sep 2015 08:24:44 +0000 (04:24 -0400)]
nitcc: parser&lexer: do notgenerate top-level methods in Object

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

8 years agomnit_ballz: Adds linux target to Makefile
BlackMinou [Sun, 21 Jun 2015 23:58:42 +0000 (01:58 +0200)]
mnit_ballz: Adds linux target to Makefile

Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>

8 years agotests: Added test for text_stat
Lucas Bajolet [Tue, 8 Sep 2015 18:36:26 +0000 (14:36 -0400)]
tests: Added test for text_stat

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

8 years agolib/: Added statistics module for Text variants
Lucas Bajolet [Mon, 31 Aug 2015 19:14:26 +0000 (15:14 -0400)]
lib/: Added statistics module for Text variants

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

8 years agolib/core/re: Fixed search_in for Regex, should now work with UTF-8
Lucas Bajolet [Tue, 8 Sep 2015 18:19:53 +0000 (14:19 -0400)]
lib/core/re: Fixed search_in for Regex, should now work with UTF-8

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

8 years agolib/core: Fixed documentation in `NativeString::byte_to_char_index_cached`
Lucas Bajolet [Tue, 8 Sep 2015 18:19:28 +0000 (14:19 -0400)]
lib/core: Fixed documentation in `NativeString::byte_to_char_index_cached`

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

8 years agolib/core/text: Deferred utf8_length to native for FlatString
Lucas Bajolet [Tue, 8 Sep 2015 18:18:46 +0000 (14:18 -0400)]
lib/core/text: Deferred utf8_length to native for FlatString

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

8 years agolib/core/text: Removed now useless byte_to_char_index function
Lucas Bajolet [Tue, 8 Sep 2015 18:17:30 +0000 (14:17 -0400)]
lib/core/text: Removed now useless byte_to_char_index function

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

8 years agoMerge: lib/github: fix link to github doc in comment
Jean Privat [Tue, 8 Sep 2015 15:55:07 +0000 (11:55 -0400)]
Merge: lib/github: fix link to github doc in comment

Pull-Request: #1691
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

8 years agoMerge: contrib/inkscape_tools: use Tinks! art instead of Dino's to test args
Jean Privat [Tue, 8 Sep 2015 15:55:00 +0000 (11:55 -0400)]
Merge: contrib/inkscape_tools: use Tinks! art instead of Dino's to test args

Fix #1657, it was actually the test that was broken as the SVG source file is designed for the bash script that preceded inkscape_tools and not inkscape_tools itself (see examples/mnit_dino/tools/). This PR use Tinks! art instead of Dino's. It was already tested by the Tinks! project but here we use it to test the program arguments.

Pull-Request: #1690
Reviewed-by: Jean Privat <jean@pryen.org>

8 years agoMerge: objcwrapper: class methods as top-level methods, generate doc and intro `gen_nit`
Jean Privat [Tue, 8 Sep 2015 15:54:40 +0000 (11:54 -0400)]
Merge: objcwrapper: class methods as top-level methods, generate doc and intro `gen_nit`

Update _objcwrapper_  so it is more useful. It now supports class/top-level methods, it generates basic doc with each methods and moving the preprocessing to Nit allows to easily parse many files at once.

This PR also extracts the Nit keywords list from jwrapper into the new `gen_nit` lib. I may move up other services common to jwrapper and objcwrapper there in the future.

At this point, we parse 89 out of 121 headers from GNUStep. And I have grammar tweaks stashed away that brind it up to 101, but I'm also considering using an existing and complete grammar... The result is not very usable as it still need to reproduce the class hierarch and avoid reintroducing introduced methods between classes.

I've added a pretty print for errors to help debug the grammar, if there is an interest I could move it up to `nitcc_runtime`, here's an example output:
~~~
Syntax Error: Unexpected rpar ')'; is acceptable instead: data_type, more_type, at 70:38-70:39
in /usr/include/GNUstep/Foundation/NSArchiver.h
- (void) serializeHeaderAt: (unsigned)positionInData
                                     ^
Syntax Error: Unexpected id 'autorelease_thread_vars'; is acceptable instead: declaration, structure_core, type, type_annotation, unsigned, data_type, more_type, function_pointer, at 9:16-9:39
in /usr/include/GNUstep/Foundation/NSAutoreleasePool.h
typedef struct autorelease_thread_vars
               ^^^^^^^^^^^^^^^^^^^^^^^
~~~

Pull-Request: #1688
Reviewed-by: Jean Privat <jean@pryen.org>

8 years agoMerge: Bench strings
Jean Privat [Tue, 8 Sep 2015 15:54:35 +0000 (11:54 -0400)]
Merge: Bench strings

Update for existing benches since standard was renamed to core and a few PRs have modified the code.

Also added new variant with buffered NativeStrings.

Pull-Request: #1687
Reviewed-by: Jean Privat <jean@pryen.org>

8 years agoMerge: lib/opts: accept non-conflicting parameters for OptionString and rename get_er...
Jean Privat [Tue, 8 Sep 2015 15:54:28 +0000 (11:54 -0400)]
Merge: lib/opts: accept non-conflicting parameters for OptionString and rename get_errors to errors

`OptionString` reads the next argument to be used as its parameter. However, to detect errors it did not read parameter beginning with `-`. This PR changes this behavior to only avoid parameters that are the name of a known option in the current `OptionContext`. This should report real errors and accept parameters beginning with `-`, such parameter are useful to forward options to subprograms.

Renaming `OptionContext::get_errors` to `errors` assign the short name to the most commonly used property. `errors` was previously reserved for errors local to the context only. From the Nit repo, only 2 projects correctly used `get_errors`, 8 wrongfully used `errors` and thus did not catch all errors.

Pull-Request: #1686
Reviewed-by: Jean Privat <jean@pryen.org>

8 years agolib/github: fix link to github doc in comment
Jean Privat [Tue, 8 Sep 2015 15:15:12 +0000 (11:15 -0400)]
lib/github: fix link to github doc in comment

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

8 years agocontrib/inkscape_tools: use Tinks! art instead of Dino's to test args
Alexis Laferrière [Sun, 6 Sep 2015 18:23:40 +0000 (14:23 -0400)]
contrib/inkscape_tools: use Tinks! art instead of Dino's to test args

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

8 years agolib/nitcc_runtime: extract `Position::underline` from objcwrapper
Alexis Laferrière [Fri, 4 Sep 2015 15:46:42 +0000 (11:46 -0400)]
lib/nitcc_runtime: extract `Position::underline` from objcwrapper

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

8 years agoMerge: Optimized use of escape_to_c
Jean Privat [Fri, 4 Sep 2015 03:33:35 +0000 (23:33 -0400)]
Merge: Optimized use of escape_to_c

All is in the title, @privat noticed me this morning that text::escape_to_c was taking around 4% of the time in nitc, taking the runtime to 15.183 GIr according to Valgrind.

By shortcutting all Unicode-related services since the C-side escaping is done on ASCII-sequences only and UTF-8 cannot contain invalid C sequences, the gain is substantial, one run of nitc is now done in 14.580 GIr, a gain of 600+ MIr (around 4%, what a coincidence !).

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

8 years agoMerge: Text attribute accesses optimization
Jean Privat [Fri, 4 Sep 2015 03:33:29 +0000 (23:33 -0400)]
Merge: Text attribute accesses optimization

As a small optimization, accesses to private attributes in Text are replaced by direct accesses as in `file` or `collection`.

On the compiler this yields between 3 and 4% improvement in performances, however in some programs like nitmd, this yields around 15% optimization.

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

8 years agoMerge: Better synopses in many packages for a prettier catalog
Jean Privat [Fri, 4 Sep 2015 03:33:24 +0000 (23:33 -0400)]
Merge: Better synopses in many packages for a prettier catalog

This should fix/complete the synopses of my projects. The few cases left are where the doc is in the main module of a contrib without a readme, like with `header_keeper`. I'm not sure what to do with those yet, maybe simply removing the src folder.

I seizes this opportunity to improve the `extern_methods` example and create missing readme files. And also reorganized the mnit platform implementations. There is still similar work to do with apps and submodules names to clean in mnit, but it will be for a future PR.

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

8 years agolib/core/flat: `bytepos` and `position` cache are now private
Lucas Bajolet [Mon, 31 Aug 2015 20:06:31 +0000 (16:06 -0400)]
lib/core/flat: `bytepos` and `position` cache are now private

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

8 years agocontrib/objcwrapper: redef the NSObject class as it exists in the manual lib
Alexis Laferrière [Wed, 2 Sep 2015 19:27:20 +0000 (15:27 -0400)]
contrib/objcwrapper: redef the NSObject class as it exists in the manual lib

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

8 years agocontrib/objcwrapper: filter out only typedefs over one line
Alexis Laferrière [Wed, 2 Sep 2015 19:24:40 +0000 (15:24 -0400)]
contrib/objcwrapper: filter out only typedefs over one line

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

8 years agocontrib/objcwrapper: avoid conflicts with Nit keywords and top-level methods
Alexis Laferrière [Wed, 2 Sep 2015 19:22:03 +0000 (15:22 -0400)]
contrib/objcwrapper: avoid conflicts with Nit keywords and top-level methods

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

8 years agocontrib/objcwrapper: make sure to not consider a class property as an init
Alexis Laferrière [Wed, 2 Sep 2015 19:14:39 +0000 (15:14 -0400)]
contrib/objcwrapper: make sure to not consider a class property as an init

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

8 years agocontrib/objcwrapper: collect files that failed parsing
Alexis Laferrière [Wed, 2 Sep 2015 19:13:53 +0000 (15:13 -0400)]
contrib/objcwrapper: collect files that failed parsing

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

8 years agolib/nit: extract Nit keywords from jwrapper to a support module for Nit code generators
Alexis Laferrière [Tue, 1 Sep 2015 21:43:27 +0000 (17:43 -0400)]
lib/nit: extract Nit keywords from jwrapper to a support module for Nit code generators

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

8 years agocontrib/objcwrapper: check-gnustep parse many headers at once
Alexis Laferrière [Tue, 1 Sep 2015 20:24:37 +0000 (16:24 -0400)]
contrib/objcwrapper: check-gnustep parse many headers at once

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

8 years agocontrib/objcwrapper: add few missing primitive types
Alexis Laferrière [Tue, 1 Sep 2015 20:21:59 +0000 (16:21 -0400)]
contrib/objcwrapper: add few missing primitive types

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