diff -r a000bafece09 -r 393f1b8ac8c3 src/Parser.cpp --- a/src/Parser.cpp Mon Jul 30 12:13:22 2012 -0700 +++ b/src/Parser.cpp Mon Jul 30 22:24:57 2012 -0700 @@ -134,6 +134,11 @@ return new (pool_) IntegerLiteral(scanner_.begin(), value); } + case TOK_TRUE: + case TOK_FALSE: + scanner_.scan(); + return new (pool_) BooleanLiteral(scanner_.begin(), kind); + case TOK_STRING_LITERAL: { scanner_.scan(); @@ -1269,6 +1274,11 @@ prefix(); fprintf(fp_, "[ IntegerLiteral (%d)\n", node->value()); } + void visit(BooleanLiteral *node) { + prefix(); + fprintf(fp_, "[ BooleanLiteral (%s)\n", + (node->token() == TOK_TRUE) ? "true" : "false"); + } void visit(FloatLiteral *node) { prefix(); fprintf(fp_, "[ FloatLiteral (%f)\n", node->value());