试图创建 DSL 来生成序列......这是我到目前为止所做的:
?start : expr
token : WORD
repeat_token : token ":" INT
tokens : (token | repeat_token)+
repeat : ":" INT
expr : "(" tokens | expr ")" repeat?
这是 DSL 的样子:
(a b:2 (c d:3):2 ):3
[[a bb [[c ddd] [c ddd]] ] ... ]
我在 expr ... 中遇到 expr 问题?
这失败了:
(a:2 (b))