RATJS est un petit interpréteur javascript/ecmascript implémenté en langage C. Vous pouvez l'utiliser pour exécuter vos propres programmes JavaScript ou l'intégrer en tant que moteur de script dans un programme que vous développez.
télécharger
https://gitee.com/gongke1978/ratjs
caractéristique
- Compatible avec la norme ECMA262 version 14
- Symbole
- Générateur
- Promesse
- Fonction asynchrone
- Fonction flèche
- Module asynchrone
- Grand entier
- Tableau typé
- Tampon de tableau/tampon de tableau partagé
- Vue de données
- Atomique
- Carte/Ensemble/WeakSet/WeakMap
- WeakRef/FinalizationRegistry
- Identifiant privé
- Multiplier le domaine
- Module/Module asynchrone
- Développer
- Commentaires sur Hash bang
- Module natif
- ModuleJSON
- Fonctions du système de fichiers
- Objet FileState
- Objet fichier
- Objet d'annuaire
- Entièrement implémenté en langage C
- Faible encombrement
- Options de configuration riches
compter sur
- icu4c : Cette bibliothèque est requise lorsque l'option de configuration est définie ENC_CONV=icu
- gmp : Cette bibliothèque est requise lorsque l'option de configuration est définie ENABLE_BIG_INT=gmp
Construction
RATJS utilise GNU make comme outil de création de code. Les bibliothèques suivantes et les fichiers d'en-tête correspondants doivent être installés lors de la construction :
- c-json
- libyaml : Si vous devez générer un programme de test test262, vous avez besoin de cette bibliothèque
Options de configuration
Afficher toutes les options de configuration :
$ make help
Système Linux intégré
Configuration du projet.
$ make config
Générez une bibliothèque de liens RATJS et un programme exécutable.
$ make
Installez la bibliothèque de connexion RATJS et le programme exécutable.
$ make install
Effacez les fichiers intermédiaires de construction.
$ make clean
Effacez le répertoire de construction.
$ make dist-clean
Construire sur Windows
La construction sur des systèmes Windows nécessite l'installation de l'environnement de développement MinGW .
Configuration du projet.
$ make ARCH=win config
Générez une bibliothèque de liens RATJS et un programme exécutable.
$ make
Installez la bibliothèque de connexion RATJS et le programme exécutable.
$ make install
Effacez les fichiers intermédiaires de construction.
$ make clean
Effacez le répertoire de construction.
$ make dist-clean
utiliser
exécuter javascript
Exécutez le programme exécutable "ratjs" pour interpréter votre script javascript.
Exécutez le script "js":
$ ratjs -s your_script.js arguments...
"ratjs" sera là et exécutera le script "your_script.js". Si la fonction "main" est définie dans le script, la fonction "main" sera appelée et les "arguments" seront transmis comme arguments à la fonction.
Exécutez le script "js" en tant que module ECMA262 :
$ ratjs your_module.js arguments
"ratjs" chargera, liera et exécutera le module "votre_module.js". Si la fonction "main" est définie dans le module, la fonction "main" sera appelée et les "arguments" seront transmis comme paramètres de la fonction.
Exécutez la chaîne de paramètres en tant que code source du script en appelant "eval()" :
$ ratjs -e "script_string"
Afficher toutes les options de l'exécutable "ratjs" :
$ ratjs --help
programme intégré
Tout d’abord, incluez le fichier d’en-tête « ratjs.h » dans votre programme. Le script javascript est ensuite chargé et exécuté en appelant l'API RATJS.
#include <ratjs.h>
...
RJS_Runtime *rt;
RJS_Value *source, *script;
rt = rjs_runtime_new();
rjs_realm_load_extension(rt, NULL);
source = rjs_value_stack_push(rt);
script = rjs_value_stack_push(rt);
rjs_string_from_enc_chars(rt, source, "print(\"hello, world!\")", -1, NULL);
rjs_script_from_string(rt, script, source, NULL, RJS_FALSE);
rjs_script_evaluation(rt, script, NULL);
rjs_runtime_free(rt);
Connectez votre programme à la bibliothèque "libratjs".
$ gcc -o your_program -lratjs -lm your_program_source.c
Exécutez la commande "doxygen" pour générer la documentation de l'API RATJS.
Vous pouvez vous référer à l'exemple de programme dans le répertoire "demo" pour savoir comment intégrer RATJS dans votre programme.
Licence
RATJS est publié sous licence MIT .
Amende de 200 yuans et plus d'un million de yuans confisqués You Yuxi : L'importance des documents chinois de haute qualité La migration massive des serveurs de Musk Le contrôle de la congestion TCP a sauvé Internet Apache OpenOffice est un projet de facto « non maintenu » Google fête son 25e anniversaire Microsoft open source windows-drivers-rs, utilisez Rust pour développer des pilotes Windows Raspberry Pi 5 sera publié fin octobre, au prix de 60 $ Conteneurs macOS : utilisez Docker pour exécuter des images macOS sur macOS IntelliJ IDEA 2023.3 EAP publié