Ce fichier contient la syntaxe du langage FSProg.
ATTENTION :
L'exécuteur de script FSProg respècte la casse ! (sauf pour les paramètres de fonctions)
FSProg ne prend pas en compte l'encastrement de fonction (ex : "message(Info,fRead(Fichier.txt),64)") !
Une ligne ne doit pas contenir plus de 10000 caractères et chaque paramètre ne doit pas contenir plus de 1000 caractères !
Pour des raisons d'optimisation, un nom de variable est limité à 100 caractères.
Pour des raisons d'optimisation, le contenu d'une variable est limité à 10000 caractères.
Pour des raisons d'optimisation, le nombre de variables est limité à 1000 (tout comme celui des fonctions et des #replace).
NB : Si vous utilisez une variable innexistante, la chaine ne sera pas modifié.
Tous les paramètres de fonction non définis vaudront 0 (ex : sleep() vaut sleep(0))
Les caractères $ , ; _ ( ) + - * / % ! & | { et } étant interdits dans les chaines de caractères, il faut les remplacer par :
| Caractère | Remplacement |
| $ | {d} |
| , | {v} |
| ; | {p} |
| _ | {u} |
| ( | {po} |
| ) | {pc} |
| + | {plus} |
| - | {less} |
| * | {mult} |
| / | {divi} |
| % | {modu} |
| ! | {em} |
| & | {and} |
| | | {vb} |
| { | {{} |
| } | {}} |
---------------------------------------------------------------------- Variables ----------------------------------------------------------------------
Syntaxe : $MaVariable;
Notes : Pour déclarer une variable :
$MaVariable;=ValeurPour créer une variable vide :
$MaVariable;=NULLNB : Une variable commence toujours par un $ et finis par un ;
---------------------------------------------------------------------- Chaines de caractères ----------------------------------------------------------------------
Syntaxe : Ma Chaine de caractères...Suite de la chaine
Notes : Pour intégrer une variable dans une chaine de caractères :
$MaVariable;=Hellomessage(Test,$MaVariable; World{em},64)Pour sauter une ligne dans une chaine, utilisez _crlf; Par exemple :
fwrite(_dir;\Exemple.txt,Ligne 1_crlf;Ligne 2_crlf;Ligne 3...,+)---------------------------------------------------------------------- Opérateurs ----------------------------------------------------------------------
| Opérateur | Fonction |
| + | Addition |
| - | Soustraction |
| * | Multiplication |
| / | Division (décimale) |
| = | Egalité |
| % | Modulo |
| < | Strictement inférieur |
| <= | Inférieur ou égal |
| > | Strictement suppérieur |
| >= | Suppérieur ou égal |
| != | Non égal |
| == | Egalité (en réspéctant la casse) |
| && | Opération ET logique |
| || | Opération OU logique |
| ! | Négation logique |
Notes : Ne pas utiliser plusieurs signes à la suite (sauf avec un ! ).
---------------------------------------------------------------------- Fonction ----------------------------------------------------------------------
Syntaxe :
func NomDeLaFonction
COMMANDE
COMMANDE
COMMANDE
COMMANDE
COMMANDE
return
endF
Notes : Il n'est pas possible d'appeller plus de 2 fonctions imbriqués (appel récursif).
Pour quitter la fonction à tout moment, utilisez "return".
Exemples : Examples\Functions.fsp
---------------------------------------------------------------------- Condition ----------------------------------------------------------------------
Syntaxe :
if (CONDITION)
{
ACTION
}
elseIf (CONDITION)
{
ACTION
}
else
{
ACTION
}
Exemples : Examples\Conditions.fsp
---------------------------------------------------------------------- Boucle (while) ----------------------------------------------------------------------
Syntaxe :
while (CONDITION)
ACTION
endW
Notes : Pour faire une boucle ifinie :
while (1)Exemples : Examples\Boucle (while).fsp
---------------------------------------------------------------------- Boucle (for) ----------------------------------------------------------------------
Syntaxe :
for ($i;=0,$i;<500,+1)
ACTION
next
Notes :
$i; représente la variable à incrémenter ou décrémenter.$i;<500 représente la condition qui doit être vraie pour que la boucle continue.+1 représente la valeur à ajouter à $i; à chaque tour (mettez un nombre négatif pour enlever une valeur).Examples : Examples\Boucle (for).fsp





