nit.git
8 years agoparser: the parent of EOF is Start
Jean Privat [Wed, 3 Jun 2015 00:41:13 +0000 (20:41 -0400)]
parser: the parent of EOF is Start

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

8 years agoparser: ComputeProdLocationVisitor remember the last token instead of the location
Jean Privat [Thu, 14 May 2015 23:18:15 +0000 (19:18 -0400)]
parser: ComputeProdLocationVisitor remember the last token instead of the location

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

8 years agoparser: add `is_loose`, `prev_looses` and `next_looses`
Jean Privat [Thu, 14 May 2015 23:17:11 +0000 (19:17 -0400)]
parser: add `is_loose`, `prev_looses` and `next_looses`

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

fixup loos in nodes

8 years agoMerge: Kill PushBackReader
Jean Privat [Wed, 13 May 2015 17:56:03 +0000 (13:56 -0400)]
Merge: Kill PushBackReader

As part of the #1309 series, this is a first PR signaling the death of the PushBackReader, since its semantics were for the least, doubtful, and since its use was mainly for look-ahead parsers, it's been decided that a peek operation on BufferedReaders would be better.

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

8 years agoMerge: nitdoc: introduce tabbed view to hidde less important data
Jean Privat [Wed, 13 May 2015 15:20:36 +0000 (11:20 -0400)]
Merge: nitdoc: introduce tabbed view to hidde less important data

This PR introduce discrete tabs in the Nitdoc HTML output to hidde less important data like linearization tree, subclasses list etc.
This makes the main page more clean and readable.

Just pass the mouse over a definition to make the tab menu appear and select the details you want to see.
I also moved the source link here.

