Пример #1
0
  @Override
  public void actionPerformed(ActionEvent e) {
    if (e.getSource() == jbtnLoad) {
      ruta = archivo.abrirRuta();
      if (validar.validarAsm(ruta)) {
        jtxtAsm.setText("");
        jtxtInst.setText("");
        try {
          textoAsm = archivo.leerArchivo(ruta);
          jtxtAsm.setText(textoAsm);
          estado = 1;
        } catch (IOException a) {

        }
      } else {
        JOptionPane.showMessageDialog(
            null, "El archivo seleccionado no tiene la extensión correcta (asm)");
      }
    } else if (e.getSource() == jbtnProcess) {
      if (estado > 0) {
        boolean endCODOP = false;
        arregloLineas = procesos.separaLineas(textoAsm);
        archivo.crearArchivos("inst", "#\tETQ\tCODOP\tOper\r\n");
        archivo.crearArchivos("err", "#\tCodigo\t\t|Error\r\n");
        for (i = 0; i < procesos.lineasAsm; i++) {
          if (arregloLineas[i].matches("^\\s*$")) continue;
          procesos.combinacion = validar.validarLinea(arregloLineas[i]);
          if (procesos.combinacion == 0) {
            linea = procesos.escribirError(arregloLineas[i].trim(), validar.mensaje, i + 1);
            archivo.escribirErr(linea);
          } else {
            linea = procesos.escribirLinea(arregloLineas[i].trim(), i + 1);
            archivo.escribirInst(linea);
          }
          if (procesos.codop.matches("^[eE][nN][dD]$")) {
            endCODOP = true;
            break;
          }
        }
        if (!endCODOP) {
          linea = procesos.escribirError("", "No se encontró el fin del archivo", 0);
          archivo.escribirErr(linea);
        }

        // Escribe el archivo inst en el cuadro de texto
        jtxtInst.setText("");
        try {
          textoInst = archivo.leerArchivo(archivo.nombreArchivo + ".inst");
          jtxtInst.setText(textoInst);
        } catch (IOException a) {

        }

        // Escribe el archivo err en el cuadro de texto
        jtxtErr.setText("");
        try {
          textoErr = archivo.leerArchivo(archivo.nombreArchivo + ".err");
          jtxtErr.setText(textoErr);
        } catch (IOException a) {

        }
      } else {
        JOptionPane.showMessageDialog(null, "Primero carga el archivo asm");
      }
    }
  }