19 Repos
Compilers designed to target multiple operating systems and processor architectures from a single source language.
Distinct from Swift Cross-Platform Compilers: Candidates were either language-specific (Swift) or focused on SIMD/libraries, not general-purpose cross-platform compilation.
Explore 19 awesome GitHub repositories matching programming languages & runtimes · Cross-Platform 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
Generates executable files for different operating systems and architectures from a single host machine.
Gop is a general purpose programming language and cross-language compiler designed to unify assets and libraries from multiple programming ecosystems into a single shared environment. It translates high-level source code into executable binaries using specialized backends tailored for different target environments. The project features a system for natural language programming, transforming human-readable instructions written in plain English into executable code. It also functions as a cross-language tool that imports and integrates external libraries and assets from different language ecosy
Translates high-level source code into executable binaries via specialized backends for diverse target environments.
Kotlin-native is an ahead-of-time, cross-platform compiler and toolchain that transforms Kotlin source code into standalone native machine binaries. It functions as an LLVM native compiler, producing executable files that run directly on hardware without the requirement of a virtual machine. The project enables cross-platform native development across multiple operating systems and processor architectures, including iOS, Linux, and Windows. This allows for the creation of native Apple platform applications and software for embedded systems programming where direct memory management and minima
Acts as a system for targeting multiple operating systems and processor architectures from a single source language.
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 a single codebase into native executables and scripts for JavaScript, C++, C#, Java, Python, Lua, PHP, and Flash targets.
SWIG is a tool that generates wrapper code to expose C and C++ libraries to a wide range of higher-level programming languages. It reads annotated C/C++ header files and produces language-specific bindings from a single interface definition, supporting languages such as Python, Java, Ruby, C#, Perl, and many others. The generated wrapper code is free from the project's GPL license, allowing users to distribute it under their own terms. The tool handles modern C++ features including templates, namespaces, smart pointers, and constructs up to C++20 through specialized parsing and code generatio
Maintains separate code generators for each target language sharing a common frontend parser.
Red is a programming language with a native compiler that translates high-level source code into standalone executables for Windows, macOS, and Linux without external runtime dependencies. It combines a cross-platform GUI development framework that renders native operating system widgets from a single codebase with a reactive data binding system that automatically synchronizes UI state with data sources. The language also includes an embedded DSL and parsing engine based on PEG grammar rules for defining and processing domain-specific languages within the language itself. The project distingu
Generates executables targeting different operating systems or architectures from the development machine.
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 code into portable bytecode that runs on any platform with a compatible interpreter.
FigmaToCode is a design-to-code converter and frontend code generator that transforms Figma design files into responsive source code. It functions as a multi-platform UI compiler, mapping visual design elements to structural constraints for web and mobile environments. The system supports multi-target syntax emission to produce code for HTML, Tailwind CSS, Flutter, and SwiftUI. It automates frontend styling by converting design system variables and visual effects into theme-consistent code across these different frameworks. The tool handles responsive UI implementation by translating design
Maps visual design elements to specific structural constraints across different programming frameworks.
Dieses Projekt ist eine chinesische Übersetzung eines umfassenden Leitfadens zur Programmiersprache Go. Es dient als lokalisierte Bildungsressource und technisches Handbuch, das Orientierung zu Sprachsyntax, Design und Softwareentwicklung bietet. Die Ressource deckt ein breites Spektrum der Go-Sprachausbildung ab, einschließlich der Implementierung von Programmiermustern und Systemdesign. Sie enthält übersetzte Lektionen und Beispiele, die sich auf Kernfunktionen der Sprache wie Concurrency und die Verwendung von Interfaces konzentrieren. Der Inhalt umfasst verschiedene Kompetenzbereiche, darunter Sprachgrundlagen, Datenmodellierung, Runtime-Reflection und Speicherverwaltung. Zudem bietet es detaillierte Abhandlungen zu Softwarearchitektur, Fehlerbehandlung, Qualitätssicherung und Web-Networking. Die Dokumentation ist als technisches Handbuch strukturiert, das übersetzte Inhalte, Errata und Korrekturen enthält, um ein präzises Lernen zu gewährleisten.
Explains how to use compilers to target multiple operating systems and processor architectures from Go source.
Theos ist ein plattformübergreifendes Toolchain- und Build-System für die mobile Entwicklung, das zum Kompilieren und Verpacken von Software für mobile Betriebssysteme entwickelt wurde. Es fungiert als System-Tweak-Kit und Runtime-Hooking-Framework, das es Entwicklern ermöglicht, Modifikationen zu erstellen, die das interne Verhalten mobiler Betriebssystemumgebungen verändern. Das Projekt zeichnet sich durch die Bereitstellung einer spezialisierten Präprozessor-Syntax aus, die Low-Level-API-Aufrufe generiert und den Boilerplate-Code entfernt, der normalerweise für das Hooking von Funktionen und Methoden erforderlich ist. Es ermöglicht dynamisches Runtime-Method-Swizzling und Klassenerweiterungen, wodurch Entwickler existierende Systemmethoden abfangen und durch benutzerdefinierte Implementierungen ersetzen können, während die Fähigkeit erhalten bleibt, die ursprüngliche Funktionalität aufzurufen. Die Toolchain deckt ein breites Spektrum an Funktionen ab, einschließlich Multi-Architektur-Build-Orchestrierung für verschiedene Prozessoren und Simulatoren sowie die Generierung von Multi-Format-Installationspaketen wie deb, ipa, pkg und rpm. Sie enthält dedizierte Unterstützung für die Entwicklung in rootless Umgebungen durch Compile-Time-Pfad-Auflösung und Anpassungen der Bibliotheksverknüpfung. Das Build-System wird über Makefiles verwaltet und unterstützt eine Vielzahl von Projekt-Scaffolding-Templates, um das initiale Entwicklungs-Setup zu automatisieren.
Compiles and packages code for multiple mobile operating systems from a single development environment.
Scala.js ist ein Compiler- und plattformübergreifendes Sprach-Toolchain-Projekt, das Scala-Quellcode in JavaScript oder WebAssembly transformiert. Es fungiert als statisch typisiertes Tool für das JavaScript-Ökosystem und ermöglicht die Entwicklung von Anwendungen für Webbrowser und Node.js-Umgebungen. Das Projekt dient als JavaScript-Interop-Framework, das die Erstellung typsicherer Facaden und Bindings ermöglicht, um mit externen Bibliotheken und globalen Objekten zu interagieren. Es bietet Mechanismen für sowohl statische als auch dynamische JavaScript-Aufrufe, einschließlich der Generierung von TypeScript-Bindings und der Möglichkeit, interne Logik für die Verwendung in externem JavaScript-Code zu exportieren. Die Toolchain enthält ein Frontend-Build-Tool für Production-Bundling und Output-Optimierung, einschließlich Dead-Code-Elimination und Modul-Splitting. Sie deckt ein breites Funktionsspektrum ab, einschließlich DOM-Element-Typ-Checking für UI-Entwicklung, plattformübergreifendes Code-Sharing für Full-Stack-Entwicklung sowie verschiedene Test-Frameworks zur Verifizierung optimierter Build-Artefakte. Kompilierte Skripte können direkt innerhalb einer Command-Line-Umgebung mittels eines JavaScript-Interpreters ausgeführt werden.
Functions as a toolchain that targets multiple platforms, including JavaScript and WebAssembly, from a single source.
Ogre ist eine High-Level-3D-Rendering-Engine für die Erstellung von Spielen, Simulationen und Visualisierungen, ohne dass Low-Level-Grafik-API-Code erforderlich ist. Sie fungiert als Framework für die Echtzeit-3D-Grafikverarbeitung und bietet einen physikalisch basierten Renderer zur Simulation lebensechter Oberflächen und Beleuchtung. Die Engine enthält spezialisierte Systeme für Skelettanimation zur Steuerung von Charakterbewegungen sowie ein Terrain-Generierungssystem für die Erstellung großer, texturierter Landschaften. Diese Funktionen werden durch automatische Detailstufen (LOD) und entfernungsbasiertes Mesh-Management unterstützt, um die Performance zu wahren. Das Projekt deckt breite Funktionsbereiche ab, darunter 3D-Mesh-Rendering, Partikeleffekt-Generierung und eine Multi-Pass-Post-Processing-Pipeline. Zudem bietet es Tools für das Render-Window-Management, Immediate-Mode-GUI-Overlays und die Integration externer Physik-Engines für Starrkörperdynamik. Die Toolchain unterstützt die plattformübergreifende Kompilierung für Mobil- und Web-Ziele.
Supports compiling binaries for multiple operating systems, mobile targets, and web platforms.
BASIC-M6502 ist eine BASIC-Sprachimplementierung für 8-Bit-Mikroprozessoren. Sie bietet eine Ausführungsumgebung, die es ermöglicht, Programme, die in einer High-Level-Sprache geschrieben sind, auf 6502-Hardware auszuführen, inklusive Unterstützung für mathematische Funktionen und Fließkomma-Arithmetik. Das Projekt ist für Cross-Plattform-Hardware-Portierung konzipiert und nutzt bedingte Kompilierung und Makros, um eine einzige Codebasis an verschiedene Retrocomputing-Systeme anzupassen. Es verwendet Hardware-Abstraktionsschichten, um zeichenbasierte Ein- und Ausgaberoutinen zu verwalten. Das System umfasst eingebettetes Speichermanagement mit dynamischer Allokation und Mark-and-Sweep-Garbage-Collection für Strings und Variablen. Es bietet zudem Primitive für String- und Array-Manipulation und nutzt Software-Emulation für Fließkommaoperationen.
Maintains a single codebase that can be adapted for different 6502-based computer systems through conditional compilation.
Dieses Projekt ist eine Cross-Plattform-Bildungsanwendung, die mit dem Flutter-Framework erstellt wurde. Sie dient als mobiles Erlebnis für das Erkunden künstlerischer und historischer Strukturen und fungiert als Showcase für fortgeschrittene Layout- und Animationstechniken. Die Anwendung arbeitet als interaktiver Museumsführer, digitalisiert kulturelles Erbe, um pädagogische Narrative und historische Daten über Weltstrukturen bereitzustellen. Sie liefert diese Inhalte über ein mobiles Interface, das für öffentliche Bildung und Unterhaltung konzipiert ist. Die technische Implementierung nutzt eine Widget-basierte Komposition und ein deklaratives Rendering-System. Sie integriert eine benutzerdefinierte Paint-Canvas für komplexe Grafiken und nutzt Animations-gesteuerte Übergänge, um Werte zwischen Zuständen zu interpolieren. Inhalte werden über Asset-basiertes Mapping verwaltet, das statische Datendateien mit spezifischen View-Komponenten verknüpft.
Utilizes a compiler to transform Dart source code into native machine code for multiple processor architectures.
gxui is an experimental Go GUI framework and cross-platform UI library used to create graphical user interfaces that run on multiple operating systems using a single codebase. The framework utilizes a WebGL web UI renderer that compiles Go application code into JavaScript to display interfaces within a web browser. It employs a cross-platform abstract interface to map UI primitives to different operating system rendering backends. The project covers the development of single-codebase application logic and the rendering of interfaces through hardware-accelerated graphics APIs.
Maintains a single codebase for application logic and state that targets multiple execution environments.
Batsh ist ein plattformübergreifender Shell-Compiler und Transpiler, der eine vereinheitlichte Skriptsyntax in plattformspezifische Befehle für Bash und Windows Batch übersetzt. Er fungiert als plattformübergreifender Skriptgenerator, der eine einzige Quellsprache in ausführbare Skripte transformiert, die mit Linux, macOS und Windows kompatibel sind. Das System nutzt einen Übersetzungsprozess, der High-Level-Konstrukte auf eine Zwischenrepräsentation abbildet und Unterschiede bei Befehls-Flags und Variablen-Expansion auflöst. Es unterstützt bedingtes Target-Embedding, wodurch rohe Codeblöcke für ein bestimmtes Betriebssystem in die Ausgabe eingefügt werden können, während sie für andere ignoriert werden. Dieses Tool deckt die Generierung von umgebungsunabhängigen Build-Tools und Deployment-Skripten ab, indem es eine einzige Quelldatei in mehrere unterschiedliche Skriptformate konvertiert. Dies stellt sicher, dass Systembefehle über verschiedene Betriebssysteme hinweg ausgeführt werden können, ohne die Logik duplizieren zu müssen.
Acts as a compiler that transforms a single source language into both Bash and Windows Batch scripts.
Flex ist ein Scanner-Generator und lexikalischer Analysator-Generator, der reguläre Ausdrucksdefinitionen in Software umwandelt, die Eingabetext in Tokens konvertieren kann. Er generiert primär C- und C++-Quellcode für die Entwicklung von Compilern und Interpretern. Das Tool bietet einen spezifischen Generator zur Erzeugung objektorientierter Scanner-Implementierungen als Klassen, was es ermöglicht, lexikalische Analysetools direkt in C++-Softwareprojekte zu integrieren. Es enthält zudem eine Cross-Compilation-Toolchain, um Scanner-Implementierungen für Zielplattformen zu erstellen, die sich vom Host-Rechner unterscheiden. Das Projekt deckt funktionale Fähigkeiten für das Spalten-Tracking bei Eingaben zur Unterstützung präziser Fehlerberichterstattung sowie die Verwaltung von Backup-Dateien zur Vermeidung von Namenskollisionen ab.
Includes a build process that targets multiple operating systems and processor architectures.
SEAL ist eine Bibliothek für homomorphe Verschlüsselung und ein C++-Kryptografie-Framework, das mathematische Operationen auf verschlüsselten Daten ermöglicht, ohne eine Entschlüsselung zu erfordern. Es bietet ein Toolset zur Durchführung von Additionen und Multiplikationen auf verschlüsselten Ganzzahlen und komplexen Zahlen, um privatsphärenschonende Berechnungen zu unterstützen. Das Framework implementiert die BFV- und CKKS-Schemata, was sowohl modulare Arithmetik auf verschlüsselten Ganzzahlen als auch approximative Arithmetik auf Fließkommazahlen mit fester Präzision ermöglicht. Es enthält spezialisierte Wrapper zur Integration dieser kryptografischen Workflows in .NET-Umgebungen und unterstützt plattformübergreifendes Deployment für Android, iOS und WebAssembly. Die Bibliothek verwaltet Rechenpräzision und Sicherheit durch Ciphertext-Moduli-Switching, Rauschkontrolle und die Validierung kryptografischer Parameter gegen Sicherheitsstandards. Sie bietet zudem Dienstprogramme für Ciphertext-Kompression und die Erstellung verschlüsselter Speicherarchitekturen, bei denen der Dienstanbieter nicht auf die Entschlüsselungsschlüssel zugreifen kann.
Supports compiling the library for Android, iOS, WebAssembly, and .NET Standard.
bflat ist ein nativer Compiler und Ahead-of-Time-Binärgenerator für C#. Er transformiert Quellcode in in sich geschlossene native ausführbare Dateien und Maschinencode, die ohne eine separate Laufzeitumgebung ausgeführt werden können. Das Projekt bietet eine plattformübergreifende native Toolchain, die in der Lage ist, Binärdateien für mehrere Betriebssysteme und Architekturen aus einer einzigen Umgebung zu generieren. Es enthält einen Mechanismus zum Exportieren von C#-Logik als geteilte native Bibliotheken über ein Foreign Function Interface zur Integration mit anderen Programmiersprachen. Zur Unterstützung ressourcenbeschränkter Umgebungen bietet es einen Binär-Optimierer, der die Größe der ausführbaren Datei durch das Entfernen von Reflexionsdaten, Globalisierungsmetadaten und Stack-Trace-Informationen reduziert. Es ermöglicht zudem die Auswahl verschiedener Standardbibliotheks-Tiefen, um den Funktionsumfang gegen den endgültigen Binär-Footprint abzuwägen. Die Toolchain unterstützt systemweites Debugging, was die Verwendung nativer Debugger ermöglicht, um Breakpoints zu setzen und Variablen direkt innerhalb des kompilierten Maschinencodes zu inspizieren.
Provides a compiler capable of targeting multiple operating systems and processor architectures from C# source code.