2009-08-15 5 views
1

私はMicrosoftの新しいM文法のDSLで作業しており、10進値を許可する必要があります。私は小数をMGrammarで小数を定義するより良い方法はありますか?

として定義しました
token digits = "0".."9"; 
token spot = "."; 
token decimal = digits+ | digits+ spot digits+ | spot digits+; 

これはうまくいくようですが、より良い方法がありますか?それはちょうど私が何かを逃しているように感じる。

答えて

1

多くの掘り下げの後、私はあなたがLanguage.Grammar.Decimalのビルドを使用できることが判明しました。

syntax Cost = Language.Grammar.Decimal 

Language.Baseの「名前空間」には、いくつかの便利なビットがあります。 Language.BaseとLanguage.Grammarはintellipadに組み込まれています。

関連する問題