هناك قائمة من الكلمات المحجوزة في قواعد النحو ANTLR؟
-
10-07-2019 - |
سؤال
وأنا مؤخرا إنشاء قاعدة محلل ANTLR3
options : foo bar;
والذي لم تجميع واستغرق الأمر مني بعض الوقت لاكتشاف هو أن options
كلمة محجوزة (AntlrWorks أشار خطأ ولكن لماذا لا). هناك قائمة من الكلمات المحجوزة في ANTLR وهل هناك أفضل الممارسات في قواعد التسمية (التي قد تساعد في تجنب هذا)؟
المحلول
وكلمات محفوظة من V3 ANTLR هي:
Keyword | Description ---------+-------------------------------------------------------- scope | Dynamically-scoped attribute fragment | lexer rule is a helper rule, not real token for parser lexer | grammar type tree | grammar type parser | grammar type grammar | grammar header returns | rule return value(s) throws | rule throws exception(s) catch | catch rule exceptions finally | do this no matter what options | grammar or rule options tokens | can add tokens with this; usually imaginary tokens import | import grammar(s)
وانظر: <لأ href = "https://web.archive.org/web/20120314155217/http://www.antlr.org/wiki/display/ANTLR3/ANTLR+Cheat+Sheet" يختلط = "نوفولو noreferrer "> https://web.archive.org/web/20120314155217/http://www.antlr.org/wiki/display/ANTLR3/ANTLR+Cheat+Sheet (في نهاية الصفحة)
لا أعلم من w.r.t. "اصطلاح التسمية" قواعد محلل (بخلاف ينبغي أن تبدأ مع الحالة الأدنى، وهي ليست اتفاقية، وبطبيعة الحال ...).
نصائح أخرى
واستخدام الكلمات المحجوزة للغة التي تستهدفها يمكن أيضا أن يسبب مشاكل.
وقضيت اليوم في محاولة لمعرفة لماذا بلدي قواعد اللغة لا تعمل فقط لتحقيق كان الحصول على افسدت الامر من قبل القاعدة "التعداد" في بلدي قواعد كنت قد تحمل اسم "التعداد".
وهذا قد يكون أو لا يكون مشكلة اعتمادا على ما هي اللغة الهدف. كنت تستخدم جافا الهدف الافتراضي، وكان بالتأكيد، حتى إذا كان هذا هو الحال يجب التحقق من قائمة الكلمات الأساسية المحجوزة للغة الهدف الخاص بك أيضا.