
هذا هو إطار لتحليل رمز المصدر بشكل ثابت باستخدام استعلامات DATALOG.
للاطلاع على مجموعة لغات المصدر المدعومة ، راجع قائمة المحللين في مستودع قواعد Grammars-V4. يتم تضمين اللغات التالية خارج الصندوق: C ، C ++ ، COBOL85 ، GO ، JavaScript ، Kotlin ، Lua ، PHP ، Prolog ، Python3 ، Rust ، and Salidity. يمكن إضافة دعم لمزيد من اللغات بسهولة ، اقرأ أدناه لكيفية تمكين دعم اللغات الأخرى.
يعمل هذا الإطار عن طريق تحويل محلات antlr إلى الواجهة الأمامية Datalog. تتم ترجمة واجهة برمجة تطبيقات ANTLR Parser إلى مخطط DATALOG ، ثم يتم استدعاء المحلل على رمز المصدر لملء دليل "حقائق" وفقًا للمخطط. أخيرًا ، يعمل منطق التحليل على الحقائق ويحسب نتائج التحليل. لمزيد من المعلومات ، راجع Architecture.MD.
./install-parsers.sh
تثبيت Souffle.
بناء وتثبيت التوزيع:
./gradlew installDist
مثال Python3:
build/install/antlr2datalog/bin/antlr2datalog -l python3 -i grammars-v4/python/python3/examples/coroutines.py
مثال Kotlin:
build/install/antlr2datalog/bin/antlr2datalog -l kotlin -i grammars-v4/kotlin/kotlin-formal/examples/Test.kt
git clone https://github.com/antlr/grammars-v4.git
cd grammars-v4
mvn install
تحرير parserconfiguration لإضافة حالة للمحلل.
أضف logic/LANGUAGE-logic.dl مع قواعد datalog للغة الجديدة.
للحصول على ترخيص هذا المشروع ، راجع الترخيص. لاحظ أنه قد يتم تغطية تحليلات AntlR بتراخيص مختلفة.