我如何更好地理解 SmaCC 如何在正则表达式中使用 'isMethod' 功能?

How do i better understand how SmaCC uses the 'isMethod' functionality in regular expressions?

我不清楚 SmaCC 正则表达式中的 'isMethod' 支持。

这两个来源基本上说的是同一件事

<isMethod>  Copies the characters where Character>>isMethod returns true into 
the current regular expression. For example, instead of using \d, we could use 
<isDigit> since Character>>isDigit returns true for digits. 

没有太多要继续的,所以我有几个问题:

感谢您的宝贵时间

GToolkit Discord 是解决这个问题的更好地方,因为其中一位原作者在那里闲逛

诚然,评论可以更清楚一些,但从它的示例开始 - #isDigit - 图像中只有一个实现者:Character。因此,可能的意思是您可以将 Character 理解的任何消息放在括号中。

回答您的具体问题:

  • 你不能使用#isWhitespace因为没有这样的消息,但是#isSeparator似乎可以使用

  • 您通过探索 Character 了解可用名称,例如在浏览器中。

  • 是的,您可以通过在 Character(或其超类)

    中实现它们来使用您自己的标记
  • 正如@Stephan Eggermont 所建议的,GT 的 Discord 是一个提问的好地方。 Pharo ML 和 Discord 通常很有帮助,像这样的问题很可能在那里很容易得到解答,但随着您深入研究 Smacc,您会发现专家越来越少,而且 GT 社区目前大量使用 Smacc。