以下と照合するための peg.js 文法式を探しています。
"variable"
# 失敗"variable."
# 失敗""
# 失敗"variable.variable"
# Ok"variable.variable.variable.variable.variable"
#Ok
期待する入力
{PATH: "variable.variable"}
{PATH: "variable.variable.variable.variable.variable"}
Sample.pegjs
start =
PATH_EXP
STRING_EXP =
chars:[0-9a-zA-Z_]+ { return chars.join(""); }
PATH_EXP =
path:(STRING_EXP "." STRING_EXP) { return {PATH: path.join("")}; }
式を繰り返す方法がわかりませんが、オプションにすることもできます。