34 dépôts
Compilers that translate high-level source code into executable bytecode for a virtual machine.
Distinct from Bytecode Compiled Languages: Distinct from general bytecode compiled languages: focuses on the compilation process itself rather than the language identity.
Explore 34 awesome GitHub repositories matching programming languages & runtimes · Source-to-Bytecode Compilers. Refine with filters or upvote what's useful.
pkg is a Node.js executable packager and cross-platform binary compiler. It bundles a project and its dependencies into a single standalone executable file that runs without a pre-installed runtime on the target machine. The tool uses a virtual filesystem bundler to embed project assets and native modules into a binary snapshot. It includes a bytecode obfuscator that compiles source code into bytecode to prevent the extraction of raw logic. The project supports cross-platform distribution, allowing the generation of binaries for different operating systems and architectures from a single hos
Compiles JavaScript source into binary bytecode to hide raw logic within the executable.
Clojure is a general-purpose, functional programming language hosted on the Java Virtual Machine. It is a homoiconic S-expression language that represents programs as nested data structures, allowing code to be manipulated and evaluated as data. The project provides a framework for JVM interoperability, enabling the invocation of Java methods and integration with other JVM-based languages. It distinguishes itself through a persistent data structure library that uses bitmapped vector tries to manage immutable collections and a programmatic REPL for interactive software development and real-tim
Provides a compiler that transforms high-level functional expressions into optimized Java bytecode for the JVM.
WasmEdge is an extensible WebAssembly runtime that executes WebAssembly bytecode in a secure sandbox for cloud, edge, and embedded applications. It functions as a multi-language compiler, compiling applications written in Rust, JavaScript, Go, and Python into WebAssembly bytecode for sandboxed execution, and as a server-side JavaScript runtime that runs JavaScript programs with ES6 modules, NPM packages, and Node.js-compatible APIs. The runtime also serves as an AI inference runtime, executing AI models from JavaScript using WASI-NN plug-ins for inference tasks on personal devices and edge har
Compiles applications written in Rust, JavaScript, Go, and Python into WebAssembly bytecode for sandboxed execution.
This project is an educational implementation of a relational database engine written in C. It functions as a SQLite clone, demonstrating the internal mechanics of a database system through a C-based systems project that focuses on manual memory management and file I/O. The engine is distinguished by its use of a bytecode virtual machine, which executes database operations by compiling SQL statements into low-level instructions. It utilizes a B-tree database engine to organize records in a balanced tree structure, ensuring efficient insertion, search, and range scanning. The system covers co
Translates structured SQL text into low-level executable bytecode for the virtual machine.
HackMyResume is a command-line tool that generates polished résumés and CVs in multiple formats from a single JSON or YAML data source. It validates résumé documents against the FRESH or JSON Resume schema, converts between these two formats, and produces output in HTML, Markdown, LaTeX, MS Word, PDF, plain text, JSON, XML, and YAML. The tool supports custom themes through a plugin architecture, allowing users to apply visual styling via Handlebars templates and register custom helpers for extended template logic. It can merge multiple résumé JSON files into one, overriding generic data with
Compiles a single JSON or YAML resume source into any supported output format through a centralized build process.
Ce projet est un environnement de firmware basé sur Lua pour la puce WiFi ESP8266, fournissant un interpréteur Lua embarqué et un framework de développement pour le matériel SoC WiFi. Il fonctionne comme un wrapper basé sur C autour du SDK non-OS d'Espressif, permettant l'exécution de scripts asynchrones pour gérer la communication sans fil et les périphériques matériels. L'environnement intègre un système de fichiers flash SPIFFS pour stocker des scripts et des données persistants directement sur la mémoire non volatile. Pour optimiser les ressources matérielles limitées, le système utilise l'exécution flash « execute-in-place », exécutant les constantes et instructions en lecture seule directement depuis la mémoire flash pour préserver la RAM système. Le projet couvre la gestion de la connectivité sans fil, l'implémentation de services réseau et le mappage des périphériques matériels. Il inclut des outils pour la compilation de firmware, la compilation de scripts Lua en bytecode et la génération d'images de système de fichiers pour le déploiement cible.
Compiles Lua source scripts into binary bytecode images to optimize memory and CPU overhead on limited hardware.
Enso is a visual dataflow programming environment and multi-language data processing engine that compiles Enso, Python, Java, and JavaScript into a unified representation with a shared memory model for zero-overhead inter-language calls. It functions as a self-service data preparation and analysis platform where users can build data pipelines by connecting nodes in a graph, switching between a no-code visual interface and a code view while keeping all changes reviewable. The platform also serves as a cloud data workflow scheduler and API exposer, allowing workflows to run on a timetable or be
Compiles Enso, Python, Java, and JavaScript into a common representation with a unified memory model for zero-overhead interop.
Haxe is a statically typed, multi-target programming language and open-source compiler toolkit that translates a single codebase into native executables and scripts for JavaScript, C++, C#, Java, Python, Lua, PHP, and Flash targets. It provides a unified type system with automatic type inference, a compile-time macro system for code transformation and generation, conditional compilation directives, and a static analysis engine that enforces null safety and eliminates dead code to produce smaller, safer outputs. The language is supported by the HashLink virtual machine, which executes platform
Compiles Haxe source code into platform-agnostic bytecode for the HashLink virtual machine.
OCaml is a strongly typed functional language featuring a sophisticated type system and a focus on safety and expressiveness. It provides a comprehensive compiling toolchain that transforms source code into either portable bytecode or high-performance native binaries. The project is distinguished by a shared memory parallel runtime that executes computations across multiple processor cores using domains, and an algebraic effect system for managing side effects and control flow through execution context handlers. It also includes a dedicated parser generator to automatically create lexers and
Produces portable, compact bytecode that runs within an interpreter for faster compilation and cross-platform compatibility.
Spin is a WebAssembly serverless framework and development toolchain for building and running portable microservices. It functions as an event-driven orchestrator and runtime that executes WebAssembly components, allowing developers to map HTTP requests, Redis messages, and cron schedules to specific modules. The project distinguishes itself by implementing a Wasm-based AI inference gateway, enabling components to perform model inference and generate text embeddings. It utilizes the WebAssembly Component Model and WASI for language-agnostic composition and portable host interfacing, while emp
Compiles source code from multiple programming languages into WebAssembly bytecode for serverless execution.
Duktape est un moteur JavaScript embarquable et un runtime de script portable conçu pour l'intégration dans des applications C et C++. Il fonctionne comme un runtime ECMAScript léger qui fournit un pont C-JavaScript pour échanger des données et invoquer des fonctions entre le code natif et un environnement d'exécution de script. Le moteur inclut un compilateur de bytecode ECMAScript qui permet la sérialisation et la mise en cache des fonctions compilées sur disque pour réduire le temps de démarrage de l'application. Il organise les dépendances de script en utilisant un chargeur de module conforme à CommonJS. Le runtime couvre une variété de capacités incluant la planification de coroutines coopératives pour l'exécution asynchrone et un système de garbage collection hybride qui combine le comptage de références avec la collection mark-and-sweep. Il fournit également un protocole de débogage via un proxy JSON et prend en charge des transports de débogage personnalisés pour le matériel restreint. Les configurations de build sont gérées via des paramètres pilotés par YAML pour générer des en-têtes C spécifiques à la plateforme.
Enables the serialization of compiled function bytecode to disk to improve execution speed and startup time.
Scala 3 is an open-source, statically typed programming language that compiles to JVM bytecode, combining object-oriented and functional programming paradigms. Its core identity is defined by a sophisticated type system that includes traits, generics, union types, and a dependent object type system where types can depend on runtime values through path-dependent and singleton types. The language distinguishes itself through several advanced type-level and metaprogramming capabilities. It features a contextual abstraction mechanism using given instances and using clauses for compile-time implic
Translates Scala 3 source code into executable bytecode, enabling developers to build and run applications.
mruby is a lightweight Ruby interpreter designed to be embedded into C applications. It compiles Ruby source code into a compact, platform-independent bytecode that executes on a register-based virtual machine, and exposes a stable C API for host programs to initialize the interpreter, load bytecode, and invoke Ruby methods at runtime. The interpreter distinguishes itself through a tightly coupled parser and compiler that performs lexical analysis, syntax parsing, and bytecode generation in a single pass without constructing an intermediate AST, minimizing memory overhead. It also includes a
Compiles Ruby source files into portable bytecode that any compatible interpreter can load and run.
electron-vite est un système de build et un orchestrateur de bundle multi-processus qui utilise Vite pour compiler et bundler les processus main, preload et renderer pour les applications Electron. Il fonctionne comme un scaffolder d'application de bureau, fournissant des modèles pour intégrer divers frameworks frontend dans une structure de projet standardisée. Le projet se distingue par une protection du code source intégrée, utilisant un obfuscateur de bytecode V8 pour compiler JavaScript en bytecode et obfusquer les chaînes de caractères pour empêcher l'ingénierie inverse. Il gère également des architectures de bureau complexes en isolant les bundles et les chunks partagés à travers plusieurs fenêtres et contextes d'exécution. L'ensemble d'outils couvre un large éventail de capacités, incluant des pipelines de packaging automatisés pour des installateurs multi-plateformes, l'orchestration de serveur de développement avec remplacement de module à chaud (HMR), et la gestion des modules natifs et WebAssembly. Il prend en outre en charge le scoping d'environnement et la configuration de l'externalisation des modules binaires pour optimiser les builds de production.
Protects intellectual property by compiling JavaScript source code into V8 bytecode to hinder reverse engineering.
mQuickjs is a compact JavaScript engine designed for memory-constrained devices, such as microcontrollers, requiring as little as 10 KB of RAM and 100 KB of ROM. It achieves this through a fixed-buffer memory allocation scheme that avoids system heap usage, a compacting tracing garbage collector that eliminates fragmentation, and a ROM-embedded standard library that reduces both memory footprint and startup time. The engine compiles JavaScript source into portable bytecode that can be stored in persistent memory and executed without reparsing, and it emulates IEEE 754 floating-point arithmetic
Compiles JavaScript source into portable bytecode for persistent storage and execution without recompilation.
Ce projet est une collection de ressources d'apprentissage, de documentation et de templates boilerplate conçus pour les développeurs étudiant le framework Flutter et le langage Dart. Il fournit un ensemble complet de guides d'installation, de tutoriels de configuration et de matériaux de référence pour aider à construire des applications mobiles multiplateformes. Le dépôt se distingue par un large éventail d'exemples pratiques, incluant des démonstrations de grammaire du langage Dart, des patterns d'UI multiplateformes et des templates de projets. Il fournit spécifiquement du code d'exemple pour implémenter des plugins de plateforme natifs et ponter les fonctionnalités matérielles en utilisant des method channels. La base de code couvre un large éventail de capacités de développement, incluant le rendu d'UI piloté par l'état et la construction de mise en page basée sur des widgets. Elle inclut des implémentations pour le routage de navigation, la persistance de données locale via SQLite et shared preferences, et des intégrations au niveau système pour les notifications push et les capteurs matériels. Le projet fournit également des matériaux pour la configuration de l'environnement, la vérification des outils de développement et les tests de logique pour assurer une configuration cohérente sur les machines locales.
Explains the compilation of source code into machine-efficient bytecode to optimize application startup and execution.
Hy est une implémentation Lisp pour Python qui permet d'écrire une syntaxe Lisp compilée en bytecode Python. Il opère comme un dialecte Lisp basé sur Python et un langage S-expression, offrant un accès complet à la bibliothèque standard et à l'écosystème Python. Le langage se concentre sur la métaprogrammation basée sur les macros, avec un système de macros parcourant l'AST et des macros de lecture qui permettent des transformations de syntaxe et des règles de parsing personnalisées. Il permet la manipulation de l'arbre de syntaxe abstraite pour étendre les capacités du langage. Le projet inclut une boucle read-eval-print (REPL) pour le développement interactif et prend en charge l'exécution de scripts autonomes. Il couvre des capacités de programmation fonctionnelle telles que le pattern matching structurel et le développement de programmes asynchrones utilisant les constructions async et await. Le code source peut être traduit en fichiers sources Python équivalents pour inspection ou distribution.
Compiles Lisp source code directly into Python bytecode for execution by the Python virtual machine.
Vyper est un langage de programmation typé et un compilateur axé sur la sécurité, conçu pour créer des contrats intelligents qui s'exécutent sur l'Ethereum Virtual Machine. Il utilise une syntaxe Pythonique pour définir la logique et l'état du contrat, servant de cible pour la vérification formelle afin de permettre des preuves de correction vérifiées par machine. Le langage se distingue par des contraintes architecturales strictes qui privilégient la prévisibilité et la sécurité. Il impose des graphes d'appels acycliques en interdisant la récursion et impose des boucles bornées pour assurer une prédiction statique du gaz. De plus, il dispose d'un type décimal à virgule fixe natif pour les calculs financiers afin d'éviter la perte de précision. Le projet fournit un ensemble complet de capacités pour le développement blockchain, y compris la gestion d'état fortement typée, des primitives cryptographiques pour la récupération de clés publiques et des protections intégrées contre la réentrance. Il prend en charge l'implémentation de normes de jetons industriels, d'outils de finance décentralisée et de systèmes de gouvernance en chaîne via un système modulaire d'interfaces et de déploiements de contrats. Le compilateur transforme le code source de haut niveau en bytecode ciblant l'EVM et en définitions ABI, tout en fournissant des outils pour les tests de contrats automatisés et la vérification de l'intégrité de la construction.
Compiles high-level typed source code into EVM-compatible bytecode for execution on the Ethereum Virtual Machine.
Maven est un outil d'automatisation de build Java et un orchestrateur de build logiciel. Il fonctionne comme un gestionnaire de cycle de vie de projet et un système de gestion des dépendances, utilisant un modèle d'objet de projet (POM) standardisé pour compiler, tester et packager les projets Java. Le projet se distingue par un cycle de vie de build basé sur des phases et un modèle d'extension par plugins, permettant aux utilisateurs de lier des objectifs personnalisés à des étapes de build spécifiques. Il coordonne des logiciels complexes via l'orchestration de projets multi-modules et assure un workflow de build reproductible en neutralisant les variables d'environnement et en contrôlant les versions de la chaîne d'outils. Ses capacités couvrent une gestion complète des dépendances, incluant la résolution des dépendances transitives et la publication d'artefacts vers des dépôts distants. Le système fournit également la génération de projets via des templates et la génération de documentation détaillée pour produire des références API et des sites de projet. L'outil inclut une interface en ligne de commande avec auto-complétion et prend en charge l'exécution de build hors ligne en utilisant un cache d'artefacts local.
Transforms Java source code into executable bytecode using standard directory conventions.
Pyarmor est un ensemble d'outils pour protéger les logiciels Python via l'obfuscation du code source, la protection du bytecode et la compilation binaire. Il fonctionne comme un obfuscateur de code, un protecteur de bytecode et un compilateur binaire conçu pour empêcher l'ingénierie inverse et l'accès non autorisé aux scripts et paquets Python. Le projet se distingue en fournissant un gestionnaire de licence logicielle complet qui permet une licence liée au matériel. Cela permet aux développeurs de verrouiller l'exécution des scripts sur des appareils physiques ou des machines virtuelles spécifiques et d'appliquer des dates d'expiration strictes via des clés d'exécution chiffrées. Ses capacités plus larges couvrent la distribution sécurisée via la génération de wheels obfusqués et d'exécutables autonomes pour plusieurs plateformes. La surface de sécurité inclut des vérifications d'intégrité à l'exécution, telles que la prévention de l'attachement de débogueur, la protection au niveau de la mémoire et la conversion de fonctions Python en extensions C compilées. L'outil inclut une interface en ligne de commande et prend en charge l'intégration dans des pipelines d'intégration continue (CI) pour automatiser le processus d'obfuscation lors des builds.
Transforms Python bytecode into a complex format to prevent static analysis and reverse engineering.