سؤال

عند إرسال الأمر عند الأمر، يتم إنهاء عادة بواسطة r n، ولكن في الواقع، هؤلاء حقا اثنين "متغيرات التسجيل" S3 و S4.

افتراضيا S3 == ' r' و S4 == ' n'، ولكن يمكن للمستخدم تغيير هذه وقت التشغيل مع الأمر ATSX =

كيف يمكنني التعامل مع هذا في My Antlr Lexer / Parser؟

يحتوي كل أمر على النموذج في [المعلمات] S3S4، كيف يمكنني التعامل مع ذلك إذا كان المستخدم يغير قيمة S3 أو S4؟

شكرا مقدما على أي مساعدة...

هل كانت مفيدة؟

المحلول

لا، لا يوجد مثل هذا الخيار لتغيير قواعد Lexer- أو محلل في ديناميكيا. بالطبع، هناك محتمل في العمل مثل إعادة إنشاء Lexer / المحلل في تغيير متغيرات التسجيل، لكنها لن تكون جميلة، أعتقد ...


يحرر

كتب mawg

إعادة إنشاء LEXR & POARSER (حسنا، Lexer فقط، أعتقد) - هل يمكن أن Lowrate على ذلك؟

أعد كتابة ملف Grammar الأصلي (فقط قواعد Lexer، كما تذكر بشكل صحيح) وإعادة ترجمة INTER يرى: http://java.sun.com/javase/6/docs/api/javax/tools/javacompiler.html.

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