"?"で始まるトークンとの一致方法PEGJSで
-
21-12-2019 - |
質問
PEGJSを使用してこのようなトークンと一致させる必要があります:
?xxx ?yyy
.
これがうまくいくと思ったでしょう:
variable
= str:?[a-z]+ { console.log('---->>>',str); return str.join(""); }
.
送信元を解析したときに取得してエラー:
オブジェクト?メソッド 'join'
がありません
str
変数が一致したトークンの配列ではないためです...これがどのように行われるべきかどうかは任意のアイデア?
解決
あなたはどちらのグループリテラルと一緒にいてもらうことができます:
variable
= str:("?"[a-z]+)
.
str
は["?",["a","b","c"]]
の?abc
になります。
variable
= str:[?a-z]+
.
それならあなたは通常の配列?
を取得します。
所属していません StackOverflow