Text nodes: Use text nodes in examples/json.pegjs

redux
David Majda 12 years ago
parent 9ec6b6aa57
commit d0dfe46550

@ -65,33 +65,33 @@ char
/ "\\n" { return "\n"; } / "\\n" { return "\n"; }
/ "\\r" { return "\r"; } / "\\r" { return "\r"; }
/ "\\t" { return "\t"; } / "\\t" { return "\t"; }
/ "\\u" h1:hexDigit h2:hexDigit h3:hexDigit h4:hexDigit { / "\\u" digits:$(hexDigit hexDigit hexDigit hexDigit) {
return String.fromCharCode(parseInt("0x" + h1 + h2 + h3 + h4)); return String.fromCharCode(parseInt("0x" + digits));
} }
number "number" number "number"
= int_:int frac:frac exp:exp _ { return parseFloat(int_ + frac + exp); } = parts:$(int frac exp) _ { return parseFloat(parts); }
/ int_:int frac:frac _ { return parseFloat(int_ + frac); } / parts:$(int frac) _ { return parseFloat(parts); }
/ int_:int exp:exp _ { return parseFloat(int_ + exp); } / parts:$(int exp) _ { return parseFloat(parts); }
/ int_:int _ { return parseFloat(int_); } / parts:$(int) _ { return parseFloat(parts); }
int int
= digit19:digit19 digits:digits { return digit19 + digits; } = digit19 digits
/ digit:digit / digit
/ "-" digit19:digit19 digits:digits { return "-" + digit19 + digits; } / "-" digit19 digits
/ "-" digit:digit { return "-" + digit; } / "-" digit
frac frac
= "." digits:digits { return "." + digits; } = "." digits
exp exp
= e:e digits:digits { return e + digits; } = e digits
digits digits
= digits:digit+ { return digits.join(""); } = digit+
e e
= e:[eE] sign:[+-]? { return e + sign; } = [eE] [+-]?
/* /*
* The following rules are not present in the original JSON gramar, but they are * The following rules are not present in the original JSON gramar, but they are

Loading…
Cancel
Save