Le moteur
Cette section s'adresse au développeur .NET qui embarque YScript dans son application : comment
instancier un ScriptEngine, lui faire exécuter du code, contrôler ce à quoi les scripts ont accès
(bibliothèques, système de fichiers, .NET), et échanger des valeurs entre C# et les scripts.
Elle ne couvre pas l'implémentation interne du moteur (lexer, parseur, compilateur, GC) — seulement son API publique, du point de vue de l'hôte.
using YScript;
using YScript.Libraries;
using var engine = new ScriptEngine();
engine.OpenLibs(); // base, coroutine, package, table, math, string, regex, debug
var status = engine.DoString("print('bonjour depuis YScript')");
if (status != ScriptStatus.Ok)
Console.Error.WriteLine(engine.ToString(-1));
Sommaire
- Démarrage — créer un
ScriptEngine, ses options, ouvrir les bibliothèques standard, charger et exécuter un script, le REPL. - L'hôte (
IScriptHost) — personnaliser l'accès fichier, les flux standard, l'horloge, l'exécution de commandes... ce que l'environnement d'exécution expose aux scripts. - Erreurs et avertissements —
ScriptStatus, les types d'erreur, l'appel protégé (PCall), le comportement par défaut des avertissements (warn). - Bytecode précompilé — précompiler un script en bytecode pour accélérer
son chargement au démarrage, et les différentes sources de lecture (
IO/*). - Interop .NET — exposer un type ou une méthode CLR à un script, échanger des
valeurs entre C# et YScript, et ce que
dotnet(bibliothèque optionnelle) permet au script. - Modules externes — étendre le moteur avec des bibliothèques C# additionnelles.