2 مستودعات
Generating parser source code for multiple target programming languages from a single grammar.
Distinct from Formal Grammar Parser Generators: Distinct from Formal Grammar Parser Generators: specifically targets the ability to produce code for multiple target languages.
Explore 2 awesome GitHub repositories matching software engineering & architecture · Multi-Target Code Generation. Refine with filters or upvote what's useful.
ANTLR هو مولد كود قائم على القواعد ومولد محلل لغات متعدد يستخدم لتصميم وتنفيذ لغات مخصصة. يعمل كمجموعة أدوات لتحويل تعريفات اللغة الرسمية إلى كود مصدر قابل للتنفيذ لمعالجة النصوص المهيكلة أو الملفات الثنائية، مع توفير إطار عمل للبناء التلقائي واجتياز أشجار التحليل الهرمية. يتميز المشروع بقدرته على توليد lexers و parsers بلغات برمجة مستهدفة مختلفة من تعريف قواعد مشترك واحد. وهو يدعم القواعد التي تحتوي على تكرار يساري مباشر ويستخدم التنبؤ التكيفي لتحسين سرعة التحليل مع الحفاظ على المرونة. يغطي النظام مجموعة واسعة من القدرات، بما في ذلك التحليل المعجمي، والتحقق الدلالي عبر تقييم المسند، وإدارة البيانات الهرمية. يوفر أدوات لتحليل شجرة التحليل من خلال الاستعلام القائم على المسار وأنماط اجتياز الزائر-المستمع لفصل منطق القواعد عن إجراءات التطبيق. تتوفر أدوات سطر الأوامر لاختبار تعريفات القواعد ومنطق تصحيح الأخطاء، ويمكن تنفيذ الأداة داخل حاويات Docker لتجنب التثبيتات المحلية.
Produces lexer and parser source code for multiple target programming languages from a single shared grammar.
Wuffs is a toolset for generating memory-safe, sandboxed parsers and decoders from domain-specific language specifications. It functions as a compiler that transforms these specifications into executable code for C, Go, or Rust, specifically designed to decode untrusted file formats while preventing buffer and integer overflows. The project employs a sandboxed execution model that prohibits system calls and manual memory management to ensure computations are side-effect free. It utilizes a refined type system and compile-time constraint verification to enforce memory safety, alongside saturat
A feature that translates a domain-specific language into executable code for other target environments such as Go or Rust.