public static void analiseSemantica() { MeuCompiladorDAL.deletaDelimitadores(); MeuCompiladorDAL.populaDR(); MeuCompiladorDAL.leUmTokenValido(); while (Erro.getErro() == false) { int aux = MeuCompiladorDAL.leQtdArgumentos(); for (int i = 0; i < aux; ++i) { ArgLim.setCodigo(Token.getCodigo()); ArgLim.setposicao("" + i); MeuCompiladorDAL.leUmLimite(); MeuCompiladorDAL.leUmTokenValido(); if (int.Parse(Token.getToken()) < int.Parse(ArgLim.getminimo()) || int.Parse(Token.getToken()) > int.Parse(ArgLim.getmaximo())) { Erro.setErro("Linha " + Token.getLinha() + ": valor fora da faixa (" + Token.getToken() + ")"); return; } } MeuCompiladorDAL.leUmTokenValido(); } Erro.setErro(false); }
public static void leUmLimite() { String aux = "select * from TArgLimites where codigo =" + ArgLim.getCodigo() + " and posicao =" + ArgLim.getposicao(); strSQL = new OleDbCommand(aux, conn); resultlimites = strSQL.ExecuteReader(); if (resultlimites.Read()) { ArgLim.setminimo("" + resultlimites.GetInt32(2)); ArgLim.setmaximo("" + resultlimites.GetInt32(3)); } }