代码之家  ›  专栏  ›  技术社区  ›  Mike Two

有没有更好的方法在mgramar中定义小数?

  •  1
  • Mike Two  · 技术社区  · 15 年前

    我正在用微软的新M语法处理DSL,它需要允许十进制值。我把十进制定义为

    token digits = "0".."9";
    token spot = ".";
    token decimal = digits+ | digits+ spot digits+ | spot digits+;
    

    这似乎可行,但有更好的方法吗?感觉好像我错过了什么。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Mike Two    15 年前

    经过大量的挖掘,我发现你可以使用内置的language.grammar.decimal。如在

    syntax Cost = Language.Grammar.Decimal
    

    基“namespace”也有一些有用的位。语言.base和语言.grammar都内置于intellipad中。

    推荐文章