-- input -- 2024/01/01 * groceries (virtual:account) 1 PESO [some thing:else] 5 PESO -- expect -- DATE "2024/01/01" 1:1-1:11 WHITESPACE " " 1:11-1:12 STAR "*" 1:12-1:13 WHITESPACE " " 1:13-1:14 TEXT "groceries" 1:14-2:0 NEWLINE "\n" 2:0-2:1 INDENT "\t" 2:1-2:2 LPAREN "(" 2:2-2:3 TEXT "virtual" 2:3-2:10 COLON ":" 2:10-2:11 TEXT "account" 2:11-2:18 RPAREN ")" 2:18-2:19 WHITESPACE " " 2:19-2:21 INT "1" 2:21-2:22 WHITESPACE " " 2:22-2:23 COMMODITYMARK "PESO" 2:23-3:0 NEWLINE "\n" 3:0-3:1 INDENT "\t" 3:1-3:2 LBRACKET "[" 3:2-3:3 TEXT "some thing" 3:3-3:13 COLON ":" 3:13-3:14 TEXT "else" 3:14-3:18 RBRACKET "]" 3:18-3:19 WHITESPACE " " 3:19-3:22 INT "5" 3:22-3:23 WHITESPACE " " 3:23-3:24 COMMODITYMARK "PESO" 3:24-4:0 NEWLINE "\n" 4:0-4:1 EOF "" 4:1-4:1