One can see the difference on [`Array[E]::SELF`](http://gresil.org/jenkins/job/CI-nitdoc/ws/doc/stdlib/class_standard__collection__array__Array.html#article:standard__collection__array__Array__SELF.definition). Notice the little burger menu on the right of the signature.

Démos:
* [stdlib](http://gresil.org/jenkins/job/CI-nitdoc/ws/doc/stdlib/index.html)
* [nitc](http://gresil.org/jenkins/job/CI-nitdoc/ws/doc/nitc/index.html)

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

8 years agoMerge: Revamp app.nit print_error and print_warning
Jean Privat [Wed, 13 May 2015 15:20:32 +0000 (11:20 -0400)]
Merge: Revamp app.nit print_error and print_warning

Should we move `print_error` to the standard library? It could be useful and specialized for many usages. Android redirects to logcat, PNaCl could redirect to the JavaScript console, and nitcorn could tee to console and a file.

All the current errors printed on `sys.stderr` are lost on Android. Redirecting the stream is not ideal as each call to `write` would use a new line on the Android log.

Pull-Request: #1329
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>

8 years agoMerge: Standardize the name of Android API level annotations
Jean Privat [Wed, 13 May 2015 15:20:28 +0000 (11:20 -0400)]
Merge: Standardize the name of Android API level annotations

Rename `min_api_version`, `max_api_version` and `target_api_version` to `android_api_min`, `android_api_max` and `android_api_target`. It fits better with the other `android_` annotations (as seen in `lib/android/aware.nit`) and with the `app_` annotations.

> Please ignore the first commit, it is from #1325.

Pull-Request: #1328
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>
Reviewed-by: Ait younes Mehdi Adel <overpex@gmail.com>

9 years agolib/standard: Removed push_back_reader and replaced it by a peek operation on Buffere...
Lucas Bajolet [Tue, 12 May 2015 15:42:25 +0000 (11:42 -0400)]
lib/standard: Removed push_back_reader and replaced it by a peek operation on BufferedReaders

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

9 years agoMerge branch 'master' into android-annotations
Alexis Laferrière [Tue, 12 May 2015 12:44:45 +0000 (08:44 -0400)]
Merge branch 'master' into android-annotations

9 years agoMerge branch 'master' into print_error
Alexis Laferrière [Tue, 12 May 2015 12:43:19 +0000 (08:43 -0400)]
Merge branch 'master' into print_error

9 years agoMerge: Rosettacode grayscale implementation
Jean Privat [Mon, 11 May 2015 23:24:54 +0000 (19:24 -0400)]
Merge: Rosettacode grayscale implementation

An implementation of Rosettacode's grayscale task (http://rosettacode.org/wiki/Grayscale_image) with additional features, including creating a Bitmap from scratch and manipulating its individual pixels.

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

9 years agoMerge: Fix C compiler warning on Java FFI and Android apps
Jean Privat [Mon, 11 May 2015 23:22:55 +0000 (19:22 -0400)]
Merge: Fix C compiler warning on Java FFI and Android apps

The generated C code used `static JNIEXPORT`, when the macro was expanded it duplicated the visibility attribute. It was reported by the C compiler as a warning. This PR removes the `static` part.

Pull-Request: #1327
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>

9 years agoMerge: Clean up Android and Linux app.nit libraries
Jean Privat [Mon, 11 May 2015 23:22:48 +0000 (19:22 -0400)]
Merge: Clean up Android and Linux app.nit libraries

The prefix in `linux_data_store` and `android_data_store` is no longer needed.

Importing only `dalvik` from an Android module makes it compatible with both implementations: the newer nit_activity and the older native_app_glue still used by games.

Pull-Request: #1325
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>

9 years agoMerge: nit rpg ack
Jean Privat [Mon, 11 May 2015 23:22:40 +0000 (19:22 -0400)]
Merge: nit rpg ack

Consider :shipit: and :+1: to also be the acknowledgment of reviewers.

Pull-Request: #1324
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>

9 years agoMerge: Intro the light FFI and use it in nith
Jean Privat [Mon, 11 May 2015 23:22:31 +0000 (19:22 -0400)]
Merge: Intro the light FFI and use it in nith

The new light FFI use only features that should be easy to implement in new/alternative engines to quickly achieve a bootstrap. For this reason, core features of the Nit standard library should be limited to use the light FFI.

## Features of the light FFI

* **Extern methods** implemented in C, nested within the Nit code.
  The body of these method is copied directly to the generated C files for compilation.
  Also supports extern `new` factories.
* Module level **C code blocks**, both "C Body" (the default) and "C Header".
  They will be copied to the beginning of the generated C files.
* Automatic transformation of Nit **primitive types** from/to their equivalent in C.
* **Extern classes** to create a Nit class around a C pointer.
  Allows to specify the equivalent C type of the Nit extern class.

## Features of the full FFI

* More foreign languages: **C++, Java and Objective-C**.
* **Callbacks** to Nit from foreign codes.
  The callbacks are declared in Nit using the `import` annotation on extern methods.
  They are then generated on demand for the target foreign language.
* **Static Nit types** in C for precise typing and static typing errors in C.
* **Propagating public code blocks** at the module level (C Header).
  This allows to use extern classes in foreign code in other modules
  without having to import the related headers.
  This is optional in C as it is easy to find the correct importation.
  However it is important in Java and other complex FFIs.
* **Reference pinning** of Nit objects from foreign code.
  This ensure that objects referenced from foreign code are not liberated by the GC.
* FFI **annotations**:
    * `cflags`, `ldflags` and `cppflags` pass arguments to the C and C++
      compilers and linker.
    * `pkgconfig` calls the `pkg-config` program to get the arguments
      to pass to the C copiler and linker.
    * `extra_java_files` adds Java source file to the compilation chain.

## Light FFI only compilation

Compilers using the module `compiler_ffi::light_only` do not compile extern method with callbacks. This is a good heuristic to determine whether the method uses the full FFI of the light FFI.

The limitation of this heuristic is on 3 features: static Nit types, propagating public code blocks and reference pinning. These features do not required any declaration on the Nit side so they are not reliably detectable by the compiler. Using these features will cause GGC to raise errors on unfound types and functions.

In the case of public code block propagation, the user can fix it by importing the needed C headers in each module. In the other cases, static Nit types and reference pinning, they are used for callbacks, the method should probably declare callbacks. Still, there is some very rare situations where these features could be used correctly and the method would still be recognized as light FFI. If this is becomes a problem, we could add an annotation such as `is light_ffi` to force the heuristic.

> This PR should be read commit by commit. The first 4 commits separate modules in 2 their light/full versions. The only code modification is adding supers, redefs and tweaking the imports.

Pull-Request: #1323
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

9 years agoMerge: nitiwiki: introduce wikilinks
Jean Privat [Mon, 11 May 2015 23:22:25 +0000 (19:22 -0400)]
Merge: nitiwiki: introduce wikilinks

Nitiwiki now understand the wikilink format using double brackets.

Examples:
`[[foo]]`: link to the page named `foo`
`[[foo/bar]]`: link to the page named `bar` in `foo`
`[[/foo/bar]]`: link to the page located exactly here

It's also possible to add a custom name:
`[[foo|My cute custom name <3]]`: link to the page named `foo`

And to use anchors:
`[[foo#bar]]`: link to the page named `foo`

nitiwiki will display warnings if a link seems broken.

Pull-Request: #1317
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agoMerge: contrib: Introduce refund
Jean Privat [Mon, 11 May 2015 23:22:19 +0000 (19:22 -0400)]
Merge: contrib: Introduce refund

`refund` is a tool developped for the correction of the course INF2015: Développement de logiciels dans un environnement Agile.

Its purpose is to parse a reclamation sheet submitted by an insurrance client in Json format then to compute the allowed refunds depending on the policy contracted by the client.

Even if this program is not really usefull for the Nit project, it makes a concrete example on how we can use the language in the real world, so I submit it.

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

9 years agoMerge: lib: introduce MongoDB wrapper
Jean Privat [Mon, 11 May 2015 23:22:16 +0000 (19:22 -0400)]
Merge: lib: introduce MongoDB wrapper

This is my first real use of the FFI, @xymus you input on that?

Also poking @BlackMinou because he likes to review C code.

Pull-Request: #1303
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agoBitmap class as part of the bitmap library
Budi Kurniawan [Sun, 19 Apr 2015 14:11:25 +0000 (10:11 -0400)]
Bitmap class as part of the bitmap library

Signed-off-by: Budi Kurniawan <budi2020@gmail.com>

9 years agonitdoc: display source link in tab menu
Alexandre Terrasa [Fri, 24 Apr 2015 16:04:33 +0000 (12:04 -0400)]
nitdoc: display source link in tab menu

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

9 years agonitdoc: display less important data in tabs
Alexandre Terrasa [Fri, 24 Apr 2015 16:04:09 +0000 (12:04 -0400)]
nitdoc: display less important data in tabs

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

9 years agonitdoc: hierarchy lists use TabbedGroup
Alexandre Terrasa [Fri, 24 Apr 2015 16:02:01 +0000 (12:02 -0400)]
nitdoc: hierarchy lists use TabbedGroup

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

9 years agonitdoc: intro/redef lists use TabbedGroup
Alexandre Terrasa [Fri, 24 Apr 2015 16:01:36 +0000 (12:01 -0400)]
nitdoc: intro/redef lists use TabbedGroup

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

9 years agonitdoc: introduce TabbedGroup and PanelGroup composite
Alexandre Terrasa [Fri, 24 Apr 2015 16:00:43 +0000 (12:00 -0400)]
nitdoc: introduce TabbedGroup and PanelGroup composite

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

9 years agonitdoc: introduce Tabs component
Alexandre Terrasa [Fri, 24 Apr 2015 15:58:56 +0000 (11:58 -0400)]
nitdoc: introduce Tabs component

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

9 years agolib: introduce MongoDB wrapper
Alexandre Terrasa [Wed, 6 May 2015 23:53:03 +0000 (19:53 -0400)]
lib: introduce MongoDB wrapper

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

9 years agosrc/ffi: add some missing doc and clean up
Alexis Laferrière [Fri, 8 May 2015 14:23:36 +0000 (10:23 -0400)]
src/ffi: add some missing doc and clean up

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

9 years agosrc/ffi: document the differences between the light and full FFI
Alexis Laferrière [Fri, 8 May 2015 14:05:12 +0000 (10:05 -0400)]
src/ffi: document the differences between the light and full FFI

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

9 years agolib/c: introduce char** wrapper
Alexandre Terrasa [Mon, 11 May 2015 00:18:48 +0000 (20:18 -0400)]
lib/c: introduce char** wrapper

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

9 years agocontrib/refund: add refund tmp files to gitignore.
Alexandre Terrasa [Wed, 6 May 2015 17:10:17 +0000 (13:10 -0400)]
contrib/refund: add refund tmp files to gitignore.

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

9 years agocontrib/refund: add Makefile
Alexandre Terrasa [Wed, 6 May 2015 17:09:57 +0000 (13:09 -0400)]
contrib/refund: add Makefile

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

9 years agocontrib/refund: add tests
Alexandre Terrasa [Wed, 6 May 2015 17:09:41 +0000 (13:09 -0400)]
contrib/refund: add tests

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

9 years agocontrib/nitiwiki: update README
Alexandre Terrasa [Thu, 7 May 2015 05:57:45 +0000 (01:57 -0400)]
contrib/nitiwiki: update README

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

9 years agocontrib/nitiwiki: update tests
Alexandre Terrasa [Thu, 7 May 2015 14:06:11 +0000 (10:06 -0400)]
contrib/nitiwiki: update tests

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

9 years agocontrib/nitiwiki: introduce wikilinks
Alexandre Terrasa [Thu, 7 May 2015 05:42:31 +0000 (01:42 -0400)]
contrib/nitiwiki: introduce wikilinks

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

9 years agocontrib: introduce `refund` calculator
Alexandre Terrasa [Wed, 6 May 2015 17:08:48 +0000 (13:08 -0400)]
contrib: introduce `refund` calculator

This project was used to the correction of the course
INF2015: Développement de logiciels dans un environnement Agile"

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

9 years agolib: update users of the new `print_error`
Alexis Laferrière [Sat, 9 May 2015 03:36:25 +0000 (23:36 -0400)]
lib: update users of the new `print_error`

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

9 years agolib/android: make native methods of `log` private
Alexis Laferrière [Sat, 9 May 2015 03:36:07 +0000 (23:36 -0400)]
lib/android: make native methods of `log` private

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

9 years agolib/android: move the implementation of prints to the `log` module
Alexis Laferrière [Sat, 9 May 2015 03:35:42 +0000 (23:35 -0400)]
lib/android: move the implementation of prints to the `log` module

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

9 years agolib/app & android: move log_prefix to Android, where it is used
Alexis Laferrière [Tue, 5 May 2015 15:54:19 +0000 (11:54 -0400)]
lib/app & android: move log_prefix to Android, where it is used

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

9 years agolib/app: make the warning log method behave more like `print`
Alexis Laferrière [Sat, 9 May 2015 13:39:57 +0000 (09:39 -0400)]
lib/app: make the warning log method behave more like `print`

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

9 years agolib: improve and move `print_error` to the standard library
Alexis Laferrière [Sat, 9 May 2015 03:34:19 +0000 (23:34 -0400)]
lib: improve and move `print_error` to the standard library

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

9 years agolib & examples: update users of Android API version annotations
Alexis Laferrière [Sat, 9 May 2015 02:02:24 +0000 (22:02 -0400)]
lib & examples: update users of Android API version annotations

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

9 years agolib & src: name Android API version annotations
Alexis Laferrière [Sat, 9 May 2015 01:58:42 +0000 (21:58 -0400)]
lib & src: name Android API version annotations

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

9 years agolib/android: make `ui` a group and clean doc
Alexis Laferrière [Tue, 5 May 2015 17:28:54 +0000 (13:28 -0400)]
lib/android: make `ui` a group and clean doc

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

9 years agosrc/ffi: avoid duplicating visibility attributes of JNI native functions in C
Alexis Laferrière [Sat, 9 May 2015 02:31:19 +0000 (22:31 -0400)]
src/ffi: avoid duplicating visibility attributes of JNI native functions in C

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

9 years agosrc/c_tools: revamp doc and style of some `CCompilationUnit` services
Alexis Laferrière [Sat, 9 May 2015 02:28:23 +0000 (22:28 -0400)]
src/c_tools: revamp doc and style of some `CCompilationUnit` services

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

9 years agoMerge: Autoinit abstract attributes
Jean Privat [Sat, 9 May 2015 01:23:47 +0000 (21:23 -0400)]
Merge: Autoinit abstract attributes

Fix #1316

Pull-Request: #1321
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agoMerge: Add missing nodes in the AST
Jean Privat [Sat, 9 May 2015 01:23:39 +0000 (21:23 -0400)]
Merge: Add missing nodes in the AST

Originally, the AST was very abstract and included only node that useful semantically, thus dropped most keywords and symbols during the AST transformation done by sablecc.

After all these years, I was a very bad idea that cause useless complexity for preople that wanted to program precise error messages or develop tools like nitlight or nitpretty.

So, this PR add back most of these nodes in the AST. Future PR may simplify the code of the tools to deal we a more complete AST thus remove heuristics to retrieve the missing tokens.

Pull-Request: #1320
Reviewed-by: Ait younes Mehdi Adel <overpex@gmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agoMerge: i18n annot: superstrings
Jean Privat [Sat, 9 May 2015 01:23:37 +0000 (21:23 -0400)]
Merge: i18n annot: superstrings

Added the support of superstrings in the i18n annotation.

The first commit introduces a string format to use when replacing superstrings.
The second and third commits are updates to the i18n annotation and the test that goes along with it.

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

9 years agoMerge: vim: look for `{ in deciding to highlight ffi language name. eg "C".
Jean Privat [Sat, 9 May 2015 01:23:29 +0000 (21:23 -0400)]
Merge: vim: look for `{ in deciding to highlight ffi language name. eg "C".

so `"C"` is now contextually highlighted.

Note: `\ze` means the end mark. What follows is looked for to be matched but is not considered in the token (some kind of lookahead)

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

9 years agoMerge: GTK clean up and a few new features
Jean Privat [Sat, 9 May 2015 01:23:20 +0000 (21:23 -0400)]
Merge: GTK clean up and a few new features

You should read this PR commit by commit as the style update touches almost every line. The style update adds and removes spaces, and it removes empty and commented methods. It does not touch the documentation, there is still a lot of work to do there.

Please read the commit description of "lib/gtk: ignore deprecated warnings" for the rationale of the change.

GTK will be used to implement the abstract UI on GNU/Linux.

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

9 years agoexamples/mnit_simple: update to latest `Intent` API
Alexis Laferrière [Fri, 8 May 2015 21:18:50 +0000 (17:18 -0400)]
examples/mnit_simple: update to latest `Intent` API

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

9 years agovim: look for `{ in deciding to highlight ffi language name. eg "C".
Jean Privat [Fri, 8 May 2015 20:40:17 +0000 (16:40 -0400)]
vim: look for `{ in deciding to highlight ffi language name. eg "C".

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

9 years agoexamples: langannot example updated with superstring capabilities
Lucas Bajolet [Thu, 7 May 2015 15:05:46 +0000 (11:05 -0400)]
examples: langannot example updated with superstring capabilities

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

9 years agosrc/frontend: i18n phase updated to support superstrings in a correct way
Lucas Bajolet [Thu, 7 May 2015 14:50:40 +0000 (10:50 -0400)]
src/frontend: i18n phase updated to support superstrings in a correct way

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

9 years agolib/standard/string: Added function to format a String using a new notation
Lucas Bajolet [Thu, 7 May 2015 14:50:17 +0000 (10:50 -0400)]
lib/standard/string: Added function to format a String using a new notation

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

9 years agolib/android/ui: move up some services the extern classes hierarchy
Alexis Laferrière [Tue, 5 May 2015 20:32:00 +0000 (16:32 -0400)]
lib/android/ui: move up some services the extern classes hierarchy

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

9 years agolib/android: make `ui` a group and clean doc
Alexis Laferrière [Tue, 5 May 2015 17:28:54 +0000 (13:28 -0400)]
lib/android: make `ui` a group and clean doc

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

9 years agolib/android: the `vibration` module only needs `dalvik`
Alexis Laferrière [Fri, 8 May 2015 18:23:18 +0000 (14:23 -0400)]
lib/android: the `vibration` module only needs `dalvik`

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

9 years agolib/android: the `toast` module only needs `dalvik`
Alexis Laferrière [Fri, 8 May 2015 18:23:12 +0000 (14:23 -0400)]
lib/android: the `toast` module only needs `dalvik`

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

9 years agolib/android: `Intent` do not need a context and update its constructor
Alexis Laferrière [Fri, 8 May 2015 18:42:19 +0000 (14:42 -0400)]
lib/android: `Intent` do not need a context and update its constructor

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

9 years agolib/android: move intent launching services out of `Intent`
Alexis Laferrière [Fri, 8 May 2015 18:17:16 +0000 (14:17 -0400)]
lib/android: move intent launching services out of `Intent`

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

9 years agolib/android: shared preferences only need `dalvik`
Alexis Laferrière [Fri, 8 May 2015 16:27:42 +0000 (12:27 -0400)]
lib/android: shared preferences only need `dalvik`

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

9 years agolib/android: rename android_data_store to data_store
Alexis Laferrière [Fri, 8 May 2015 17:59:23 +0000 (13:59 -0400)]
lib/android: rename android_data_store to data_store

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

9 years agolib/linux: rename linux_data_store to data_store
Alexis Laferrière [Fri, 8 May 2015 16:24:01 +0000 (12:24 -0400)]
lib/linux: rename linux_data_store to data_store

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

9 years agotests: add base_attr_abstract2.nit
Jean Privat [Fri, 8 May 2015 01:28:16 +0000 (21:28 -0400)]
tests: add base_attr_abstract2.nit

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

9 years agomodelize: abstract attributes included in autoinit signature
Jean Privat [Fri, 8 May 2015 01:26:34 +0000 (21:26 -0400)]
modelize: abstract attributes included in autoinit signature

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

9 years agonitrpg: use is_ack
Jean Privat [Fri, 8 May 2015 18:21:10 +0000 (14:21 -0400)]
nitrpg: use is_ack

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

9 years agolib/github: add `Comment::is_ack` to detect acknowledgments
Jean Privat [Fri, 8 May 2015 18:20:33 +0000 (14:20 -0400)]
lib/github: add `Comment::is_ack` to detect acknowledgments

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

9 years agotests: update sav with new location on error messages
Jean Privat [Fri, 8 May 2015 01:05:18 +0000 (21:05 -0400)]
tests: update sav with new location on error messages

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

9 years agoparser: regenerate
Jean Privat [Tue, 5 May 2015 01:03:41 +0000 (21:03 -0400)]
parser: regenerate

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

9 years agoastbuilder: inject non-nullable token for AIfExpr creation
Jean Privat [Tue, 5 May 2015 01:03:24 +0000 (21:03 -0400)]
astbuilder: inject non-nullable token for AIfExpr creation

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

9 years agogrammar: add missing nodes in the AST
Jean Privat [Tue, 5 May 2015 01:01:57 +0000 (21:01 -0400)]
grammar: add missing nodes in the AST

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

9 years agosrc/nith: activate light FFI in nith
Alexis Laferrière [Fri, 8 May 2015 13:08:19 +0000 (09:08 -0400)]
src/nith: activate light FFI in nith

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

9 years agosrc/ffi: add the light_only FFI compiler
Alexis Laferrière [Fri, 8 May 2015 13:12:43 +0000 (09:12 -0400)]
src/ffi: add the light_only FFI compiler

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

9 years agosrc/ffi: add a check before compiling FFI methods to see if supported
Alexis Laferrière [Fri, 8 May 2015 13:07:19 +0000 (09:07 -0400)]
src/ffi: add a check before compiling FFI methods to see if supported

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

9 years agosrc/nitni: add indirection for the C type name of normal nit classes
Alexis Laferrière [Fri, 8 May 2015 12:58:24 +0000 (08:58 -0400)]
src/nitni: add indirection for the C type name of normal nit classes

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

9 years agosrc/ffi: restrict importations in extern_classes
Alexis Laferrière [Fri, 8 May 2015 13:07:55 +0000 (09:07 -0400)]
src/ffi: restrict importations in extern_classes

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

9 years agosrc/ffi: separate compiler_ffi in light/full modules
Alexis Laferrière [Wed, 6 May 2015 11:47:52 +0000 (07:47 -0400)]
src/ffi: separate compiler_ffi in light/full modules

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

9 years agosrc/ffi: separate ffi::ffi in light/full version
Alexis Laferrière [Fri, 8 May 2015 13:10:55 +0000 (09:10 -0400)]
src/ffi: separate ffi::ffi in light/full version

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

9 years agosrc/ffi: separate ffi::c in light/full modules
Alexis Laferrière [Fri, 8 May 2015 12:52:51 +0000 (08:52 -0400)]
src/ffi: separate ffi::c in light/full modules

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

9 years agosrc/ffi: separate ffi::ffi_base in light/full modules
Alexis Laferrière [Fri, 8 May 2015 12:53:10 +0000 (08:53 -0400)]
src/ffi: separate ffi::ffi_base in light/full modules

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

9 years agoMerge: Nitdoc: some fixes and cleaning
Jean Privat [Fri, 8 May 2015 02:11:24 +0000 (22:11 -0400)]
Merge: Nitdoc: some fixes and cleaning

* Fixes the topmenu brand display
* Update bootstrap version to v3.3.4
* Avoid nesting of DefinitionArticle to facilitate tabular display (next PR)

Demos are ready: [stdlib](http://gresil.org/jenkins/job/CI-nitdoc/ws/doc/stdlib/index.html) [nitc](http://gresil.org/jenkins/job/CI-nitdoc/ws/doc/nitc/index.html)

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

9 years agoMerge: Fix calls on primitive receivers
Jean Privat [Fri, 8 May 2015 02:11:21 +0000 (22:11 -0400)]
Merge: Fix calls on primitive receivers

Fix #1301

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

9 years agotests: add base_primitive_recv.nit
Jean Privat [Thu, 7 May 2015 14:17:37 +0000 (10:17 -0400)]
tests: add base_primitive_recv.nit

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

9 years agocompiler: use `adapt_signature` to simplify and clean `table_send`
Jean Privat [Thu, 7 May 2015 14:11:40 +0000 (10:11 -0400)]
compiler: use `adapt_signature` to simplify and clean `table_send`

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

9 years agocontrib/nitiwiki: extract link handling in its own module
Alexandre Terrasa [Thu, 7 May 2015 05:39:55 +0000 (01:39 -0400)]
contrib/nitiwiki: extract link handling in its own module

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

9 years agocontrib/nitiwiki: avoid crash on `WikiArticle.md` with auto generated articles
Alexandre Terrasa [Thu, 7 May 2015 05:35:09 +0000 (01:35 -0400)]
contrib/nitiwiki: avoid crash on `WikiArticle.md` with auto generated articles

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

9 years agocontrib/nitiwiki: move `render` to `wiki_base`
Alexandre Terrasa [Thu, 7 May 2015 05:34:05 +0000 (01:34 -0400)]
contrib/nitiwiki: move `render` to `wiki_base`

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

9 years agocontrib/nitiwiki: better logging
Alexandre Terrasa [Thu, 7 May 2015 05:31:26 +0000 (01:31 -0400)]
contrib/nitiwiki: better logging

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

9 years agocontrib/nitiwiki: display status if no other option requested
Alexandre Terrasa [Thu, 7 May 2015 05:30:03 +0000 (01:30 -0400)]
contrib/nitiwiki: display status if no other option requested

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

9 years agolib/markdown: fix whitespaces and indent
Alexandre Terrasa [Thu, 7 May 2015 05:44:27 +0000 (01:44 -0400)]
lib/markdown: fix whitespaces and indent

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

9 years agoMerge: Semicolumn
Jean Privat [Thu, 7 May 2015 01:56:10 +0000 (21:56 -0400)]
Merge: Semicolumn

Propose that `;` is usable as a hard line break. While this is not really nit-ish, the only need is in fact to be able to write short one-line scripts in environment where linefeeds are not an option.

~~~sh
$ ./nit -e 'for line in stdin.each_line do; var xs = line.split(":"); if xs.not_empty then print xs.first; end' < /etc/passwd
~~~

Pull-Request: #1305
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agoMerge: Balanced brackets
Jean Privat [Thu, 7 May 2015 01:56:08 +0000 (21:56 -0400)]
Merge: Balanced brackets

The PR started as a simple implementation for the task http://rosettacode.org/wiki/Balanced_brackets but some improvements on the lib and tests.sh where also added

Pull-Request: #1307
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agoexamples & tests: update users of the gtk module
Alexis Laferrière [Tue, 5 May 2015 10:08:45 +0000 (06:08 -0400)]
examples & tests: update users of the gtk module

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

9 years agonitdoc: do not nest DefinitionArticle
Alexandre Terrasa [Fri, 24 Apr 2015 15:58:33 +0000 (11:58 -0400)]
nitdoc: do not nest DefinitionArticle

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

9 years agonitdoc: update bootstrap version
Alexandre Terrasa [Fri, 24 Apr 2015 15:50:42 +0000 (11:50 -0400)]
nitdoc: update bootstrap version

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

9 years agonitdoc: fixes double span on topmenu brand
Alexandre Terrasa [Fri, 24 Apr 2015 03:24:39 +0000 (23:24 -0400)]
nitdoc: fixes double span on topmenu brand

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

9 years agolib/json: add pretty printing services on Jsonable instances
Alexandre Terrasa [Wed, 6 May 2015 17:05:03 +0000 (13:05 -0400)]
lib/json: add pretty printing services on Jsonable instances

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