UPDATE !
- Added optional arguments
- Added default value for optional arguments
- Added assignment support (e.g. "A = 3" become "3->A")
- Added assignment checker to verify if an assignment is valid
- Translation packages can translate functions' name
- Translated function's name can be "un-camel-cased" (e.g. "inverserPixel" become "inverser_pixel")
- Improved translation system : Make a translation pack is easier now (using a simple parameters system)
- Added #unquote directive to remove the quotes at the beginning and the end of a string to include it in another string without using concatenation
Misc. improvements
- Added notices to check problems encountered during compilation
- Fixed bug : Bug in errors display for "Missing argument for function..."
En français :
- Les fonctions acceptent désormais des arguments optionnels (c'est-à-dire que vous n'êtes pas obligé de les passer à la fonction). Dans ce cas-là, vous pouvoir choisir ou non d'inclure une portion de code selon si tel argument a bien été spécifié.
- Les arguments optionnels peuvent avoir une valeur par défaut. Cela signifie que si vous ne les spécifiez pas, la valeur par défaut sera attribuée à l'argument. Cependant, vous pourrez toujours ou non inclure certaines lignes selon si l'argument a été spécifié.
- Support des assignements : Le code 'A = 2' sera converti en '2->A'. Le compilateur vérifiera également que vous n'assignez pas une liste à un nombre, par exemple.
- Les noms des fonctions peuvent être traduites dans le pack de traduction
- Les noms de fonctions traduites peuvent être dé-camel-case-ée, c'est à dire que 'inverserPixel' deviendra 'inverser_pixel' ce qui permets une meilleur lisibilité dans certains cas.
- La création d'un pack de traduction est désormais plus facile grâce à leur nouveau format.
- La directive #unquote a été rajoutée pour enlever les guillemets d'une variable :
- Code: Tout sélectionner
function hello(string name) {
print "Bonjour "+{{name}}
}
hello("Jacques")
devient
- Code: Tout sélectionner
function hello(string name) {
#unquote name
print "Bonjour {{name}}"
}
hello("Jacques")
1 - Ça permets d'avoir un code plus clair
2 - Le compilateur sortira "Bonjour Jacques" au lieu de "Bonjour "+"Jacques", ce qui permets de gagner quelques octets ^^
P.S. : Je ferai un tutoriel sur ce langage, sur les bases et les manipulations avancées, lorsque j'aurai terminé le compilateur (ce qui est presque le cas)