我一直在研究 PEGjs 语法。大多数都有效,但我在最后一件事上遇到了麻烦。我的解析器接受如下所示的输入:First:[content];
并返回类型(第一个或第二个)和内容中的每个元素(“c”、“o”...)。我还需要它能够]
作为输入,因此它应该能够解析以下内容:First:[co]nt];
.
有谁知道我该怎么做?这是我到目前为止所拥有的:
prod = unit+
unit = u:(form / size)
form = key:(kind) ":" value:(clas) ";" {return {type:key, value:value} }
clas = "[" v:(charact+) "]" { return {type:"class",value:v} }
kind = "First" / "Second"
charact = letters / symbols
symbols = "(" / ")" / "!" / "?" / "%" / "{" / "}" / "[" // "]"
letters = [A-Za-z]`