X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Floader%2FParser.cpp;h=183accbbb728f1cdca9c672b33a2a454c43d94e6;hb=40233fc8eea1c80e6c57a004dfe7e55dabf06edb;hp=aa770ff12a55fa1137a1a76511a3246a9d6a73e9;hpb=622b633b3c284b3b44c8cbb71528d20b97fe8d59;p=l2e.git diff --git a/src/loader/Parser.cpp b/src/loader/Parser.cpp index aa770ff..183accb 100644 --- a/src/loader/Parser.cpp +++ b/src/loader/Parser.cpp @@ -254,9 +254,8 @@ Literal *Parser::ParseArray() { AssertTokenType(t.type, Tokenizer::Token::BRACKET_OPEN); Tokenizer::Token probe(GetToken()); - tok.Putback(probe); - if (probe.type == Tokenizer::Token::ANGLE_BRACKET_OPEN) { + if (probe.type == Tokenizer::Token::TYPE_NAME) { vector values; while (t.type != Tokenizer::Token::BRACKET_CLOSE) { PropertyList *value(ParsePropertyList()); @@ -267,8 +266,10 @@ Literal *Parser::ParseArray() { throw Error(file, tok.Line(), string("unexpected token ") + TokenTypeToString(t.type) + ", expected , or ]"); } } - return new Literal(values); + return new Literal(probe.str, values); } else { + tok.Putback(probe); + vector values; while (t.type != Tokenizer::Token::BRACKET_CLOSE) { Value *value(ParseValue());