From c8336ee48791f00378a35e463e2962f4c856beb2 Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Mon, 26 Feb 2024 14:59:58 -0700 Subject: format parser, add support for negative integers and return specifically which type of number --- src/parser/grammar.pegjs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/parser/grammar.pegjs') 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 -- cgit v1.2.3-70-g09d2