3

以下と照合するための 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("")}; }

式を繰り返す方法がわかりませんが、オプションにすることもできます。

4

1 に答える 1