share/png: intro the libpng base code for the Android platform

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
share/png: configure the png library for android

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
share/png: add Android specific makefiles to the png library

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
share: intro a README file to explain the sub-folders

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
lib: intro the android implementation of mnit

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
lib: import the android module from mnit_android

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
nitg/android: add a deeper folder to generated project

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
nitg/android: compile with the png lib

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
syntax: ignore first '\n' in triple-quoted strings

This detail of the specification makes triple-quoted strings more
readable and usable in code.

Before, programmer was required to starts content just after the """
thus writing unaligned piece of text

~~~
var x = """Roses are red,
Violets are blue,
Triple-quoted strings,
Are easier to write.
"""
~~~

This patch ignore the end of line iff it just follows the """,
thus programmer can write

~~~
var x = """
Roses are red,
Violets are blue,
Triple-quoted strings,
Are easier to write.
"""
~~~

This commit will improve the usability of the new/future template library.

Signed-off-by: Jean Privat <jean@pryen.org>
nitg/android: load assets on the APK

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
nitg/android: move generate apk file (with -o or locally)

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
example: update mnit examples with android version

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
syntax: allows trailing " and { in triple quoted strings

Previously, the 3 first " where the start
and what followed the content until 3 other "

therefore `""""x"""` is the 2 char string `"x`;
but `"""x""""` was illegal (a single x followed by a un-terminated string)

This commit make long string end at a sequence of 3 or more " but considers
only the last 3 to be the end token.

Now, `"""x""""` is legal and is the 2 character string `x"`

Last example:

~~~
print """"""""" # output 3 characters: """
~~~

Signed-off-by: Jean Privat <jean@pryen.org>
syntax: enable empty expression-expansion in super-strings

Allows `"a{}b"` to be `"ab"`, ie with an empty expansion in the body.

The point of this commit is to allow line-breaks or comments in strings

~~~
print "this {
      }is a { # some comment
      }string"
~~~
outputs "this is a string"

Signed-off-by: Jean Privat <jean@pryen.org>
parser: regenerate for strings

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

Signed-off-by: Jean Privat <jean@pryen.org>
vim: update syntax for strings

Signed-off-by: Jean Privat <jean@pryen.org>
Merge branch 'triple_quoted'
lib/stream: add Streamable interface

Signed-off-by: Jean Privat <jean@pryen.org>
lib: add new module `template`

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