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

发布于 2024-08-01 22:15:01 字数 227 浏览 15 评论 0原文

我正在微软新的 M Grammar 中开发 DSL,它需要允许十进制值。 我将十进制定义为

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

这似乎可行,但是有更好的方法吗? 感觉就像我错过了一些东西。

I'm working on a DSL in Microsoft's new M Grammar, and it needs to allow decimal values. I've defined decimal as

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

That seems to work, but is there a better way? It just feels like I'm missing something.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ゃ人海孤独症 2024-08-08 22:15:01

经过大量挖掘,我发现您可以使用 Language.Grammar.Decimal 中的构建。 正如在

syntax Cost = Language.Grammar.Decimal

The Language.Base 中一样,“命名空间”也有一些有用的位。 Language.Base 和 Language.Grammar 都内置于 intellipad 中。

After much digging I found that you can use the build in Language.Grammar.Decimal. As in

syntax Cost = Language.Grammar.Decimal

The Language.Base "namespace" also has some useful bits. Both Language.Base and Language.Grammar are built in to intellipad.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文