質問

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]+
.

それならあなたは通常の配列?を取得します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top