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;=Valeur
Pour créer une variable vide :
$MaVariable;=NULL
NB : 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;=Hello
message(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