Ebnf لـ Ecmascript؟
-
21-09-2019 - |
سؤال
أحاول العثور على وصف جيد لـ EBNF لـ ECMASCRIPT ، لكنني لم أجد أي شيء مكتمل حتى الآن.
أيه أفكار؟
المحلول
ماذا عن ecmascript معيار؟ أكمل بحكم التعريف:-}
تعديل: إذا كنت ترغب في الحصول على قواعد نحوية موجودة ، جرب أحد مواقع أدوات المولدات النحوية. لـ Antlr ، ها هيECMASCRIPT نحوي. لا أعرف شيئًا عن جودته ، لكن Antlr يمكن أن ينتج محللات جيدة إذا تم بناء Grammer بعناية. من المحتمل أن تجد القواعد المتشابكة أيضًا مع حفنة من أشياء Antlr ، لذلك قد تعاني من نفس المشكلة مثل المعيار من وجهة نظرك. على الأقل يمكنك حذف كل هذه الأشياء.
نصائح أخرى
الفصل 2 من كروكفورد JavaScript: الأجزاء الجيدة الرسوم البيانية (خمنت ذلك) الأجزاء الجيدة.
فيما يلي بعض الطعنات في BNF لـ JavaScript:
من هذا في وقت سابق لذلك السؤال:
اعمل على ذلك Javaccمحلل قائم على ECMASCRIPT. ها هي القواعد الخاصة بي حتى الآن:
انظر أيضًا Tom Copeland's BNF لـ ecmascript:
بالإضافة إلى "مترجم آخر JavaScript":
وكذلك قواعد Dojo Toolkit (ربما تستند إلى Yaji):
من وجهة نظري ، فإن Yaji أو Dojo Toolkit's هي الأفضل والأكثر اكتمالًا (على حد علمي). أنا أستند إلى عملي على هؤلاء ولكن أريد أن أجعله أكثر اكتمالا (5.1/6) وعملية قياسية ولكن عملي.
القواعد النحوية ecmascript صعبة للغاية. لديها عدد قليل من التحذيرات الضخمة:
- التعبير العادي الحرفي مقابل التقسيم (لا يمكنك التمييز بينها على مستوى Lexer)
- إدراج اناقض أوتوماتيكي (ASI)
لذا يرجى أن تكون على علم بذلك. تنفيذ هذه أمر صعب للغاية.
إذا كانت منصة Java المستهدفة الخاصة بك ولا تمانع في Javacc ، فسأكون سعيدًا إذا انضممت إلى مشروعي. القواعد الخاصة بي جاهزة بالفعل (البناء/التجميع بدون تحذيرات). أنا أعمل الآن على أجنحة الاختبار لتغطية كل ميزة وإنتاج. أتوقع بعض المشكلات مع regex الحرفية و ASIS رغم ذلك.
ملاحظة. لقد لاحظت للتو أن السؤال هو من 09 ، لذا فإن دعوتي قد فات الأوان. قون
جرب هذا الرابط ECMASCRIPTA3 لديها BNF من ecmascript