هناك قائمة من الكلمات المحجوزة في قواعد النحو ANTLR؟

StackOverflow https://stackoverflow.com/questions/1818664

  •  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. "اصطلاح التسمية" قواعد محلل (بخلاف ينبغي أن تبدأ مع الحالة الأدنى، وهي ليست اتفاقية، وبطبيعة الحال ...).

نصائح أخرى

واستخدام الكلمات المحجوزة للغة التي تستهدفها يمكن أيضا أن يسبب مشاكل.

وقضيت اليوم في محاولة لمعرفة لماذا بلدي قواعد اللغة لا تعمل فقط لتحقيق كان الحصول على افسدت الامر من قبل القاعدة "التعداد" في بلدي قواعد كنت قد تحمل اسم "التعداد".

وهذا قد يكون أو لا يكون مشكلة اعتمادا على ما هي اللغة الهدف. كنت تستخدم جافا الهدف الافتراضي، وكان بالتأكيد، حتى إذا كان هذا هو الحال يجب التحقق من قائمة الكلمات الأساسية المحجوزة للغة الهدف الخاص بك أيضا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top