هل هناك طريقة أفضل لتحديد عشري في mgrammar؟
سؤال
أنا أعمل على DSL في قواعد مايكروسوفت M الجديدة، وتحتاج إلى السماح بالقيم العشرية. لقد حددت عشرية كما
token digits = "0".."9";
token spot = ".";
token decimal = digits+ | digits+ spot digits+ | spot digits+;
يبدو أن العمل، ولكن هل هناك طريقة أفضل؟ انها مجرد شعور وكأنني أفتقد شيئا.
المحلول
بعد حفر كثيرة وجدت أنه يمكنك استخدام البناء في اللغة. كما في
syntax Cost = Language.Grammar.Decimal
تحتوي لغة "مساحة الاسم" أيضا على بعض البتات المفيدة. كل من language.base و langure.grammar مبنية في IntelliPad.
لا تنتمي إلى StackOverflow