我想在我的词法分析器中解析这样的东西:
( begin expression )
Run Code Online (Sandbox Code Playgroud)
其中表达式也用括号括起来。表达式中的内容并不重要,我只想将(begin和 匹配之间的所有内容)作为标记。一个例子是:
(begin
(define x (+ 1 2)))Run Code Online (Sandbox Code Playgroud)
所以令牌的文本应该是
(define x (+ 1 2)))Run Code Online (Sandbox Code Playgroud)
就像是
PROGRAM : LPAREN BEGIN .* RPAREN;
Run Code Online (Sandbox Code Playgroud)
确实(显然)不起作用,因为一旦他看到“)”,他就认为规则已经结束,但我需要匹配的括号。
我怎样才能做到这一点?