我在conlang的基础上编写了esolang,它不可避免地包含空格分隔的单词。与使用符号的常规编程语言相反,这意味着我最终需要在几乎每一个标记之间强制使用空格。这使得语法更难读、写、发展和维护;有没有一种聪明的方法可以强制使用空格?2就像~操作符的重载一样?
TL;DR我喜欢用一种简洁的方式来表达类似这样的东西:
WHITESPACE = ...
a = { "a" }
b = { "b" }
rule = [modifier]{ a ~ b }
这将匹配a b
和a b
,但不匹配ab
。
1条答案
按热度按时间cwtwac6a1#
您可以使用Pest的原子规则来防止隐式空白并手动处理它: