3 dépôts
Mechanisms for executing strings as code by accessing internal language constructors.
Distinguishing note: The candidates are either focused on mocking, low-level C runtime init, or WebAssembly, whereas this is about using the JavaScript Function constructor for arbitrary execution.
Explore 3 awesome GitHub repositories matching programming languages & runtimes · Dynamic Code Evaluation. Refine with filters or upvote what's useful.
jsfuck est un langage de programmation ésotérique et un obfuscateur de code source JavaScript. Il fonctionne comme un encodeur de code qui transforme le code source JavaScript standard en un équivalent fonctionnel composé d'un jeu de caractères minimal. Le projet restreint son code source à six caractères spécifiques pour masquer la logique et contourner les filtres de sécurité qui bloquent les caractères alphanumériques standard. Il y parvient en utilisant la coercition de type pour dériver des symboles et accéder aux objets internes du langage via la manipulation de prototypes. Le système permet l'exécution arbitraire de JavaScript en convertissant des chaînes en fonctions exécutables et en récupérant la portée globale via le contexte d'exécution. Il gère la logique complexe et les arguments de fonction en utilisant des wrappers de tableau et des appels de constructeur natifs.
Executes arbitrary code by accessing the Function constructor to evaluate strings as logic.
Ce projet est une collection complète de matériel pédagogique de programmation Python, y compris des tutoriels, des exercices et des exemples de code organisés. Il sert de programme d'apprentissage et de boîte à outils d'ingénierie logicielle, utilisant des Jupyter Notebooks pour combiner du code exécutable avec un texte éducatif descriptif. Le dépôt fournit des guides d'implémentation pratiques pour construire des applications de grand modèle de langage, telles que des systèmes de génération augmentée par récupération, des agents IA avec état et des flux de travail d'apprentissage automatique. Il se distingue en offrant une approche structurée des flux de travail de codage agentique, couvrant la distillation de la fenêtre de contexte, le routage de modèle agnostique au fournisseur et les sorties structurées imposées par schéma. Le matériel couvre un large éventail de capacités d'ingénierie logicielle, notamment la programmation asynchrone avec des files d'attente de tâches distribuées, le développement d'applications web avec des API REST et les flux de travail d'analyse de données. Il inclut également des ressources pour maîtriser la conception orientée objet, implémenter des pipelines CI/CD et appliquer des normes professionnelles de linting et de formatage.
Explains mechanisms for parsing and executing code defined as strings at runtime.
Janet est un langage de programmation dynamique basé sur Lisp présentant une machine virtuelle de bytecode basée sur des registres et un moteur de scripting intégrable. Il fonctionne comme un runtime de concurrence basé sur des fibres et inclut un moteur d'analyse basé sur des Parsing Expression Grammars (PEG). Le projet se distingue par sa capacité à être intégré dans des applications C ou C++ via une interface d'en-tête minimale. Il utilise un système de macros de style Lisp pour la transformation de code à la compilation et emploie l'héritage de table basé sur des prototypes pour un comportement orienté objet. Le runtime couvre un large ensemble de capacités, incluant la gestion d'IO asynchrone via une boucle d'événements non bloquante, l'interopérabilité de bibliothèque native via une interface de fonction étrangère (FFI) et un traitement de texte complet utilisant des grammaires PEG. Il fournit également des outils pour l'automatisation système, tels qu'une boucle read-eval-print (REPL), un système de module pour la résolution de symboles et des utilitaires pour la communication par socket réseau et la gestion du système de fichiers. L'environnement inclut des outils de diagnostic pour le débogage de l'exécution de bytecode et peut bundler le code source en exécutables binaires autonomes.
Evaluates strings or pre-compiled bytecode at runtime to enable flexible plugin architectures.