summaryrefslogtreecommitdiff
path: root/src/parser/grammar.pegjs
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser/grammar.pegjs')
-rw-r--r--src/parser/grammar.pegjs9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/parser/grammar.pegjs b/src/parser/grammar.pegjs
index 007bc1d..d267b58 100644
--- a/src/parser/grammar.pegjs
+++ b/src/parser/grammar.pegjs
@@ -269,6 +269,7 @@ ArithmeticOperation
/ "/"
/ "*"
/ "**"
+ / "%"
BitOperation
= ">>"
@@ -285,17 +286,17 @@ ComparisonOperation
/ ">"
/ "<"
-Integer = digits:[0-9]+ !"." { return parseInt(digits.join(''), 10); }
+Integer = digits:("-"? [0-9]+) !"." { return { int: parseInt(digits.join(''), 10) }; }
QuotedString
= "'" content:[^']* "'" { return content.join(''); }
/ "\"" content:[^"]* "\"" { return content.join(''); }
Real
- = value:("-"? [0-9]+ "." [0-9]+) {
- return parseFloat(
+ = value:("-"? [0-9]+ ("." [0-9]+)?) {
+ return { real: parseFloat(
value.map(x => (Array.isArray(x) ? x.join('') : x)).join(''),
- );
+ ) };
}
Literal