Nearley 语法的新手,不知道这里出了什么问题。这是我的语法,用于获取放在左括号和右括号内的任何内容。
@builtin "whitespace.ne"
with_in_brackets ->
"(" _ args _ ")" {% d => ({
type: 'inside_brackets',
argumentstring: d[2]
})%}
args -> .:* {% d => d[0].join("") %}
- 测试输入 -
(hello, " ", world)
- 预期结果 -
{type: "inside_brackets", argumentstring: "hello, " ", world"}
- 实际结果 -
{type: "inside_brackets", argumentstring: "hello, " ", world"}
注意 - 实际结果是将 4 个空格压缩为 1 个空格。不知道为什么会这样。
有什么想法吗?仅供参考 - 我正在使用Nearley Playground在 Safari v15 浏览器上测试我的语法。