Freon
Freon est un fork de Neon dont le but est de se rapprocher le plus possible de la programmation en langage naturel ou pseudo-code.
Freon reprend toutes les fonctionnalités de Neon, mais avec un redesign complet de l'interface console, des noms de fonctions, des mots-clés, des opérateurs, des messages d'erreurs, des noms de types et des constantes prédéfinies.
Voici une liste complète des changements apportés par Freon :
Mots-clés :
for → Pour
while → TantQue
if → Si
elif → SinonSi
else → Sinon
end → Fin
function → Fonction
method → Methode
return → Renvoyer
import → Importer
local → Locale
continue → Continuer
break → Sortir
pass → NeRienFaire
Noms de fonctions :
print → Afficher
input → Demander
nbr → nbr
str → chaine
len → longueur
sub → souschaine
exit → Quitter
append → Ajouter
remove → Enlever
insert → Inserer
type → type
reverse → retourner
eval → evaluer
clear → Effacer
help → aide
randint → entAleat
failwith → QuitterAvec
time → temps
assert → Verifier
output → Ecrire
chr → car
ord → ascii
list_comp → compDeListe
create_exception → CreerErreur
exception → Erreur
int → ent
index → indice
replace → remplacer
count → compter
list → lister
sort_asc → Trier_croiss
sord_desc → Trier_decroiss
sin → sin
cos → cos
tan → tan
deg → deg
rad → rad
sqrt → racine
ln → ln
exp → exp
log → log
log2 → log2
round → arrondir
abs → abs
ceil → partEntSup
floor → partEntInf
readFile → lireFichier
writeFile → EcrireFichier
Comme vous l'avez remarqué, certains noms de fonctions commencent par une majuscule, et d'autres non.
La règle est simple : si une fonction renvoie une valeur (longueur, souschaine, nbr, ...) elle sera toute en minuscule, sinon elle commencera par une majuscule.
Opérateurs :
and → et
or → ou
not → non
xor → oux
del → suppr
in → dans
% → mod #modulo
= → <- #affectation
<- → := #affectation par nom de variable
Constantes prédéfinies :
True → Vrai
False → Faux
None → Rien
Noms de types :
Bool → Booleen
String → Chaine
Number → Nombre
Built-in function → Fonction de base
List → Liste
Function → Fonction
Method → Methode
Exception → Erreur
AnyType → N'importe quel type
Autres choses traduites :
Messages d'erreurs et noms d'exceptions prédéfinies
Autres nouveautés :
Afin de pouvoir créer des programmes dont le format ressemble plus à du pseudo-code, le caractère '|' a été banalisé : l'interpréteur ignore ce caractère comme il ignore un espace. Ainsi, le programme suivant est un programme Freon parfaitement valide, et affichant 120 :
Fonction Factorielle(n) faire
| Si (n <= 1) alors
| | Renvoyer (1)
| Sinon
| | Renvoyer ( Factorielle(n-1) * n )
| Fin
Fin
Afficher (Factorielle(5))
Pour voir le code source, et tester vous-même le langage : https://github.com/Bobb56/Freon