lib/github: introduces GithubCurl::get_and_parse to handle API error without aborting

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
lib/github: introduces object oriented interface for GithubAPI

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
grammar: new production `array_items` to replace arg_list for literal arrays

Signed-off-by: Jean Privat <jean@pryen.org>
grammar: extends array_item to accept array extension elements

Signed-off-by: Jean Privat <jean@pryen.org>
parser: regenerate with comprehension arrays

Signed-off-by: Jean Privat <jean@pryen.org>
typing: add `AArrayExpr::element_mtype`

Signed-off-by: Jean Privat <jean@pryen.org>
typing: mark expressions that belong to an array comprehension

Signed-off-by: Jean Privat <jean@pryen.org>
interpreter: implements array comprehensions

Signed-off-by: Jean Privat <jean@pryen.org>
nitg: handle direct compilation of comprehension arrays

Because of `transform`, it is only used if compiled
with `--disable-phase transform`

Signed-off-by: Jean Privat <jean@pryen.org>
transform: introduce `full_transform_visitor` for complex transformations

Signed-off-by: Jean Privat <jean@pryen.org>
transform: transform array comprehension in simpler statements

Signed-off-by: Jean Privat <jean@pryen.org>
tests: add test_comprehension.nit

Signed-off-by: Jean Privat <jean@pryen.org>
lib/nitcorn: allows access to POST raw body

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
lib/nitcorn: handles bufferized request content

Partially fixes #1027

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
neo4j: Remove the old `jsonable` library.

That library is useless since PR #907.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
lib/json: introduces json store a simple json data storage system.

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
string: Fix `to_cmangle` to always produce valid C identifiers.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
string: Fix `to_cmangle` to never end with an underscore.

This permits to use two underscores as a separator between two mangled
names (like Nitdoc does).

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
nitdoc: Fix a minor documentation mistake.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
nitdoc: Group non-Nit entities at the bottom of `doc_model.nit`.

Follow the division indicated by the comments in this file.

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>