34 repositorios
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.
Este proyecto es un entorno de firmware basado en Lua para el chip WiFi ESP8266, que proporciona un intérprete de Lua embebido y un framework de desarrollo para hardware SoC WiFi. Funciona como un wrapper basado en C alrededor del SDK non-OS de Espressif, permitiendo la ejecución de scripts asíncronos para gestionar la comunicación inalámbrica y los periféricos de hardware. El entorno integra un sistema de archivos flash SPIFFS para almacenar scripts y datos persistentes directamente en memoria no volátil. Para optimizar los recursos de hardware limitados, el sistema utiliza ejecución flash execute-in-place, ejecutando constantes e instrucciones de solo lectura directamente desde la memoria flash para preservar la RAM del sistema. El proyecto cubre la gestión de conectividad inalámbrica, la implementación de servicios de red y el mapeo de periféricos de hardware. Incluye herramientas para la compilación de firmware, la compilación de scripts Lua en bytecode y la generación de imágenes de sistemas de archivos para el despliegue en el objetivo.
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 es un motor de JavaScript embebible y runtime de scripting portátil diseñado para la integración en aplicaciones C y C++. Funciona como un runtime de ECMAScript ligero que proporciona un puente C-JavaScript para intercambiar datos e invocar funciones entre código nativo y un entorno de ejecución de scripts. El motor incluye un compilador de bytecode ECMAScript que permite la serialización y el almacenamiento en caché de funciones compiladas en disco para reducir el tiempo de inicio de la aplicación. Organiza las dependencias de scripts utilizando un cargador de módulos compatible con CommonJS. El runtime cubre una variedad de capacidades, incluyendo programación de corrutinas cooperativas para ejecución asíncrona y un sistema de recolección de basura híbrido que combina conteo de referencias con recolección mark-and-sweep. También proporciona un protocolo de depuración mediante un proxy JSON y soporta transportes de depuración personalizados para hardware restringido. Las configuraciones de compilación se gestionan a través de ajustes basados en YAML para generar encabezados C específicos de la plataforma.
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 es un sistema de build y orquestador de bundles multi-proceso que utiliza Vite para compilar y empaquetar los procesos main, preload y renderer para aplicaciones Electron. Funciona como un andamiaje para aplicaciones de escritorio, proporcionando plantillas para integrar varios frameworks de frontend en una estructura de proyecto estandarizada. El proyecto se distingue por la protección integrada del código fuente, utilizando un ofuscador de bytecode V8 para compilar JavaScript en bytecode y ofuscar cadenas para prevenir la ingeniería inversa. También gestiona arquitecturas de escritorio complejas aislando bundles y chunks compartidos a través de múltiples ventanas y contextos de ejecución. El conjunto de herramientas cubre una amplia gama de capacidades, incluyendo pipelines de empaquetado automatizados para instaladores multiplataforma, orquestación de servidores de desarrollo con hot module replacement y la gestión de módulos nativos y WebAssembly. Soporta además el scoping de entornos y la configuración de externalización de módulos binarios para optimizar los builds de producción.
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.
Este proyecto es una colección de recursos de aprendizaje, documentación y plantillas de boilerplate diseñadas para desarrolladores que estudian el framework Flutter y el lenguaje Dart. Proporciona un conjunto completo de guías de instalación, tutoriales de configuración y materiales de referencia para ayudar en la construcción de aplicaciones móviles multiplataforma. El repositorio se distingue por una amplia gama de ejemplos prácticos, incluyendo demostraciones de gramática del lenguaje Dart, patrones de UI multiplataforma y plantillas de proyectos. Proporciona específicamente código de muestra para implementar plugins de plataforma nativa y puentes de características de hardware utilizando canales de métodos. La base de código cubre una amplia gama de capacidades de desarrollo, incluyendo renderizado de UI basado en estado y construcción de diseño basada en widgets. Incluye implementaciones para enrutamiento de navegación, persistencia de datos local a través de SQLite y preferencias compartidas, e integraciones a nivel de sistema para notificaciones push y sensores de hardware. El proyecto también proporciona materiales para la configuración del entorno, verificación de herramientas de desarrollo y pruebas de lógica para asegurar una configuración consistente en máquinas locales.
Explains the compilation of source code into machine-efficient bytecode to optimize application startup and execution.
Hy es una implementación de Lisp para Python que permite escribir sintaxis Lisp que se compila a bytecode de Python. Opera como un dialecto de Lisp basado en Python y lenguaje de S-expressions, proporcionando acceso completo a la librería estándar y al ecosistema de Python. El lenguaje se centra en la metaprogramación basada en macros, presentando un sistema de macros que recorre el AST y macros de lectura que permiten transformaciones de sintaxis personalizadas y reglas de análisis. Permite la manipulación del árbol de sintaxis abstracta para extender las capacidades del lenguaje. El proyecto incluye un bucle de lectura-evaluación-impresión (REPL) para desarrollo interactivo y admite la ejecución de scripts independientes. Cubre capacidades de programación funcional como la coincidencia de patrones estructurales y el desarrollo de programas asíncronos usando construcciones async y await. El código fuente puede traducirse a archivos fuente de Python equivalentes para inspección o distribución.
Compiles Lisp source code directly into Python bytecode for execution by the Python virtual machine.
Vyper es un lenguaje de programación tipado y compilador centrado en la seguridad, diseñado para crear contratos inteligentes que se ejecutan en la Ethereum Virtual Machine. Utiliza una sintaxis similar a Python para definir la lógica y el estado del contrato, sirviendo como objetivo para la verificación formal para permitir pruebas de corrección verificadas por máquina. El lenguaje se distingue por restricciones arquitectónicas estrictas que priorizan la previsibilidad y la seguridad. Impone grafos de llamadas acíclicos al prohibir la recursión y exige bucles acotados para garantizar la predicción estática de gas. Además, cuenta con un tipo decimal de punto fijo nativo para cálculos financieros para evitar la pérdida de precisión. El proyecto proporciona un conjunto completo de capacidades para el desarrollo de blockchain, incluyendo gestión de estado fuertemente tipada, primitivas criptográficas para la recuperación de claves públicas y guardias de reentrancia integrados. Admite la implementación de estándares de tokens de la industria, herramientas de finanzas descentralizadas y sistemas de gobernanza en cadena a través de un sistema modular de interfaces y despliegues de contratos. El compilador transforma el código fuente de alto nivel en bytecode dirigido a EVM y definiciones ABI, mientras proporciona herramientas para pruebas automatizadas de contratos y verificación de integridad de compilación.
Compiles high-level typed source code into EVM-compatible bytecode for execution on the Ethereum Virtual Machine.
Maven es una herramienta de automatización de compilación de Java y un orquestador de builds. Funciona como un gestor del ciclo de vida del proyecto y un sistema de gestión de dependencias, utilizando un modelo de objeto de proyecto estandarizado para compilar, probar y empaquetar proyectos Java. El proyecto se distingue por un ciclo de vida de compilación basado en fases y un modelo de extensión basado en plugins, permitiendo a los usuarios vincular objetivos personalizados a etapas específicas de la compilación. Coordina software complejo mediante la orquestación de proyectos multimodulares y asegura un flujo de trabajo de compilación reproducible al neutralizar variables de entorno y controlar las versiones de las toolchains. Sus capacidades cubren una gestión integral de dependencias, incluyendo la resolución de dependencias transitivas y la publicación de artefactos en repositorios remotos. El sistema también proporciona generación de proyectos mediante plantillas y generación de documentación detallada para producir referencias de API y sitios de proyectos. La herramienta incluye una interfaz de línea de comandos con autocompletado y admite la ejecución de compilaciones offline utilizando una caché local de artefactos.
Transforms Java source code into executable bytecode using standard directory conventions.
Pyarmor es un conjunto de herramientas para proteger software en Python mediante la ofuscación de código fuente, protección de bytecode y compilación binaria. Funciona como un ofuscador de código, protector de bytecode y compilador binario diseñado para prevenir la ingeniería inversa y el acceso no autorizado a scripts y paquetes de Python. El proyecto se distingue por proporcionar un gestor de licencias de software integral que permite licencias vinculadas al hardware. Esto permite a los desarrolladores bloquear la ejecución de scripts a dispositivos físicos o máquinas virtuales específicos y aplicar fechas de vencimiento estrictas mediante claves de tiempo de ejecución cifradas. Sus capacidades más amplias cubren la distribución segura mediante la generación de wheels ofuscados y ejecutables independientes para múltiples plataformas. La superficie de seguridad incluye comprobaciones de integridad en tiempo de ejecución, como la prevención de adjuntar depuradores, protección a nivel de memoria y la conversión de funciones de Python en extensiones de C compiladas. La herramienta incluye una interfaz de línea de comandos y admite la integración en pipelines de integración continua (CI) para automatizar el proceso de ofuscación durante las compilaciones.
Transforms Python bytecode into a complex format to prevent static analysis and reverse engineering.