Scriptol - Scripting, XML et Web 2.0
Le langage Scriptol a été conçu par Denis Sureau.
Sa définition a été faite selon 7 règles:
simplicité, sécurité, cnoformance aux standards,
objectivité, orientation multiples, portabilité, apprentissage
facile.
Le code scriptol est interprété ou compilé
en code PHP ou C++, un programme scriptol peut compilé en exécutable
binaire.
Les structures de contrôle sont différentes et plus
puissantes que dans les langages classiques, permettant notamment le
pattern-matching et les automates. La sécurité est un
des objectifs du langage, dans ce but notamment les variables sont typées.
Scriptol est un langage universel permettant de réaliser
des pages web dynamique, des scripts, du prototypages et des applications
à interface utilisateur graphiques. Il intègre le XML dans le source ou à partir d'un fichier.
Caractéristiques
- Variables typées.
- Orienté objet en mode application, mais peut fonctionner en mode script ou en mode web. Mêmes les primitives et les constantes ont des méthodes.
- Orienté XML: c'est une structure de données du langage.
- Constructs plus sûrs while .. let, for .. in, etc...
- Pattern-matching avec le DO..CASE et automates.
- Les règles sont facilement appliquées grâce au if composite.
- Le compilateur joint automatiquement les lignes fractionnées.
- Assignements multiples. Une fonction peut retourner plusieurs valeurs.
- Tableaux indexés et associatifs.
- Text, number, integer, real sont les autres types.
- Peut utiliser les APIs de Php, Java ou C++.
Le langage
La syntaxe
Les instructions sont terminées par la fin de ligne.
Termineurs proches de XML: /if, /for, etc...
Chaque opérateur n'a qu'une seule fonction, contrairement au
C qui les réutilise différemment selon le contexte.
Les types sont ceux de la vie réelle: number, text, real, ...
Les assignements composés ont la forme:
x + 1 // signifie: x = x + 1
Scructures de données
Scalaires, xml, class.Structures de contrôle
- if ... else, if composite
- for ... in ... step
- while ... let
- do case ... while, do case ... until
- break, continue, return
If composite
if a
= 10: print "égal"
< 10: print "moins"
else
print "plus"
/if
While
La structure while a plusieurs formes, et le termineur let protège contre les boucles infinies.while x < 10 print x let x + 1
Définition de fonction
L'en-tête est similaire à celle du C mais avec plusieurs types retournés évenutellement. Le termineur est l'instruction return, le mot-clé seul si la fonction ne retourne aucune valeur.
int, text funcname(... arguments...)
...instructions...
return a, b
Pourquoi l'utiliser?
- Pour programmer des pages web: Scriptol peut être compilé
en PHP, donc il est portable. La compilation détecte les erreurs
avant de lancer le programme.
- Pour faire des scripts: C'est un langage clair et puissant, très
intuitif.
- Pour le prototypage: tester des sources avec l'interpréteur
et produire du code C++ intégrable dans un plus large projet.
- Pour programmer vite et protéger le source: un programme
est débogué avec l'interpréteur, puis une version
exécutable binaire est distribuée.
- Il peut s'utiliser conjointement avec des outils de développemet
comme C++ Builder ou Visual Studio.
- C'est aussi une interface aux principaux parseurs XML.
Sites
- Interpréteur
et langage
Télécharger un interpréteur gratuit et facile à installer ou un compilateur binaire. - Compilateur PHP
Scriptol et PHP avec un compilateur. Outils et scripts pour les applications Web 2.0. - Sur Sourceforge.
Le projet Scriptol hébergé sur Sourceforge. - Simple
demo
Comparez la syntaxe de Scriptol avec d'autres langages de programmation.
Exemples de code
Hello world!
print "Hello world!"
Combiner et afficher.
listdemo = (1,2,3) + (4,5) subdemo = listdemo[1..3] scan subdemo print subdemo[] /scan >>> doit afficher: 2 3 4
Imbriquer du code dans une page HTML.
<?sol print "code imbriqué en page html" ?>