Skip to content

Commit 9217dda

Browse files
committed
Fix exponent parse error
1 parent 2482543 commit 9217dda

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

parser/parser.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ func (p *parser) parsePrimaryExpression() Node {
282282
case Number:
283283
p.next()
284284
value := strings.Replace(token.Value, "_", "", -1)
285-
if strings.Contains(value, ".") {
285+
if strings.ContainsAny(value, ".eE") {
286286
number, err := strconv.ParseFloat(value, 64)
287287
if err != nil {
288288
p.error("invalid float literal: %v", err)

parser/parser_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@ func TestParse(t *testing.T) {
3939
"2.5",
4040
&ast.FloatNode{Value: 2.5},
4141
},
42+
{
43+
"1e9",
44+
&ast.FloatNode{Value: 1e9},
45+
},
4246
{
4347
"true",
4448
&ast.BoolNode{Value: true},

0 commit comments

Comments
 (0)