private string parseSubquery() { if (TokenAtual.Equals(TipoToken.PalavraChave, "SELECT")) { int cont = 1; Queue <Token> tokensSubquery = new Queue <Token>(); while (cont > 0) { if (TokenAtual.Equals(TipoToken.Simbolo, "(")) { cont += 1; } else if (TokenAtual.Equals(TipoToken.Simbolo, ")")) { cont -= 1; } if (cont > 0) { tokensSubquery.Enqueue(TokenAtual); leProximoToken(); } } TradutorSqlToOracle tradutor = new TradutorSqlToOracle(); return(tradutor.Traduz(tokensSubquery)); } return(parseExpressaoAnd()); }
private string parseUnion() { if (!fimDoSql && TokenAtual.Equals(TipoToken.PalavraChave, "UNION")) { //pulaTokenEsperado(TipoToken.PalavraChave, "UNION"); string expressao = " UNION "; if (proximoTokenIgualA(TipoToken.PalavraChave, "ALL")) { leProximoToken(); expressao += "ALL "; } TradutorSqlToOracle tradutor = new TradutorSqlToOracle(); expressao += tradutor.Traduz(Tokens); return(expressao); } return(""); }