3 مستودعات
Intermediate representations where each variable is assigned exactly once to simplify data flow analysis.
Distinct from Intermediate Representations: Specializes general intermediate representations into the specific Static Single Assignment (SSA) form.
Explore 3 awesome GitHub repositories matching programming languages & runtimes · Static Single Assignment Forms. Refine with filters or upvote what's useful.
go-ast-book is a collection of educational and technical resources focused on abstract syntax tree analysis, compiler development, and static code verification. It provides guides and manuals for parsing, traversing, and analyzing Go source code to extract semantic meaning. The project serves as a reference for building compiler frontends, covering the translation of high-level code into intermediate representations and single static assignment forms. It also provides instructions for using these techniques to develop language tooling and perform static code analysis. The resources cover a b
Details the transformation of high-level syntax trees into single static assignment form for optimized execution.
LLVM هي بنية تحتية معيارية للمترجمات (compiler infrastructure) وإطار عمل يتكون من مجموعة من المكتبات القابلة لإعادة الاستخدام لبناء واجهات اللغات وأدوات التحسين. تعمل كآلة افتراضية منخفضة المستوى توفر تمثيلاً وسيطاً (intermediate representation) وخط أنابيب للتحسين لتمكين توليد كود مستقل عن لغة البرمجة. يوفر المشروع مجموعة أدوات للترجمة في الوقت الفعلي (JIT compilation)، حيث يقوم بتحويل التمثيلات الوسيطة إلى كود آلة أثناء التشغيل للتنفيذ الفوري. يتيح تصميمه المعياري للمطورين إنشاء واجهات لغات مخصصة وبيئات تشغيل عالية الأداء عبر معماريات مستهدفة متعددة. تغطي البنية التحتية تحسين الكود عالي الأداء وتنسيق سلاسل أدوات البرمجيات عبر المنصات، بما في ذلك دمج المترجمات، وبيئات التشغيل، والمصححات (debuggers).
Implements an intermediate representation using static single assignment form to simplify data flow analysis and optimization.
SVF is an open-source static program analysis framework and points-to analysis library that tracks memory references, variable aliases, and data dependencies across whole programs. The platform translates compiled intermediate code formats into unified internal representations, constructing constraint graphs, call graphs, and control-flow graphs to model interprocedural execution behavior and memory state. The framework incorporates specialized engines for flow-sensitive, flow-insensitive, and context-sensitive pointer analysis alongside sparse value-flow graph generation. It features memory
Annotates indirect memory accesses with explicit definition and use functions to convert address-taken variables into static single assignment form.