Releases: Program132/French-Programming-Language
V2.0 : Un nouveau parser
Parser
Un nouveau parser est arrivé pour cette nouvelle version !
Rien de particulier modifié/ajouté au premier regard mais en backend beaucoup de chose ont changé : plus de séparation des fichiers, accès aux datas du code sans problème, etc.
La documentation a également été mis à jour ! Des changements risques d'arrivé à la fin de la pre-release.
Cependant, les instructions pour les boucles et conditions ont temporairement été enlevé, elle reviendront pendant la V2.
News
Le langage comporte une nouveauté : les paquets, ils permettent le regroupement des éléments telle que les fonctions ou autre, voir la doc.
V1.9: Boucle + condition
ATTENTION : Cette mise à jour clôture la V1 et contient des tests, tout n'est pas finis mais tout sera bon pour la V2 !
Dans cette mise à jour, vous trouverez deux nouvelles instructions :
-
tant que qui est une boucle comme while, il y a qu'un opérateur conditionnelles disponible qui est "=" qui permet d'incrémenter ou de décrémenter en fonction de la valeur de la variable et de la valeur que vous souhaitez vérifier.
-
verifier qui est instruction conditionnelle qui permet de faire comme un switch dans les langages connus comme en C++, Java, etc.
Voici des exemples pendant l'addition des ces instructions
variable entier a -> 15;
tant que a = 10, incrementer 1 {
envoyer "Yo";
}
envoyer a;
variable entier b -> 5;
tant que b = 10, incrementer 1 {
envoyer "Yo 2";
}
envoyer b;
variable entier a -> 3;
verifier a {
quand 5,3:
envoyer "Bonjour";
,
defaut:
envoyer "salut";
,
}
variable entier a -> 3;
verifier a {
quand 5,3:
envoyer "Bonjour";
,
}
V1.75: Importation, conversion, et +.
Dans cette nouvelle mise à jour, vous pourrez importer des fichier en ".fpl", convertir des variable de type "texte" en type "entier", et bien plus encore !
fichier.fpl :
envoyer "yo";
main.fpl :
importer "fichier.fpl";
envoyer "Salut";
Cela va exécuter tout ce qu'il y a dans le fichier que vous importez !
variable texte a -> "5";
convertir a entier;
variable texte b -> "5.25";
convertir b decimal;
De plus, un nouveau type à fait son apparaition : bool ou booleen.
definir fonc() {
variable bool b -> faux;
renvoyer b;
}
variable bool fonction a -> fonc;
envoyer a;
V1.35 : Fixs, Opti, Les fichiers !
Dans cette nouvelle mise à jour, de nombreux fixs et ajout d'optimisation ont été appliqué !
Premièrement, dès à présent vous pouvez donner le nom du fichier en argument dans votre invite de commande comme: French_Programming_Language.exe main.fpl
et cela ne vous demandera pas de donner le fichier où l'interpréteur va analysé.
De plus, maintenant vous pouvez donner un argument ou une variable dans l'instruction renvoyer à l'intérieur d'une fonction, qui renverra la valeur de cette variable/cet argument.
definir p() {
variable entier a -> 15;
renvoyer a;
}
variable entier fonction b -> p;
envoyer b;
definir p(entier age) {
envoyer "fonction qui donne l'argument age";
renvoyer age;
}
variable entier fonction b -> p : age 25;
envoyer b;
Nouveauté: la lecture et l'écriture dans des fichiers. Sachez une chose, si vous fichier est inexistant lorsque vous voulez écrire à l'intérieur, il se créera automatiquement lui même avec le contenu que vous souhaitez lui donner.
fichier ecrire "msg.txt" -> "Yo";
fichier lire "msg.txt" content;
envoyer content;
Comme d'habitude, un exécutable pour Windows + Linux, le fichier main.fpl et enfin pour l'exemple avec les fichiers un msg.txt qui est le fichier utilisé dans le main.fpl !
V1.3 : Des fonctions, nouveau type et plus.
Dans cette nouvelle version on a les fonctions avec l'instruction definir
. On peut ajouter des arguments et faire un return avec l'instruction renvoyer
.
Pour une appellation d'une fonction simple, c'est à dire sans return et bien on utilisera l'instruction appeler
.
Si non, on déclarera une variable qui doit être de même type que le type du retour de la fonction. On utilisera ce format : variable [type] fonction [nom] -> [arguments];
Nouveau type : auto
. Cela permettra de ne pas se tromper en cas de doute.
Les variables globales : elles peuvent être déclaré dans une fonction et être utilisé à l'extérieur de cette dernière, tandis que si elles ne sont pas globales, celles déclaré dans une fonction seront supprimées.
Des nombreux fixs ont été faits.
V1.07 : Inputs et bien plus :).
Dans cette mise à jour :
- Des fixs sur des failles.
- Possibilité de faire des inputs avec
variable texte saisir entre;
ouvariable texte saisir entre -> "Le message qui sera visible dans la console";
- Insertion des variables dans les prints :
variable entier a -> 5;
envoyer "La valeur de a est :" [a];
V1.05
Mise à jour comportant des fixs sur des failles présentant un problème.
Un opérateur à mettre à chaque fin d'instruction.
Possible de déclarer une variable qui a la même valeur qu'une autre variable.
Voici un résumé :
variable entier a -> 5;
envoyer a;
changer a -> 10;
envoyer a;
variable entier b -> a;
envoyer b;
V1.0 : Un nouveau départ
F.P.L a été tout refait à 0.
En effet, maintenant j'utilise un Parser et ce qui est très très pratique :). Des petites modifications ont aussi été apporté.
Je vous invite à lire la documentation pour commencer.
Vous trouverez un fichier exécutable pour Linux + Windows et un fichier .fpl comme exemple.
Sachez que vous devez préciser le fichier à l'interpréteur au lancement du programme.
V0.3 : mettre à jour la valeur d'une variable
Maintenant grâce aux mot clé "changer" vous pouvez modifié la valeur de votre variable :) !
Format: changer [VARIABLE] -> [VALEUR]
Quelque fixs ont aussi été apporté.
V0.22 Insertion des variables dans envoyer
Dès à présent, vous pourrez insérer vos variables et voir leur valeurs dans la fonctionnalité envoyer
Vous pouvez toujours utiliser un argument comme : envoyer mavariable
mais aussi : envoyer Resultat de 5 + 10 : [calcul]
Je vous invite à voir le wiki.