5 مستودعات
Tools for defining and modifying the internal layout of WebAssembly modules, including functions, globals, and imports.
Distinct from Language Module Definitions: Existing candidates refer to high-level language module definitions or UMD patterns, not the binary structural layout of Wasm.
Explore 5 awesome GitHub repositories matching programming languages & runtimes · WebAssembly Module Structural Definitions. Refine with filters or upvote what's useful.
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
Reads and interprets the structure of WebAssembly bytecode files to extract their components.
Binaryen is a WebAssembly compiler toolchain and optimizer designed to transform, validate, and shrink binary modules. It provides a comprehensive intermediate representation framework that converts binary code into a single-assignment form to enable advanced program analysis and code transformation. The project includes a specialized transformation engine that applies iterative optimization passes to increase execution speed and reduce binary size. Additionally, it functions as a transpiler that translates WebAssembly binary modules into executable JavaScript for environments that lack nativ
Allows for the addition and removal of functions, global variables, imports, and exports to define the binary interface.
WebAssembly Binary Toolkit هو مجموعة من الأدوات لفحص والتحقق من وتحويل وحدات WebAssembly بين الصيغ الثنائية والمقروءة بشرياً. يتضمن مترجماً قائماً على المكدس (stack-based interpreter) لتنفيذ الوحدات، ومحولاً برمجياً (transpiler) يحول الملفات الثنائية إلى كود مصدر C وملفات ترويسة (headers). توفر مجموعة الأدوات مرافق لتجميع النصوص المقروءة بشرياً إلى وحدات ثنائية وتفكيك الملفات الثنائية إلى نصوص. يتميز بمنسق نصوص لتوحيد التعريفات في تمثيل مسطح قياسي، ويدعم تحويل الملفات الثنائية إلى صيغ S-expression. يغطي المشروع مجالات قدرات واسعة تشمل التلاعب بالملفات الثنائية، مثل تجريد أقسام البيانات الوصفية، وفحص الوحدات لاستخراج الإحصائيات الهيكلية ورموز التصحيح. كما يوفر أدوات تحقق للتأكد من صحة الملفات الثنائية وفقاً للمواصفات التقنية، وبيئة تشغيل لتنفيذ المنطق المتوافق مع WASI.
Analyzes the composition and metadata of binary files to extract internal structural definitions like functions and globals.
Wasm3 هو مترجم WebAssembly مصمم لتكامل وقت التشغيل المدمج. يتيح تنفيذ المنطق الثنائي المحمول على المتحكمات الدقيقة والأجهزة محدودة الموارد، ويوفر دعماً للوحدات التي تستخدم واجهة نظام WebAssembly للتفاعل مع موارد النظام. يستخدم وقت التشغيل ترجمة بايت كود قائمة على السجلات وإرسالاً مباشراً (direct-threaded dispatch) لربط السجلات الافتراضية بسجلات CPU الفيزيائية. يتضمن واجهة استدعاء مضيف لربط الاستيرادات بدوال C ويستخدم التحقق من الوحدات الثابت لضمان اتباع البايت كود لقواعد المواصفات قبل التنفيذ. يوفر المشروع إدارة الموارد من خلال حدود تخصيص الذاكرة الخطية وقياس الغاز على مستوى التعليمات لمنع الحلقات اللانهائية واستنفاد النظام. تتم معالجة الملاحظة عبر تتبع التنفيذ، ومراقبة التدفق، وتوصيف عمليات المترجم. للتطوير وضمان الجودة، يتضمن وقت التشغيل REPL تفاعلياً ويدعم التمويه الموجه بالتغطية (coverage-guided fuzzing).
Performs static validation of binary structure and type signatures to ensure compliance with WebAssembly specifications before execution.
c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte
Enables the definition of freestanding WebAssembly targets and the support for named modules via attributes.