diff options
author | Himbeer <himbeer@disroot.org> | 2024-08-30 11:18:29 +0200 |
---|---|---|
committer | Himbeer <himbeer@disroot.org> | 2024-08-30 11:18:29 +0200 |
commit | 479ae18be6a21f71090e2f25435f585846de152c (patch) | |
tree | a9ca4eb1c24f146480806c6a5194d7bfe6de1531 /parse.go | |
parent | 67954167a21bc6d83cdfcd0f7e9db5f35737da3e (diff) |
Make number literal types postfix
Diffstat (limited to 'parse.go')
-rw-r--r-- | parse.go | 23 |
1 files changed, 8 insertions, 15 deletions
@@ -740,31 +740,24 @@ func parseStringSegment(toks *tokens) (*string, error) { } func parseNumber(toks *tokens) (*numberExpr, error) { - typeTok, ok := toks.consumeToken() + numTok, ok := toks.consumeToken() if !ok { return nil, unexpectedEOF } - if typeTok.kind != identifier { - return nil, expected{want: identifier, got: typeTok} - } - - if err := toks.mustMatch(lparen); err != nil { - return nil, err + if numTok.kind != number { + toks.unreadToken() + return nil, nil } - numTok, ok := toks.consumeToken() + typeTok, ok := toks.consumeToken() if !ok { return nil, unexpectedEOF } - if numTok.kind != number { - return nil, expected{want: number, got: numTok} - } - - if err := toks.mustMatch(rparen); err != nil { - return nil, err + if typeTok.kind != identifier { + return nil, expected{want: identifier, got: typeTok} } - return &numberExpr{typ: typeTok.value, s: numTok.value, ln: typeTok.line}, nil + return &numberExpr{typ: typeTok.value, s: numTok.value, ln: numTok.line}, nil } |