}
else if(is_qualifier(token))
return parse_variable_declaration();
+ else if(token=="virtual")
+ return parse_function_declaration();
else if(is_type(token))
{
if(tokenizer.peek_token(2)=="(")
binary->left = left;
binary->oper = &oper;
tokenizer.expect(oper.token);
- if(oper.token[0]=='[')
+ if(oper.token2[0])
{
binary->right = parse_expression();
- tokenizer.expect("]");
+ tokenizer.expect(oper.token2);
}
else
binary->right = parse_expression(&oper);
{
RefPtr<FunctionDeclaration> func = create_node<FunctionDeclaration>();
+ func->virtua = check("virtual");
func->return_type = expect_type();
func->name = expect_identifier();
tokenizer.expect("(");
}
tokenizer.expect(")");
+ func->overrd = check("override");
+
string token = tokenizer.peek_token();
if(token=="{")
{