3 Repos
Libraries that replicate the data structures and memory management of a specific language environment.
Distinct from Runtime Libraries: Distinct from low-level system runtime libraries: focuses on high-level language feature emulation.
Explore 3 awesome GitHub repositories matching operating systems & systems programming · Language Runtime Emulators. Refine with filters or upvote what's useful.
GopherJS is a cross-compiler toolchain that converts Go source code into JavaScript. It functions as a transpiler, enabling the execution of statically typed Go code within web browsers and other standard JavaScript runtime environments. The project provides a comprehensive implementation of the Go standard library, replacing system-level calls with browser-compatible APIs to maintain language semantics. It maps Go's memory allocation patterns and type definitions onto the host JavaScript engine, while utilizing source map generation to allow for debugging using original Go source files. By
Implements core language primitives like goroutines and channels using JavaScript-based scheduling and state management.
Grumpy is a native binary compiler that transforms Python source code into Go source code. By transpiling high-level scripts into a strongly typed intermediate representation, the system enables the creation of statically linked native binaries that operate independently of a traditional virtual machine interpreter. The project distinguishes itself by providing a comprehensive runtime library that replicates standard Python data structures and object behaviors. This emulation layer ensures that compiled code maintains functional parity with the original source environment while leveraging the
Replicates standard language data structures and behaviors to ensure functional parity in compiled binaries.
j2objc ist ein Source-to-Source-Compiler und Transpiler, der Java-Quellcode in Objective-C konvertiert. Er fungiert als plattformübergreifender Logik-Porter, der es ermöglicht, Anwendungslogik und Datenmodelle, die in Java geschrieben wurden, auf iOS zu teilen und auszuführen. Zur Unterstützung dieser Übersetzung bietet das Projekt eine Objective-C-Implementierung von Java-Kernklassen und APIs, um die Java-Laufzeitumgebung zu emulieren. Das System enthält spezialisierte Übersetzungen für Java-Bibliotheken und bietet Zuordnungen für Dependency Injection und statische Analyse-Annotationen, um Metadaten zu erhalten. Es ermöglicht zudem die Konvertierung von JUnit-Tests in ausführbare Binärdateien, um die logische Konsistenz auf mobiler Hardware zu verifizieren. Um die resultierenden iOS-Anwendungen zu optimieren, bietet das Projekt Tools zur Erkennung ungenutzten Codes und zur Eliminierung von Dead Code. Es erlaubt zudem den Austausch automatisch übersetzter Klassen durch handgeschriebene native Implementierungen, um die Ausführungsgeschwindigkeit zu erhöhen.
Implements core Java classes and standard APIs in Objective-C to provide a compatible runtime environment on iOS.