Beispiel #1
0
void Parser::aql_stmt() {
    if (tokens[look].type == CREATE) {
        create_stmt();
    } else {
        output_stmt();
    }
}
void Parser::stmt() {
    lookahead = lex->getNextLex();
    if (lookahead=="EOF")
        return;
    switch (lookahead[0]) {
        case 'C': create_stmt(); break;
        case 'I': insert_stmt(); break;
        case 'D': delete_stmt(); break;
        case 'S': query_stmt(); break;
        default: throw("Lexer error at line " + Data::toStr(lex->getLine()));
    }
}
 const Statement &ssql_stmt() {
     if (lookahead == CREATE) {
         return create_stmt();
     } else if (lookahead == INSERT) {
         return insert_stmt();
     } else if (lookahead == DELETE) {
         return delete_stmt();
     } else if (lookahead == SELECT) {
         return query_stmt();
     } else {
         throw ParseError("Syntax error");
     }
 }