Compilateur Scriptol en WebAssembly
Pour réaliser des fichiers wasm utilisables sur le Web ou localement.
Comment cela marche?
Le compilateur n'a besoin que d'une seule ligne de commande pour générer un code C++ et le compiler en WebAssembly. Par exemple:
./solc hello
Cela produit les fichiers hello.cpp, hello.hpp, hello.o et hello.wasm.
Vous devez installer Emscriptem pour générer le code wasm et Wasmer pour l'éxécuter en ligne de commande..
Sous Windows ce dernier requiert l'installation de Visual Studio. Il faut aussi installer à partir de celui-ci les composant d'utilisation de C++ en ligne de commande.
Options
- -h
Génère les fichiers wasm, js et html. - -l
Génère un fichier wasm à charger dans une page web ou à utiliser localement par une autre programme avec node.js - -r
Compile les sources scriptol si besoin en wasm et exécute localement le programme wasm. - -b
Compile tous les sources scriptol et C++. - -c
Compile les sources scriptol en C++ seulement. - -w
Compile les fichiers C++ générés à partir de sources scriptol sans compiler ces derniers. Cela permet de faire des tests sur les fichiers C++. - -v
Affiche toutes les étages du traitement. - -q
Réalise une compilation sans afficher aucun message.
Pourquoi utiliser Scriptol plutôt que C++ directement?
- Scriptol n'a pas besoin de makefile, on donne juste le nom du fichier source principal.
- Inutile d'écrire des fichiers d'en-têtes (sauf pour les librairies externes)
- En C++, les instructions sont aussi des expressions et une ligne comme: if(a = 10) signifie que 10 est assigné à la variable a et le contenu de a comparé à zéro, plutôt ambigu...
- Une syntaxe claire, celle de C est vieille de plus de 30 ans!
- Totalement orienté objets, les variables et littéraux sont des methodes.
- Tableaux dont la taille peut augmenter en cours de traitement.
- Tableaux associatifs.
- Variables dynamiques.
- Point-virgules superflus, une ligne comme while(i < 10); produisant une boucle sans fin ne peut survenir par erreur.
- Des structures de contrôles plus évoluées.
- Installer et utiliser le compilateur Scriptol C++.
- Versions du compilateur.
- Scriptets. La modularité à son plus haut niveau.