private void CargarInicial() { var usuarioInfo = ObtenerUsuarioInfo(); var tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaTamanioPagina).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlNumeroRegistros, tablaMaestraInfo, "NombreCorto", "NombreLargo"); ddlNumeroRegistros.SelectedValue = "5"; var listaAlmacen = new Negocio.Almacen().Listar(0); LlenarCombo(ddlAlmacen, listaAlmacen, "AlmacenId", "Nombre"); ddlAlmacen.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); LlenarCombo(ddlAlmacenOrigen, listaAlmacen, "AlmacenId", "Nombre"); LlenarCombo(ddlAlmacenDestino, listaAlmacen, "AlmacenId", "Nombre"); ddlAlmacenDestino.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); var listaUsuario = new Negocio.Usuario().Listar(0, "", "", "", Constantes.PerfilAdministrador, 0); foreach (var usuario in listaUsuario) { ddlResponsable.Items.Add(new ListItem(usuario.Nombres + "," + usuario.ApellidoPaterno + " " + usuario.ApellidoMaterno, usuario.UsuarioId.ToString())); } ddlResponsable.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); }
private void CargarInicial() { var tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaTamanioPagina).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlNumeroRegistros, tablaMaestraInfo, "NombreCorto", "NombreLargo"); ddlNumeroRegistros.SelectedValue = "5"; }
public async Task <ActionResult <Response> > PostTabla([FromBody] TablaMaestra tablaMaestra) { Response response = new Response(); object rpta = new object(); try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } rpta = await _tablamaestralogic.PostTabla(tablaMaestra); if (rpta == null) { return(NotFound()); } } catch (Exception e) { response.Status = Constant.Error500; response.Message = e.Message; return(Ok(response)); } return(Ok(rpta)); }
private void CargarInicial() { var usuarioInfo = ObtenerUsuarioInfo(); var tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaTamanioPagina).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlNumeroRegistros, tablaMaestraInfo, "NombreCorto", "NombreLargo"); ddlNumeroRegistros.SelectedValue = "5"; tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaTipoDocumento).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlTipoDocumento, tablaMaestraInfo, "Codigo", "NombreLargo"); //ddlTipoDocumento.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); ddlTipoDocumento.SelectedValue = Constantes.TipoDocumentoRuc.ToString(); // ddlTipoDocumento.Enabled = false; var paisInfo = new Pais().Listar(0).ToList(); LlenarCombo(ddlPais, paisInfo, "PaisId", "Descripcion"); ddlPais.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); //var opcionInfo = new Opcion().ListarOpciones(usuarioInfo.EmpresaId).Where(o=>o.Activo.Equals(1)).ToList(); //LlenarCombo(ddlOpcionInicio, opcionInfo, "OpcionId", "Url"); var ubigeoInfo = new Ubigeo().Listar(0, 0, Constantes.TipoUbigeoDepartamento); LlenarCombo(ddlDepartamento, ubigeoInfo, "UbigeoId", "Nombre"); ddlDepartamento.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); //ubigeoInfo = new Ubigeo().Listar(0, clienteInfo.UbigeoDepartamentoId, Constantes.TipoUbigeoProvincia); }
private void CargarInicial(int empresaId, int clienteId) { var scriptCargaInicial = new StringBuilder(""); var usuarioInfo = ObtenerUsuarioInfo(); var tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaTamanioPagina).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlNumeroRegistros, tablaMaestraInfo, "NombreCorto", "NombreLargo"); ddlNumeroRegistros.SelectedValue = "5"; if (empresaId > 0) { var empresaInfo = new Negocio.Empresa().Listar(empresaId); LlenarCombo(ddlEmpresa, empresaInfo, "EmpresaId", "RazonSocial"); ddlEmpresa.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); ddlEmpresa.SelectedValue = empresaId.ToString(); scriptCargaInicial.Append("document.getElementById('" + ddlEmpresa.ClientID + "').value = " + empresaId + ";"); scriptCargaInicial.Append("document.getElementById('trCliente').style.display = 'none';"); } else { if (clienteId > 0) { var clienteInfo = new Negocio.Cliente().Listar(clienteId); LlenarCombo(ddlCliente, clienteInfo, "ClienteId", "Cliente"); ddlCliente.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); ddlCliente.SelectedValue = clienteId.ToString(); scriptCargaInicial.Append("document.getElementById('" + ddlCliente.ClientID + "').value = " + clienteId + ";"); scriptCargaInicial.Append("document.getElementById('trEmpresa').style.display = 'none';"); } else { var empresaInfo = new Negocio.Empresa().Listar(0); LlenarCombo(ddlEmpresa, empresaInfo, "EmpresaId", "RazonSocial"); ddlEmpresa.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); var clienteInfo = new Negocio.Cliente().Listar(0).Where(c => c.TipoPersonaId.Equals(Constantes.TipoPersonaJuridica)).ToList(); LlenarCombo(ddlCliente, clienteInfo, "ClienteId", "Cliente"); ddlCliente.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); } } var paisInfo = new Pais().Listar(0).ToList(); LlenarCombo(ddlPais, paisInfo, "PaisId", "Descripcion"); ddlPais.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); var ubigeoInfo = new Ubigeo().Listar(0, 0, Constantes.TipoUbigeoDepartamento); LlenarCombo(ddlDepartamento, ubigeoInfo, "UbigeoId", "Nombre"); ddlDepartamento.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); RegistrarScript(scriptCargaInicial.ToString(), "CargaInicial"); }
private void CargarDatos(int tablaId) { var script = new StringBuilder(""); grvTablaMaestra.DataBind(); //int numeroRegistros = Convert.ToInt16(ddlNumeroRegistros.SelectedValue); int numeroRegistros = 1000000; int numeroPagina = Convert.ToInt16(ViewState["PageIndex"]); int indicePagina = numeroPagina == 0 ? 0 : numeroPagina - 1; pageIndex = indicePagina + 1; var tablaMaestraInfoLista = new TablaMaestra().ListarPaginado(0, tablaId, numeroRegistros, indicePagina).ToList(); grvTablaMaestra.DataSource = tablaMaestraInfoLista; grvTablaMaestra.DataBind(); if (tablaMaestraInfoLista.Count > 0) { grvTablaMaestra.HeaderRow.Attributes["style"] = "display: none"; grvTablaMaestra.UseAccessibleHeader = true; grvTablaMaestra.HeaderRow.TableSection = TableRowSection.TableHeader; } rowCount = tablaMaestraInfoLista.Count > 0 ? tablaMaestraInfoLista.First().TotalFilas : 0; pageCount = CalcPageCount(rowCount); ViewState["PageCount"] = pageCount; #region Texto del Pie de Página if (tablaMaestraInfoLista.Count > 0) { if (numeroRegistros == 0) { lblPaginacion.Text = "Página " + pageIndex.ToString("") + " de 1, con un Total de " + rowCount.ToString("") + " registros"; script.Append("document.getElementById('lblPaginacion').innerText = '"); script.Append("Página " + pageIndex.ToString("") + " de 1, con un Total de " + rowCount.ToString("") + " registros';"); } else { lblPaginacion.Text = "Página " + pageIndex.ToString("") + " de " + pageCount.ToString("") + ", con un Total de " + rowCount.ToString("") + " registros"; script.Append("document.getElementById('lblPaginacion').innerText = '"); script.Append("Página " + pageIndex.ToString("") + " de " + pageCount.ToString("") + ", con un Total de " + rowCount.ToString("") + " registros';"); } } else { lblPaginacion.Text = "No se obtuvieron resultados"; script.Append("document.getElementById('lblPaginacion').innerText = 'No se obtuvieron resultados';"); } #endregion RefreshPageButtons(); RegistrarScript(script.ToString(), "Paginacion"); }
private void CargarInicial() { var tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaTamanioPagina).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlNumeroRegistros, tablaMaestraInfo, "NombreCorto", "NombreLargo"); ddlNumeroRegistros.SelectedValue = "5"; var listaTipoProducto = new Negocio.TipoProducto().Listar(0, 0, Constantes.PrimerNivelProducto).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlTipoProducto, listaTipoProducto, "TipoProductoId", "Nombre"); ddlTipoProducto.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); }
private void CargarInicial() { var usuarioInfo = ObtenerUsuarioInfo(); var tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaTamanioPagina).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlNumeroRegistros, tablaMaestraInfo, "NombreCorto", "NombreLargo"); ddlNumeroRegistros.SelectedValue = "5"; tablaMaestraInfo = new Negocio.TablaMaestra().Listar(0, 0).Where(t => t.Codigo.Equals("0")).ToList(); LlenarCombo(ddlTablaMaestra, tablaMaestraInfo, "TablaId", "NombreLargo"); }
private void CargarInicial() { var usuarioInfo = ObtenerUsuarioInfo(); var tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaTamanioPagina).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlNumeroRegistros, tablaMaestraInfo, "NombreCorto", "NombreLargo"); ddlNumeroRegistros.SelectedValue = "5"; tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaTipoCotizacion).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlTipoCotizacion, tablaMaestraInfo, "Codigo", "NombreCorto"); ddlTipoCotizacion.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); }
private void Resetear() { Cache.obtenerCache().Limpiar(); ManejadorErrores.Limpiar(); TablaMaestra.Limpiar(); dataDummys.Rows.Clear(); dataSimbolos.Rows.Clear(); dataLiterales.Rows.Clear(); dataPalabraReservada.Rows.Clear(); dataErroresLexicos.Rows.Clear(); dataErroresSeman.Rows.Clear(); dataErroresSintac.Rows.Clear(); }
private void CargarInicial() { var usuarioInfo = ObtenerUsuarioInfo(); var tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaTamanioPagina).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlNumeroRegistros, tablaMaestraInfo, "NombreCorto", "NombreLargo"); ddlNumeroRegistros.SelectedValue = "5"; var listaAlmacen = new Negocio.Almacen().Listar(0); LlenarCombo(ddlAlmacen, listaAlmacen, "AlmacenId", "Nombre"); ddlAlmacen.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); }
public static List <TablaMaestraInfo> ObtenerMotivoIngreso(string tipoComprobante) { var tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaMotivoIngresoCompra).Where(x => x.Activo.Equals(1)).ToList(); if (tipoComprobante.Equals("01") || tipoComprobante.Equals("09")) { tablaMaestraInfo = tablaMaestraInfo.Where(x => x.Codigo == Constantes.MotivoIngresoCompraPorVenta.ToString()).ToList(); } else { tablaMaestraInfo = tablaMaestraInfo.Where(x => x.Codigo != Constantes.MotivoIngresoCompraPorVenta.ToString()).ToList(); } return(tablaMaestraInfo); }
private void CargarInicial() { var usuarioInfo = ObtenerUsuarioInfo(); var tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaTamanioPagina).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlNumeroRegistros, tablaMaestraInfo, "NombreCorto", "NombreLargo"); ddlNumeroRegistros.SelectedValue = "5"; tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaTipoComprobante).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlTipoComprobante, tablaMaestraInfo, "Codigo", "NombreLargo"); tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaSerie).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlSerie, tablaMaestraInfo, "Codigo", "NombreCorto"); }
private void CargarInicial() { var usuarioInfo = ObtenerUsuarioInfo(); var tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaTamanioPagina).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlNumeroRegistros, tablaMaestraInfo, "NombreCorto", "NombreLargo"); ddlNumeroRegistros.SelectedValue = "5"; var opcionInfo = new Opcion().ListarOpciones(usuarioInfo.PerfilId).Where(o => o.Activo.Equals(1)).ToList(); LlenarCombo(ddlOpcionInicio, opcionInfo, "OpcionId", "Url"); // ddlOpcionInicio #region Información Personal //tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaSexo).Where(x => x.Activo.Equals(1)).ToList(); //LlenarCombo(ddlSexo, tablaMaestraInfo, "Codigo", "NombreLargo"); //ddlSexo.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); //tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaEstadoCivil).Where(x => x.Activo.Equals(1)).ToList(); //LlenarCombo(ddlEstadoCivil, tablaMaestraInfo, "Codigo", "NombreLargo"); //ddlEstadoCivil.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); //tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaTipoDocumento).Where(x => x.Activo.Equals(1)).ToList(); //LlenarCombo(ddlTipoDocumento, tablaMaestraInfo, "Codigo", "NombreLargo"); //ddlTipoDocumento.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); //#endregion //#region Configuración //var perfilInfo = new Perfil().Listar(0).Where(x => x.Activo.Equals(1)).ToList(); //LlenarCombo(ddlPerfil, perfilInfo, "PerfilId", "Perfil"); //ddlPerfil.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); //tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaCargo).Where(x => x.Activo.Equals(1)).ToList(); //LlenarCombo(ddlCargo, tablaMaestraInfo, "Codigo", "NombreLargo"); //ddlCargo.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); //var empresaInfo = new Empresa().Listar(0).Where(x => x.Activo.Equals(1)).ToList(); //LlenarCombo(ddlEmpresa, empresaInfo, "EmpresaId", "RazonSocial"); //ddlEmpresa.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); //var departamentoInfo = new Departamento().Listar(0).Where(x => x.Activo.Equals(1)).ToList(); //LlenarCombo(ddlDepartamento, departamentoInfo, "DepartamentoId", "Nombre"); //ddlDepartamento.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); #endregion }
private void CargarInicial() { var tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaTamanioPagina).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlNumeroRegistros, tablaMaestraInfo, "NombreCorto", "NombreLargo"); ddlNumeroRegistros.SelectedValue = "5"; #region Información Personal //var listaEmpresa = new Negocio.Empresa().Listar(0); //LlenarCombo(ddlEmpresa, listaEmpresa, "EmpresaId", "RazonSocial"); //ddlEmpresa.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); //tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaTipoPersona).Where(x => x.Activo.Equals(1)).ToList(); //LlenarCombo(ddlTipoPersona, tablaMaestraInfo, "Codigo", "NombreLargo"); //ddlTipoPersona.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); //tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaEstadoCivil).Where(x => x.Activo.Equals(1)).ToList(); //LlenarCombo(ddlEstadoCivil, tablaMaestraInfo, "Codigo", "NombreLargo"); //ddlEstadoCivil.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaTipoDocumento).Where(x => x.Activo.Equals(1) && x.Codigo.Equals("6")).ToList(); LlenarCombo(ddlTipoDocumento, tablaMaestraInfo, "Codigo", "NombreLargo"); // ddlTipoDocumento.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); #endregion #region Configuración var paisInfo = new Pais().Listar(0).ToList(); LlenarCombo(ddlPais, paisInfo, "PaisId", "Descripcion"); ddlPais.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); //var perfilInfo = new Negocio.Perfil().Listar(0).Where(x => x.Activo.Equals(1)).ToList(); //LlenarCombo(ddlPerfil, perfilInfo, "PerfilId", "Perfil"); //ddlPerfil.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); //tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaCargo).Where(x => x.Activo.Equals(1)).ToList(); //LlenarCombo(ddlCargo, tablaMaestraInfo, "Codigo", "NombreLargo"); //ddlCargo.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); //var empresaInfo = new Negocio.Empresa().Listar(0).Where(x => x.Activo.Equals(1)).ToList(); //LlenarCombo(ddlEmpresa, empresaInfo, "EmpresaId", "RazonSocial"); //ddlEmpresa.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); var ubigeoInfo = new Ubigeo().Listar(0, 0, Constantes.TipoUbigeoDepartamento); LlenarCombo(ddlDepartamento, ubigeoInfo, "UbigeoId", "Nombre"); ddlDepartamento.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); #endregion }
public async Task <ResponseSql> PostTabla(TablaMaestra tablaMaestra) { var parameters = new DynamicParameters(); parameters.Add("@ACCION", tablaMaestra.ACCION); parameters.Add("@IDDETALLE", tablaMaestra.IDDETALLE); parameters.Add("@IDTABLA", tablaMaestra.IDTABLA); parameters.Add("@SDETALLE", tablaMaestra.SDETALLE); parameters.Add("@FILLER1", tablaMaestra.FILLER1); parameters.Add("@FILLER2", tablaMaestra.FILLER2); parameters.Add("@FILLER3", tablaMaestra.FILLER3); parameters.Add("@IDPADRE", tablaMaestra.IDPADRE); using (var connection = new SqlConnection(_connectionString)) { return(await connection.QueryFirstAsync <ResponseSql>("[dbo].[SPE_UDP_TABLA_DETALLE]", parameters, commandType : System.Data.CommandType.StoredProcedure)); } }
public ComponenteLexico Analizar() { Resetear(); while (ContinuarAnalisis) { if (EstadorActual == 0) { EstadoCero(); } else if (EstadorActual == 1) { EstadoUno(); } else if (EstadorActual == 2) { EstadoDos(); } else if (EstadorActual == 3) { EstadoTres(); } else if (EstadorActual == 14) { EstadoCatorce(); } else if (EstadorActual == 15) { EstadoQuince(); } else if (EstadorActual == 16) { //implementar Estado 16 } else if (EstadorActual == 17) { EstadoDiecisiete(); } } //Colocar el componente en la tabla de simbolos return(TablaMaestra.SincronizarTabla(Componente)); }
public ComponenteLexico Analizar() { ComponenteLexico componenteLexico = new ComponenteLexico(); LimpiarLexema(); int estadoActual = 0; bool continuarAnalisis = true; while (continuarAnalisis) { } if (componenteLexico.Equals("@EOF@")) { //TablaMaestra.ObtenerTablaMaestra().Sincronizar(componente); TablaMaestra.SincronizarSimbolo(componenteLexico); } return(componenteLexico); }
public async Task <object> PostTabla(TablaMaestra tablaMaestra) { Response response = new Response(); ResponseSql responsesql = new ResponseSql(); try { responsesql = await _unitOfWork.TablaMaestra.PostTabla(tablaMaestra); response.Status = responsesql.ID_ERR == 0 ? Constant.Status : responsesql.ID_ERR; response.Message = responsesql.DESCR_ERR; response.Data = responsesql.IDDATO; } catch (Exception e) { response.Status = Constant.Error500; response.Message = e.Message; } return(response); }
private void CargarInicial() { var tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaTamanioPagina).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlNumeroRegistros, tablaMaestraInfo, "NombreCorto", "NombreLargo"); ddlNumeroRegistros.SelectedValue = "5"; tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaUnidades).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlUnidadMedida, tablaMaestraInfo, "Codigo", "NombreCorto"); ddlUnidadMedida.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaTipoNegocio).Where(x => x.Activo.Equals(1)).ToList(); LlenarLista(lstTipoNegocio, tablaMaestraInfo, "Codigo", "NombreCorto"); ddlUnidadMedida.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); #region Datos Principales var tipoProducto = new TipoProducto().Listar(0, 0, Constantes.PrimerNivelProducto).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlTipoProducto, tipoProducto, "TipoProductoId", "Nombre"); ddlTipoProducto.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); ddlSubTipoProducto.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); #endregion }
private void CargarInicial() { var usuarioInfo = ObtenerUsuarioInfo(); var tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaTamanioPagina).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlNumeroRegistros, tablaMaestraInfo, "NombreCorto", "NombreLargo"); ddlNumeroRegistros.SelectedValue = "5"; tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaTipoComprobante).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlTipoComprobante, tablaMaestraInfo, "Codigo", "NombreLargo"); LlenarCombo(ddlTipoComprobanteBuscar, tablaMaestraInfo, "Codigo", "NombreLargo"); ddlTipoComprobanteBuscar.Items.Insert(0, new ListItem("Todos", String.Empty)); tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaMoneda).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlMonedaBuscar, tablaMaestraInfo, "Codigo", "NombreLargo"); ddlMonedaBuscar.Items.Insert(0, new ListItem("Todos", "0")); var fechaHoy = DateTime.Now; txtFechaEmisionInicioBuscar.Text = "01/" + fechaHoy.Month.ToString().PadLeft(2, '0') + "/" + fechaHoy.Year; txtFechaEmisionFinBuscar.Text = fechaHoy.ToString("dd/MM/yyyy"); }
private void CargarInicial() { var tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaTipoComprobanteCompra).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlTipoComprobante, tablaMaestraInfo, "Codigo", "NombreLargo"); ddlTipoComprobante.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaMoneda).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlMoneda, tablaMaestraInfo, "Codigo", "NombreLargo"); ddlMoneda.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); //tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaMotivoIngresoCompra).Where(x => x.Activo.Equals(1)).ToList(); //LlenarCombo(ddlMotivoIngreso, tablaMaestraInfo, "Codigo", "NombreLargo"); ddlMotivoIngreso.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaUnidades).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlUnidad, tablaMaestraInfo, "Codigo", "NombreCorto"); ddlUnidad.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); var listaAlmacen = new Negocio.Almacen().Listar(0).Where(x => x.Activo.Equals(1)).ToList(); LlenarCombo(ddlAlmacen, listaAlmacen, "AlmacenId", "Nombre"); ddlAlmacen.Items.Insert(0, new ListItem(Constantes.Seleccione, Constantes.Seleccione_Value)); }
public ComponenteLexico Analizar() { ComponenteLexico componenteLexico = new ComponenteLexico(); limpiarLexema(); int estadoActual = 0; bool continuarAnalisis = true; while (continuarAnalisis) { if (estadoActual == 0) { LeerSiguienteCaracter(); DevorarEspaciosBlanco(); if (EsLetra(caracterActual) || EsCaracterEspecial(caracterActual)) { estadoActual = 4; concatenarLexema(); } else if (EsDigito(caracterActual)) { estadoActual = 1; concatenarLexema(); } else if (caracterActual.Equals("+")) { estadoActual = 5; concatenarLexema(); } else if (caracterActual.Equals("-")) { estadoActual = 6; concatenarLexema(); } else if (caracterActual.Equals("*")) { estadoActual = 7; concatenarLexema(); } else if (caracterActual.Equals("/")) { estadoActual = 8; concatenarLexema(); } else if (caracterActual.Equals("%")) { estadoActual = 9; concatenarLexema(); } else if (caracterActual.Equals("(")) { estadoActual = 10; concatenarLexema(); } else if (caracterActual.Equals(")")) { estadoActual = 11; concatenarLexema(); } else if (caracterActual.Equals("@EOF@")) { estadoActual = 12; concatenarLexema(); } else if (caracterActual.Equals("=")) { estadoActual = 19; concatenarLexema(); } else if (caracterActual.Equals("<")) { estadoActual = 20; concatenarLexema(); } else if (caracterActual.Equals(">")) { estadoActual = 21; concatenarLexema(); } else if (caracterActual.Equals(":")) { estadoActual = 22; concatenarLexema(); } else if (caracterActual.Equals("!")) { estadoActual = 30; concatenarLexema(); } else if (caracterActual.Equals("@FL@")) { estadoActual = 13; } else { estadoActual = 18; } } else if (estadoActual == 1) { LeerSiguienteCaracter(); if (EsDigito(caracterActual)) { estadoActual = 1; concatenarLexema(); } else if (caracterActual.Equals(",")) { estadoActual = 2; concatenarLexema(); } else { estadoActual = 14; } } else if (estadoActual == 2) { LeerSiguienteCaracter(); if (EsDigito(caracterActual)) { estadoActual = 3; concatenarLexema(); } else { concatenarLexema(); estadoActual = 17; } } else if (estadoActual == 14) { continuarAnalisis = false; DevolverPuntero(); componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.ENTERO; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length + 1; componenteLexico.PosicionFinal = puntero; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 3) { LeerSiguienteCaracter(); if (EsDigito(caracterActual)) { concatenarLexema(); } else { estadoActual = 15; } } else if (estadoActual == 15) { continuarAnalisis = false; DevolverPuntero(); componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.DECIMAL; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length + 1; componenteLexico.PosicionFinal = puntero; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 4) { LeerSiguienteCaracter(); if (EsLetra(caracterActual) || EsCaracterEspecial(caracterActual)) { concatenarLexema(); } else { estadoActual = 16; } } else if (estadoActual == 5) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.SUMA; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length + 1; componenteLexico.PosicionFinal = puntero; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 6) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.RESTA; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length + 1; componenteLexico.PosicionFinal = puntero; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 7) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.MULTIPLICACION; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length + 1; componenteLexico.PosicionFinal = puntero; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 9) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.MODULO; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length + 1; componenteLexico.PosicionFinal = puntero; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 10) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.PARENTESIS_ABRE; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length + 1; componenteLexico.PosicionFinal = puntero; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 11) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.PARENTESIS_CIERRA; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length + 1; componenteLexico.PosicionFinal = puntero; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 16) { continuarAnalisis = false; DevolverPuntero(); componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.IDENTIFICADOR; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length + 1; componenteLexico.PosicionFinal = puntero; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 8) { LeerSiguienteCaracter(); if (caracterActual.Equals("*")) { estadoActual = 34; concatenarLexema(); } else if (caracterActual.Equals("/")) { concatenarLexema(); estadoActual = 36; } else { estadoActual = 33; } } else if (estadoActual == 33) { continuarAnalisis = false; DevolverPuntero(); componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.DIVISION; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length + 1; componenteLexico.PosicionFinal = puntero + 1; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 34) { LeerSiguienteCaracter(); if (caracterActual.Equals("*")) { concatenarLexema(); estadoActual = 35; } else if (caracterActual.Equals("@FL@")) { estadoActual = 37; } /* else if (caracterActual.Equals("@EOF@")) * { * limpiarLexema(); * }*/ else { concatenarLexema(); } } else if (estadoActual == 35) { LeerSiguienteCaracter(); if (caracterActual.Equals("*")) { concatenarLexema(); } else if (caracterActual.Equals("/")) { concatenarLexema(); comentario = lexema; limpiarLexema(); estadoActual = 0; } else { estadoActual = 34; concatenarLexema(); } } else if (estadoActual == 37) { CargarNuevaLinea(); estadoActual = 34; //concatenarLexema(); } else if (estadoActual == 36) { LeerSiguienteCaracter(); if (caracterActual.Equals("@FL@")) { estadoActual = 13; comentario = lexema; limpiarLexema(); } else { concatenarLexema(); } } else if (estadoActual == 13) { CargarNuevaLinea(); estadoActual = 0; } else if (estadoActual == 20) { LeerSiguienteCaracter(); if (caracterActual.Equals(">")) { estadoActual = 23; concatenarLexema(); } else if (caracterActual.Equals("=")) { concatenarLexema(); estadoActual = 24; } else { estadoActual = 25; } } else if (estadoActual == 23) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.DIFERENTE; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length + 1; componenteLexico.PosicionFinal = puntero; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 24) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.MAYOR_O_IGUAL_QUE; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length + 1; componenteLexico.PosicionFinal = puntero; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 25) { continuarAnalisis = false; DevolverPuntero(); componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.MENOR_QUE; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length + 1; componenteLexico.PosicionFinal = puntero; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 21) { LeerSiguienteCaracter(); if (caracterActual.Equals("=")) { concatenarLexema(); estadoActual = 26; } else { estadoActual = 27; } } else if (estadoActual == 26) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.MAYOR_O_IGUAL_QUE; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length + 1; componenteLexico.PosicionFinal = puntero; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 27) { continuarAnalisis = false; DevolverPuntero(); componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.MAYOR_QUE; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length + 1; componenteLexico.PosicionFinal = puntero; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 22) { LeerSiguienteCaracter(); if (caracterActual.Equals("=")) { concatenarLexema(); estadoActual = 28; } else { concatenarLexema(); estadoActual = 29; } } else if (estadoActual == 28) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.ASIGNACION; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length + 1; componenteLexico.PosicionFinal = puntero; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 19) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.IGUAL_QUE; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length + 1; componenteLexico.PosicionFinal = puntero; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 30) { LeerSiguienteCaracter(); if (caracterActual.Equals("=")) { concatenarLexema(); estadoActual = 31; } else { concatenarLexema(); estadoActual = 32; } } else if (estadoActual == 31) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.DIFERENTE; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length + 1; componenteLexico.PosicionFinal = puntero; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 32) { DevolverPuntero(); continuarAnalisis = false; Error error = Error.CrearErrorLexico(lexema, Categoria.DECIMAL, numeroLineaActual, puntero + 2 - lexema.Length, puntero + 1, "Caracter no valido", "Leí \"" + caracterActual + "\" y esperaba un '='", "Asegúrese que el caracter que se reciba despues de ! sea un ="); GestorErrores.Reportar(error); componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.DECIMAL; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero + 2 - lexema.Length; componenteLexico.PosicionFinal = puntero + 1; componenteLexico.Tipo = TipoComponente.DUMMY; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 29) { DevolverPuntero(); continuarAnalisis = false; Error error = Error.CrearErrorLexico(lexema, Categoria.CARACTER_NO_VALIDO, numeroLineaActual, puntero + 2 - lexema.Length, puntero + 1, "Caracter no valido", "Leí \"" + caracterActual + "\" y esperaba un '='", "Asegúrese que el caracter que se reciba despues de ! sea un ="); GestorErrores.Reportar(error); componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.DECIMAL; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero + 2 - lexema.Length; componenteLexico.PosicionFinal = puntero + 1; componenteLexico.Tipo = TipoComponente.DUMMY; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 17) { DevolverPuntero(); continuarAnalisis = false; Error error = Error.CrearErrorLexico(lexema, Categoria.DECIMAL, numeroLineaActual, puntero + 2 - lexema.Length, puntero + 1, "Número decimal no valido", "Leí \"" + caracterActual + "\" y esperaba un digíto del 0 al 9", "Asegúrese que el caracter que se reciba sea un dígito del 0 al 9"); GestorErrores.Reportar(error); componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.DECIMAL; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero + 2 - lexema.Length; componenteLexico.PosicionFinal = puntero + 1; componenteLexico.Tipo = TipoComponente.DUMMY; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 18) { Error error = Error.CrearErrorLexico(caracterActual, Categoria.CARACTER_NO_VALIDO, numeroLineaActual, puntero, puntero, "Caracter no reconocido por el lenguaje", "Leí \"" + caracterActual + "\"", "Asegúrese que el caracter que se reciba sea valido dentro del lenguaje"); GestorErrores.Reportar(error); throw new Exception("Se ha presentado un error de tipo stopper durante" + "el analisis léxico. Por favor verifique la consola de errores..."); } else if (estadoActual == 12) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.FIN_ARCHIVO; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero; componenteLexico.PosicionFinal = puntero; TablaMaestra.SincronizarSimbolo(componenteLexico); } } return(componenteLexico); }
public ComponenteLexico Analizar() { ComponenteLexico componenteLexico = new ComponenteLexico(); limpiarLexema(); int estadoActual = 0; bool continuarAnalisis = true; while (continuarAnalisis) { if (estadoActual == 0) { LeerSiguienteCaracter(); DevorarEspaciosBlanco(); if (EsLetra(CaracterActual) || CaracterActual.Equals("$") || CaracterActual.Equals("_")) { estadoActual = 4; concatenarLexema(); } else if (EsDigito(CaracterActual)) { estadoActual = 1; concatenarLexema(); } else if (CaracterActual.Equals("+")) { estadoActual = 5; concatenarLexema(); } else if (CaracterActual.Equals("-")) { estadoActual = 6; concatenarLexema(); } else if (CaracterActual.Equals("*")) { estadoActual = 7; concatenarLexema(); } else if (CaracterActual.Equals("/")) { estadoActual = 8; concatenarLexema(); } else if (CaracterActual.Equals("(")) { estadoActual = 10; concatenarLexema(); } else if (CaracterActual.Equals(")")) { estadoActual = 11; concatenarLexema(); } else if (CaracterActual.Equals("@EOF@")) { estadoActual = 12; concatenarLexema(); } else if (CaracterActual.Equals("=")) { estadoActual = 19; concatenarLexema(); } else if (CaracterActual.Equals("<")) { estadoActual = 20; concatenarLexema(); } else if (CaracterActual.Equals(">")) { estadoActual = 21; concatenarLexema(); } else if (CaracterActual.Equals(":")) { estadoActual = 22; concatenarLexema(); } else if (CaracterActual.Equals("!")) { estadoActual = 30; concatenarLexema(); } else if (CaracterActual.Equals("@FL@")) { estadoActual = 13; } else { estadoActual = 18; } } else if (estadoActual == 1) { LeerSiguienteCaracter(); if (EsDigito(CaracterActual)) { estadoActual = 1; concatenarLexema(); } else if (CaracterActual.Equals(",")) { estadoActual = 2; concatenarLexema(); } else { estadoActual = 14; } } else if (estadoActual == 2) { LeerSiguienteCaracter(); if (EsDigito(CaracterActual)) { estadoActual = 3; concatenarLexema(); } else { estadoActual = 17; } } else if (estadoActual == 3) { LeerSiguienteCaracter(); if (EsDigito(CaracterActual)) { estadoActual = 3; concatenarLexema(); } else { estadoActual = 15; } } else if (estadoActual == 4) { LeerSiguienteCaracter(); if (EsLetraODigito(CaracterActual) || CaracterActual.Equals("$") || CaracterActual.Equals("_")) { estadoActual = 4; concatenarLexema(); } else { estadoActual = 16; } } else if (estadoActual == 5) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.SUMA, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.SIMBOLO; MensajeRetorno(componenteLexico); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 6) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.RESTA, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.SIMBOLO; MensajeRetorno(componenteLexico); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 7) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.MULTIPLICACION, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.SIMBOLO; MensajeRetorno(componenteLexico); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 8) { LeerSiguienteCaracter(); if (CaracterActual.Equals("*")) { estadoActual = 34; concatenarLexema(); } else if (CaracterActual.Equals("/")) { estadoActual = 36; concatenarLexema(); } else { estadoActual = 33; } } else if (estadoActual == 9) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.MODULO, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.SIMBOLO; MensajeRetorno(componenteLexico); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 10) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.PARENTESIS_ABRE, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.SIMBOLO; MensajeRetorno(componenteLexico); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 11) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.PARENTESIS_CIERRA, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.SIMBOLO; MensajeRetorno(componenteLexico); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } //fin de archivo else if (estadoActual == 12) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.EOF, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.SIMBOLO; //TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } //cargar nueva linea else if (estadoActual == 13) { CargarNuevaLinea(); limpiarLexema(); estadoActual = 0; } else if (estadoActual == 14) { continuarAnalisis = false; DevolverPuntero(); componenteLexico = ComponenteLexico.crear(lexema, Categoria.ENTERO, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.SIMBOLO; MensajeRetorno(componenteLexico); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 15) { continuarAnalisis = false; DevolverPuntero(); componenteLexico = ComponenteLexico.crear(lexema, Categoria.NUMERO_DECIMAL, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.SIMBOLO; MensajeRetorno(componenteLexico); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 16) { continuarAnalisis = false; DevolverPuntero(); componenteLexico = ComponenteLexico.crear(lexema, Categoria.IDENTIFICADOR, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.SIMBOLO; MensajeRetorno(componenteLexico); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } //estado de error else if (estadoActual == 17) { continuarAnalisis = false; DevolverPuntero(); Error error = Error.CrearErrorLexico( lexema, Categoria.NUMERO_DECIMAL, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1, "Numero decimal no válido", "Leí" + CaracterActual + "y esperaba un digito del cero al 9", "asegurese que el caracter que reciba sea un caracter del 0 al 9"); GestorErrores.Reportar(error); componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.NUMERO_DECIMAL; componenteLexico.Lexema = lexema + "0"; componenteLexico.NumeroLinea = NumeroLineaActual; componenteLexico.PosicionInicial = Puntero - lexema.Length; componenteLexico.PosicionFinal = Puntero - 1; componenteLexico.Tipo = TipoComponente.DUMMY; MensajeRetorno(componenteLexico); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } //estado de error else if (estadoActual == 18) { Error error = Error.CrearErrorLexico( CaracterActual, Categoria.CARACTER_NO_VALIDO, NumeroLineaActual, Puntero - 1, Puntero - 1, "Caracter no reconocido", "Leí" + CaracterActual, "Asegurese que el caracter sera valido"); GestorErrores.Reportar(error); throw new Exception("Se ha presentado un error de tipo STOPPER durante el analisis lexico. Por favor verifique la consola de errores"); } else if (estadoActual == 19) { continuarAnalisis = false; DevolverPuntero(); componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.IGUAL_QUE; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = NumeroLineaActual; componenteLexico.PosicionInicial = Puntero - lexema.Length; componenteLexico.PosicionFinal = Puntero - 1; MensajeRetorno(componenteLexico); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 20) { LeerSiguienteCaracter(); if (CaracterActual.Equals(">")) { estadoActual = 23; concatenarLexema(); } else if (CaracterActual.Equals("=")) { estadoActual = 24; concatenarLexema(); } else { estadoActual = 24; } } else if (estadoActual == 21) { LeerSiguienteCaracter(); if (CaracterActual.Equals("=")) { estadoActual = 26; concatenarLexema(); } else { estadoActual = 27; } } else if (estadoActual == 22) { LeerSiguienteCaracter(); if (CaracterActual.Equals("=")) { estadoActual = 28; concatenarLexema(); } else { estadoActual = 29; } } else if (estadoActual == 23) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.DIFERENTE_QUE, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.SIMBOLO; MensajeRetorno(componenteLexico); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 24) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.MENOR_IGUAL_QUE, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.SIMBOLO; MensajeRetorno(componenteLexico); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 25) { continuarAnalisis = false; DevolverPuntero(); componenteLexico = ComponenteLexico.crear(lexema, Categoria.MENOR_QUE, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.SIMBOLO; MensajeRetorno(componenteLexico); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 26) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.MAYOR_IGUAL_QUE, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.SIMBOLO; MensajeRetorno(componenteLexico); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 27) { continuarAnalisis = false; DevolverPuntero(); componenteLexico = ComponenteLexico.crear(lexema, Categoria.MAYOR_QUE, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.SIMBOLO; MensajeRetorno(componenteLexico); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 28) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.ASIGNACION, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.SIMBOLO; TablaMaestra.SincronizarSimbolo(componenteLexico); MensajeRetorno(componenteLexico); limpiarLexema(); } //estado de error else if (estadoActual == 29) { continuarAnalisis = false; DevolverPuntero(); Error error = Error.CrearErrorLexico( lexema, Categoria.NUMERO_DECIMAL, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1, "Asignación no válida", "Leí" + CaracterActual + " y esperaba =", "asegurese que el caracter que reciba sea ="); GestorErrores.Reportar(error); } else if (estadoActual == 30) { LeerSiguienteCaracter(); if (CaracterActual.Equals("=")) { estadoActual = 31; concatenarLexema(); } else { estadoActual = 32; } } else if (estadoActual == 31) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.DIFERENTE_QUE, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.SIMBOLO; TablaMaestra.SincronizarSimbolo(componenteLexico); MensajeRetorno(componenteLexico); limpiarLexema(); } //estado de error else if (estadoActual == 32) { continuarAnalisis = false; DevolverPuntero(); Error error = Error.CrearErrorLexico( lexema, Categoria.NUMERO_DECIMAL, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1, "Asignación no válida", "Leí" + CaracterActual + " y esperaba *", "asegurese que el caracter que reciba sea *"); GestorErrores.Reportar(error); } else if (estadoActual == 33) { continuarAnalisis = false; DevolverPuntero(); componenteLexico = ComponenteLexico.crear(lexema, Categoria.DIVISION, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.SIMBOLO; MensajeRetorno(componenteLexico); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } //revisar else if (estadoActual == 34) { LeerSiguienteCaracter(); if (CaracterActual.Equals("@FL@")) { estadoActual = 37; CargarNuevaLinea(); } else if (CaracterActual.Equals("*")) { estadoActual = 35; concatenarLexema(); } else { estadoActual = 34; concatenarLexema(); } } else if (estadoActual == 35) { LeerSiguienteCaracter(); if (CaracterActual.Equals("*")) { estadoActual = 35; concatenarLexema(); } else if (CaracterActual.Equals("/")) { estadoActual = 0; concatenarLexema(); } else { estadoActual = 34; concatenarLexema(); } } else if (estadoActual == 36) { LeerSiguienteCaracter(); if (CaracterActual.Equals("@FL@")) { estadoActual = 13; } else { estadoActual = 36; } } //estado para arreglar else if (estadoActual == 37) { CargarNuevaLinea(); if (CaracterActual.Equals("@FL@")) { estadoActual = 34; } } } return(componenteLexico); }
public ComponenteLexico DevolverComponente() { ComponenteLexico componente = null; int estadoActual = 0; int nroBS = 0; bool continuarAnalisis = true; string lexema = ""; while (continuarAnalisis) { if (estadoActual == 0) { LeerSiguienteCaracter(); while (" ".Equals(caracterActual)) { LeerSiguienteCaracter(); } if (Char.IsLetter(caracterActual.ToCharArray()[0])) { estadoActual = 4; lexema += caracterActual; } else if (Char.IsDigit(caracterActual.ToCharArray()[0])) { estadoActual = 1; lexema += caracterActual; } else if ("+".Equals(caracterActual)) { estadoActual = 5; lexema += caracterActual; } else if ("-".Equals(caracterActual)) { estadoActual = 8; lexema += caracterActual; } else if ("*".Equals(caracterActual)) { estadoActual = 7; lexema += caracterActual; } else if ("/".Equals(caracterActual)) { estadoActual = 6; lexema += caracterActual; } else if ("%".Equals(caracterActual)) { estadoActual = 9; lexema += caracterActual; } else if ("(".Equals(caracterActual)) { estadoActual = 10; lexema += caracterActual; } else if (")".Equals(caracterActual)) { estadoActual = 11; lexema += caracterActual; } else if ("#".Equals(caracterActual)) { estadoActual = 22; lexema += caracterActual; } else if ("@EOF@".Equals(caracterActual)) { estadoActual = 12; lexema += caracterActual; } else if ("=".Equals(caracterActual)) { estadoActual = 19; lexema += caracterActual; } else if ("<".Equals(caracterActual)) { estadoActual = 20; lexema += caracterActual; } else if (">".Equals(caracterActual)) { estadoActual = 21; lexema += caracterActual; } else if ("'".Equals(caracterActual)) { estadoActual = 23; lexema += caracterActual; Console.WriteLine("Entro ad estaod comillads"); } else if ("@FL@".Equals(caracterActual)) { estadoActual = 13; } else { estadoActual = 18; } } else if (estadoActual == 1) { LeerSiguienteCaracter(); if (Char.IsDigit(caracterActual.ToCharArray()[0])) { estadoActual = 1; lexema += caracterActual; } else if (".".Equals(caracterActual)) { estadoActual = 2; lexema += caracterActual; } else { estadoActual = 14; } } else if (estadoActual == 2) { LeerSiguienteCaracter(); if (Char.IsDigit(caracterActual.ToCharArray()[0])) { estadoActual = 3; lexema += caracterActual; } else { estadoActual = 17; lexema += caracterActual; } } else if (estadoActual == 3) { LeerSiguienteCaracter(); if (Char.IsDigit(caracterActual.ToCharArray()[0])) { estadoActual = 3; } else { estadoActual = 15; } } else if (estadoActual == 4) { LeerSiguienteCaracter(); if (Char.IsLetter(caracterActual.ToCharArray()[0])) { estadoActual = 4; lexema += caracterActual; } else { estadoActual = 16; } } else if (estadoActual == 5) { continuarAnalisis = false; componente = ComponenteLexico.CrearComponenteLexico(lexema, "SUMA", lineaActual.Numero, puntero, puntero); } else if (estadoActual == 6) { continuarAnalisis = false; componente = ComponenteLexico.CrearComponenteLexico(lexema, "DIVISION", lineaActual.Numero, puntero, puntero); } else if (estadoActual == 7) { continuarAnalisis = false; componente = ComponenteLexico.CrearComponenteLexico(lexema, "MULTIPLICACION", lineaActual.Numero, puntero, puntero); } else if (estadoActual == 8) { LeerSiguienteCaracter(); if ("-".Equals(caracterActual)) { estadoActual = 36; lexema += caracterActual; } else { estadoActual = 33; } } else if (estadoActual == 9) { continuarAnalisis = false; componente = ComponenteLexico.CrearComponenteLexico(lexema, "MODULO", lineaActual.Numero, puntero, puntero); } else if (estadoActual == 10) { continuarAnalisis = false; componente = ComponenteLexico.CrearComponenteLexico(lexema, "PARENTESIS ABRE", lineaActual.Numero, puntero, puntero); } else if (estadoActual == 11) { continuarAnalisis = false; componente = ComponenteLexico.CrearComponenteLexico(lexema, "PARENTESIS CIERRA", lineaActual.Numero, puntero, puntero); } else if (estadoActual == 12) { continuarAnalisis = false; componente = ComponenteLexico.CrearComponenteLexico(lexema, "@EOF@", lineaActual.Numero, puntero, puntero); } else if (estadoActual == 13) { CargarNuevaLinea(); estadoActual = 0; } else if (estadoActual == 14) { continuarAnalisis = false; DevolverPuntero(); componente = ComponenteLexico.CrearLiteral(lexema, "ENTERO", lineaActual.Numero, puntero - lexema.Length + 1, puntero); } else if (estadoActual == 15) { continuarAnalisis = false; DevolverPuntero(); componente = ComponenteLexico.CrearLiteral(lexema, "DECIMAL", lineaActual.Numero, puntero - lexema.Length + 1, puntero); } else if (estadoActual == 16) { continuarAnalisis = false; DevolverPuntero(); componente = ComponenteLexico.CrearComponenteLexico(lexema, "IDENTIFICADOR", lineaActual.Numero, puntero - lexema.Length + 1, puntero); } else if (estadoActual == 17) { DevolverPuntero(); continuarAnalisis = false; ManejadorErrores.ObtenerManejadorErrores().Agregar(Error.CrearErrorLexico(lexema, "Se esperaba un número y se recibió: " + caracterActual, "Numero decimal no valido", "Asegurese de que el número decimal sea válido", lineaActual.Numero, puntero - lexema.Length, puntero )); componente = ComponenteLexico.CrearDummy(lexema, "DECIMAL", lineaActual.Numero, puntero - lexema.Length + 1, puntero); } else if (estadoActual == 18) { ManejadorErrores.ObtenerManejadorErrores().Agregar(Error.CrearErrorLexico(caracterActual, "Caracter no aceptado por el lenguaje: " + caracterActual, "No es posible continuar con el analisis por caracter no valido", "Asegurese de utilizar caracteres aceptados por el lenguaje", lineaActual.Numero, puntero - lexema.Length, puntero )); throw new Exception("Se ha presentado un error tipo Stopper que no permite continuar con el análisis, verifique la consola de errores"); } else if (estadoActual == 19) { continuarAnalisis = false; componente = ComponenteLexico.CrearComponenteLexico(lexema, "ASIGNACION", lineaActual.Numero, puntero, puntero); } else if (estadoActual == 20) { continuarAnalisis = false; componente = ComponenteLexico.CrearComponenteLexico(lexema, "LECTURA", lineaActual.Numero, puntero - lexema.Length, puntero); } else if (estadoActual == 21) { continuarAnalisis = false; componente = ComponenteLexico.CrearComponenteLexico(lexema, "ESCRITURA", lineaActual.Numero, puntero - lexema.Length, puntero); } else if (estadoActual == 22) { continuarAnalisis = false; componente = ComponenteLexico.CrearComponenteLexico(lexema, "CONCATENACION", lineaActual.Numero, puntero, puntero); } else if (estadoActual == 23) { LeerSiguienteCaracter(); if ("\\".Equals(caracterActual)) { estadoActual = 24; Console.WriteLine("Leido un BS"); nroBS += 1; } else if ("'".Equals(caracterActual)) { estadoActual = 25; lexema += caracterActual; } else if ("@FL@".Equals(caracterActual)) { estadoActual = 26; //lexema += caracterActual; } else { estadoActual = 23; lexema += caracterActual; } } else if (estadoActual == 24) { LeerSiguienteCaracter(); if ("@FL@".Equals(caracterActual)) { estadoActual = 26; } else { estadoActual = 23; lexema += caracterActual; } } else if (estadoActual == 25) { continuarAnalisis = false; //DevolverPuntero(); componente = ComponenteLexico.CrearLiteral(lexema, "CADENA", lineaActual.Numero, puntero - lexema.Length, puntero); } else if (estadoActual == 26) { continuarAnalisis = false; ManejadorErrores.ObtenerManejadorErrores().Agregar(Error.CrearErrorLexico(lexema, "Se esperaba una comilla ['] y se recibió: " + caracterActual, "Cadena no valida", "Asegurese de que la estructura de cerrar la cadena con un ['].", lineaActual.Numero, puntero - lexema.Length - nroBS, puntero )); componente = ComponenteLexico.CrearDummy(lexema, "CADENA_INVALIDA", lineaActual.Numero, puntero - lexema.Length - nroBS, puntero); } else if (estadoActual == 33) { continuarAnalisis = false; DevolverPuntero(); componente = ComponenteLexico.CrearComponenteLexico(lexema, "RESTA", lineaActual.Numero, puntero - lexema.Length, puntero); } else if (estadoActual == 36) { LeerSiguienteCaracter(); if ("@FL@".Equals(caracterActual)) { estadoActual = 13; lexema = ""; } else { estadoActual = 36; lexema += caracterActual; } } } if (caracterActual != "@EOF@") { TablaMaestra.ObtenerTablaMaestra().Sincronizar(componente); } return(componente); }
private void Resetear() { Cache.ObtenerCache().Limpiar(); ManejadorErrores.Limpiar(); TablaMaestra.Limpiar(); }
public ComponenteLexico Analizar() { Resetear(); while (ContinuarAnalisis) { if (EstadoActual == 0) { EstadoCero(); } else if (EstadoActual == 1) { EstadoUno(); } else if (EstadoActual == 2) { EstadoDos(); } else if (EstadoActual == 3) { EstadoTres(); } else if (EstadoActual == 4) { EstadoCuatro(); } else if (EstadoActual == 5) { EstadoCinco(); } else if (EstadoActual == 6) { EstadoSeis(); } else if (EstadoActual == 7) { EstadoSiete(); } else if (EstadoActual == 8) { EstadoOcho(); } else if (EstadoActual == 9) { EstadoNueve(); } else if (EstadoActual == 10) { EstadoDiez(); } else if (EstadoActual == 11) { EstadoOnce(); } else if (EstadoActual == 12) { EstadoDoce(); } else if (EstadoActual == 13) { EstadoTrece(); } else if (EstadoActual == 14) { EstadoCatorce(); } else if (EstadoActual == 15) { EstadoQuince(); } else if (EstadoActual == 16) { EstadoDieciseis(); } else if (EstadoActual == 17) { EstadoDiecisiete(); } else if (EstadoActual == 18) { EstadoDieciocho(); } else if (EstadoActual == 19) { EstadoDiecinueve(); } else if (EstadoActual == 20) { EstodoVeinte(); } else if (EstadoActual == 21) { EstadoVeintiuno(); } else if (EstadoActual == 22) { EstadoVeintidos(); } else if (EstadoActual == 23) { EstadoVeintitres(); } else if (EstadoActual == 24) { EstadoVeinticuatro(); } else if (EstadoActual == 25) { EstadoVeinticinco(); } else if (EstadoActual == 26) { EstadoVeintiseis(); } else if (EstadoActual == 27) { EstadoVeintisiete(); } else if (EstadoActual == 28) { EstadoVeintiocho(); } else if (EstadoActual == 29) { EstadoVeintinueve(); } else if (EstadoActual == 30) { EstadoTreinta(); } else if (EstadoActual == 31) { EstadoTreintaiuno(); } else if (EstadoActual == 32) { EstadoTreintaidos(); } else if (EstadoActual == 33) { EstadoTreintaitres(); } else if (EstadoActual == 34) { EstadoTreintaicuatro(); } else if (EstadoActual == 35) { EstadoTreintaicinco(); } else if (EstadoActual == 36) { EstadoTreintaiseis(); } else if (EstadoActual == 37) { EstadoTreintaisiete(); } } return(TablaMaestra.SincronizarTabla(Componente)); }
private void CargarDatos(int codigoCompra) { var usuarioInfo = ObtenerUsuarioInfo(); var script = new StringBuilder(""); grvVenta.DataBind(); int numeroRegistros = 10; int numeroPagina = Convert.ToInt16(ViewState["PageIndex"]); int indicePagina = numeroPagina == 0 ? 0 : numeroPagina - 1; pageIndex = indicePagina + 1; #region Cargar Datos Compra var compra = new Negocio.Compra().ListarPaginado(codigoCompra, 0, usuarioInfo.TipoNegocioId, 0, 0).First(); var proveedor = new Negocio.Proveedor().Listar(compra.ProveedorId).First(); ddlTipoComprobante.SelectedValue = "0" + compra.TipoDocumentoId.ToString(); txtSerie.Text = compra.NumeroSerie; txtNumeroDocumento.Text = compra.NumeroComprobante; ddlMoneda.SelectedValue = compra.MonedaId.ToString(); txtFechaEmision.Text = compra.FechaEmision.ToString("dd/MM/yyyy"); txtProveedor.Text = proveedor.Nombre; txtDireccion.Text = proveedor.Direccion; txtNumeroDocumentoProveedor.Text = proveedor.NumeroDocumento; txtGlosa.Text = compra.Glosa; lblComprobanteSubTotal.Text = compra.SubTotal.ToString("###,##0.#0"); lblComprobanteIgv.Text = compra.Igv.ToString("###,##0.#0"); lblComprobanteTotal.Text = compra.Total.ToString("###,##0.#0"); hdnProveedorId.Value = proveedor.ProveedorId.ToString(); hdnEstadoComprobanteId.Value = compra.EstadoComprobanteId.ToString(); var tablaMaestraInfo = new TablaMaestra().Listar(0, Constantes.TablaMotivoIngresoCompra).ToList(); if (("0" + compra.TipoDocumentoId.ToString()).Equals("01") || ("0" + compra.TipoDocumentoId.ToString()).Equals("09")) { tablaMaestraInfo = tablaMaestraInfo.Where(x => x.Codigo == Constantes.MotivoIngresoCompraPorVenta.ToString()).ToList(); } else { tablaMaestraInfo = tablaMaestraInfo.Where(x => x.Codigo != Constantes.MotivoIngresoCompraPorVenta.ToString()).ToList(); } LlenarCombo(ddlMotivoIngreso, tablaMaestraInfo, "Codigo", "NombreLargo"); ddlMotivoIngreso.SelectedValue = compra.MotivoIngresoId.ToString(); if (compra.EstadoComprobanteId == Constantes.EstadoComprobanteCompraAnulado) { ddlTipoComprobante.Enabled = false; txtSerie.ReadOnly = true; txtNumeroDocumento.ReadOnly = true; ddlMoneda.Enabled = false; ddlAlmacen.Enabled = false; txtFechaEmision.ReadOnly = true; txtProveedor.ReadOnly = true; txtGlosa.ReadOnly = true; btnAgregarItem.Enabled = false; btnCancelar.Enabled = false; ddlMotivoIngreso.Enabled = false; lblDetalleCompra.Text = "DETALLE COMPRA"; script.Append("document.getElementById('lblDetalleCompra').className ='lblTitulo';"); script.Append("document.getElementById('trDatosProducto').style.display='none';"); script.Append("document.getElementById('trMontosProducto').style.display='none';"); script.Append("document.getElementById('trOpcionesItem').style.display='none';"); script.Append("document.getElementById('imgBuscarCliente').style.display='none';"); script.Append("document.getElementById('imgFechaEmision').style.display='none';"); script.Append("document.getElementById('btnGuardar').style.display='none';"); script.Append("document.getElementById('btnCerrar').style.display='';"); } else { txtProveedor.ReadOnly = true; txtGlosa.ReadOnly = true; script.Append("document.getElementById('imgBuscarCliente').style.display='none';"); script.Append("document.getElementById('btnAnular').style.display='';"); } #endregion var compraInfoLista = new Negocio.Compra().ListarComprasDetalle(0, codigoCompra); grvVenta.DataSource = compraInfoLista; grvVenta.DataBind(); if (compraInfoLista.Count > 0) { grvVenta.HeaderRow.Attributes["style"] = "display: none"; grvVenta.UseAccessibleHeader = true; grvVenta.HeaderRow.TableSection = TableRowSection.TableHeader; Session["CompraDetalle"] = compraInfoLista; } else { Session["CompraDetalle"] = null; } rowCount = compraInfoLista.Count > 0 ? compraInfoLista.First().TotalFilas : 0; pageCount = CalcPageCount(rowCount); ViewState["PageCount"] = pageCount; #region Texto del Pie de Página if (compraInfoLista.Count > 0) { if (numeroRegistros == 0) { lblPaginacion.Text = "Página " + pageIndex.ToString("") + " de 1, con un Total de " + rowCount.ToString("") + " registros"; script.Append("document.getElementById('lblPaginacion').innerText = '"); script.Append("Página " + pageIndex.ToString("") + " de 1, con un Total de " + rowCount.ToString("") + " registros';"); } else { lblPaginacion.Text = "Página " + pageIndex.ToString("") + " de " + pageCount.ToString("") + ", con un Total de " + rowCount.ToString("") + " registros"; script.Append("document.getElementById('lblPaginacion').innerText = '"); script.Append("Página " + pageIndex.ToString("") + " de " + pageCount.ToString("") + ", con un Total de " + rowCount.ToString("") + " registros';"); } } else { lblPaginacion.Text = "No se obtuvieron resultados"; script.Append("document.getElementById('lblPaginacion').innerText = 'No se obtuvieron resultados';"); } #endregion RefreshPageButtons(); RegistrarScript(script.ToString(), "Paginacion"); }
public ComponenteLexico Analizar() { ComponenteLexico componenteLexico = new ComponenteLexico(); LimpiarLexema(); int estadoActual = 0; bool continuarAnalisis = true; while (continuarAnalisis) { if (estadoActual == 0) { LeerSiguienteCaracter(); DevorarEspaciosBlanco(); if (EsLetra(caracterActual) || caracterActual.Equals("$") || caracterActual.Equals("_")) { estadoActual = 4; concatenarLexema(); } else if (EsDigito(caracterActual)) { estadoActual = 1; concatenarLexema(); } else if (caracterActual.Equals("+")) { estadoActual = 5; concatenarLexema(); } else if (caracterActual.Equals("-")) { estadoActual = 6; concatenarLexema(); } else if (caracterActual.Equals("*")) { estadoActual = 7; concatenarLexema(); } else if (caracterActual.Equals("/")) { estadoActual = 8; concatenarLexema(); } else if (caracterActual.Equals("%")) { estadoActual = 9; concatenarLexema(); } else if (caracterActual.Equals("(")) { estadoActual = 10; concatenarLexema(); } else if (caracterActual.Equals(")")) { estadoActual = 11; concatenarLexema(); } else if (caracterActual.Equals("@EOF@")) { estadoActual = 12; concatenarLexema(); } else if (caracterActual.Equals("=")) { estadoActual = 19; concatenarLexema(); } else if (caracterActual.Equals("<")) { estadoActual = 20; concatenarLexema(); } else if (caracterActual.Equals(">")) { estadoActual = 21; concatenarLexema(); } else if (caracterActual.Equals(":")) { estadoActual = 22; concatenarLexema(); } else if (caracterActual.Equals("!")) { estadoActual = 30; concatenarLexema(); } else if (caracterActual.Equals("@FL@")) { estadoActual = 13; } else { estadoActual = 18; } } else if (estadoActual == 1) { LeerSiguienteCaracter(); if (EsDigito(caracterActual)) { estadoActual = 1; concatenarLexema(); } else if (caracterActual.Equals(",")) { estadoActual = 2; concatenarLexema(); } else { estadoActual = 14; } } else if (estadoActual == 2) { LeerSiguienteCaracter(); if (EsDigito(caracterActual)) { estadoActual = 3; concatenarLexema(); } else { estadoActual = 17; } } else if (estadoActual == 3) { LeerSiguienteCaracter(); if (EsDigito(caracterActual)) { estadoActual = 3; concatenarLexema(); } else { estadoActual = 15; } } else if (estadoActual == 4) { LeerSiguienteCaracter(); if (EsLetraODigito(caracterActual) || caracterActual.Equals("$") || caracterActual.Equals("_")) { estadoActual = 4; concatenarLexema(); } else { estadoActual = 16; } } else if (estadoActual == 5) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.SUMA; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length; componenteLexico.PosicionFinal = puntero - 1; componenteLexico.Tipo = TipoComponente.SIMBOLO; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 6) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.RESTA; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length; componenteLexico.PosicionFinal = puntero - 1; componenteLexico.Tipo = TipoComponente.SIMBOLO; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 7) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.MULTIPLICACION; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length; componenteLexico.PosicionFinal = puntero - 1; componenteLexico.Tipo = TipoComponente.SIMBOLO; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 8) { LeerSiguienteCaracter(); if (caracterActual.Equals("*")) { estadoActual = 34; concatenarLexema(); LeerSiguienteCaracter(); if (caracterActual != "*" && caracterActual != "@FL@") { estadoActual = 34; concatenarLexema(); } else if (caracterActual.Equals("*")) { estadoActual = 35; concatenarLexema(); } else if (caracterActual.Equals("*")) { estadoActual = 35; concatenarLexema(); } else if (caracterActual != "*" && caracterActual != "/") { estadoActual = 34; concatenarLexema(); } else if (caracterActual.Equals("@FL@")) { estadoActual = 37; concatenarLexema(); } //else if (caracterActual.Equals("CNL")) //{ // estadoActual = 34; // concatenarLexema(); //} } else if (caracterActual.Equals("/")) { estadoActual = 36; concatenarLexema(); LeerSiguienteCaracter(); if (caracterActual != "@FL@") { estadoActual = 36; concatenarLexema(); } else if (caracterActual.Equals("@FL@")) { estadoActual = 13; concatenarLexema(); } } else { estadoActual = 33; } }//**** else if (estadoActual == 9) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.MODULO; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length; componenteLexico.PosicionFinal = puntero - 1; componenteLexico.Tipo = TipoComponente.SIMBOLO; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 10) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.PARENTESIS_ABRE; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length; componenteLexico.PosicionFinal = puntero - 1; componenteLexico.Tipo = TipoComponente.SIMBOLO; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 11) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.PARENTESIS_CIERRA; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length; componenteLexico.PosicionFinal = puntero - 1; componenteLexico.Tipo = TipoComponente.SIMBOLO; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 12) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.EOF; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length; componenteLexico.PosicionFinal = puntero - 1; //componenteLexico.Tipo = TipoComponente.SIMBOLO; //TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 13) { CargarNuevaLinea(); estadoActual = 0; } else if (estadoActual == 14) { continuarAnalisis = false; DevolverPuntero(); componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.ENTERO; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length; componenteLexico.PosicionFinal = puntero - 1; componenteLexico.Tipo = TipoComponente.SIMBOLO; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 15) { continuarAnalisis = false; DevolverPuntero(); componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.DECIMAL; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length; componenteLexico.PosicionFinal = puntero - 1; componenteLexico.Tipo = TipoComponente.SIMBOLO; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 16) { continuarAnalisis = false; DevolverPuntero(); componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.IDENTIFICADOR; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length; componenteLexico.PosicionFinal = puntero - 1; componenteLexico.Tipo = TipoComponente.SIMBOLO; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 17) { continuarAnalisis = false; DevolverPuntero(); Error error = Error.CrearErrorLexico(lexema, Categoria.DECIMAL, numeroLineaActual, puntero - lexema.Length, puntero - 1, "Numero decimal no válido", "Lei \"" + caracterActual + "\" y esperaba un digito del 0 al 9", "Asegurese que el caracter que se reciba sea un digito del 0 al 9"); GestorErrores.Reportar(error); componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.DECIMAL; componenteLexico.Lexema = lexema + "0"; //Comodin componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length; componenteLexico.PosicionFinal = puntero - 1; componenteLexico.Tipo = TipoComponente.DUMMY;//Lo tuvo que crear para recuperarse del problema TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 18) { Error error = Error.CrearErrorLexico(caracterActual, Categoria.CARACTER_NO_VALIDO, numeroLineaActual, puntero - 1, puntero - 1, "Carcater no reconocido por el lenguaje", "Lei \"" + caracterActual + "\"", "Asegurese que el caracter que se reciba sea valido dentro del lenguaje"); GestorErrores.Reportar(error); throw new Exception("Se ha presentado un error de tipo stopper durante el " + "analisis léxico. Por favor verifique la consola de errores..."); } else if (estadoActual == 19) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.IGUAL_QUE; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length; componenteLexico.PosicionFinal = puntero - 1; componenteLexico.Tipo = TipoComponente.SIMBOLO; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 20) { LeerSiguienteCaracter(); if (caracterActual.Equals(">")) { estadoActual = 23; concatenarLexema(); } else if (caracterActual.Equals("=")) { estadoActual = 24; concatenarLexema(); } else { estadoActual = 25; } } else if (estadoActual == 21) { LeerSiguienteCaracter(); if (caracterActual.Equals(">")) { estadoActual = 26; concatenarLexema(); } else { estadoActual = 27; } } else if (estadoActual == 22) { LeerSiguienteCaracter(); if (caracterActual.Equals("=")) { estadoActual = 28; concatenarLexema(); } else { estadoActual = 29; } } else if (estadoActual == 23) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.DIFERENTE_QUE; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length; componenteLexico.PosicionFinal = puntero - 1; componenteLexico.Tipo = TipoComponente.SIMBOLO; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 24) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.MENOR_O_IGUAL_QUE; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length; componenteLexico.PosicionFinal = puntero - 1; componenteLexico.Tipo = TipoComponente.SIMBOLO; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 25) { continuarAnalisis = false; DevolverPuntero(); componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.MENOR_QUE; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length; componenteLexico.PosicionFinal = puntero - 1; componenteLexico.Tipo = TipoComponente.SIMBOLO; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 26) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.MAYOR_O_IGUAL_QUE; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length; componenteLexico.PosicionFinal = puntero - 1; componenteLexico.Tipo = TipoComponente.SIMBOLO; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 27) { continuarAnalisis = false; DevolverPuntero(); componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.MAYOR_QUE; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length; componenteLexico.PosicionFinal = puntero - 1; componenteLexico.Tipo = TipoComponente.SIMBOLO; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 28) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.ASIGNACION; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length; componenteLexico.PosicionFinal = puntero - 1; componenteLexico.Tipo = TipoComponente.SIMBOLO; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 29) { continuarAnalisis = false; DevolverPuntero(); Error error = Error.CrearErrorLexico(lexema, Categoria.ASIGNACION, numeroLineaActual, puntero - lexema.Length, puntero - 1, "Caracter no válido", "Lei \"" + caracterActual + "\" y esperaba un =", "Asegurese que la estructura ASIGNACION sea la adecuada"); GestorErrores.Reportar(error); componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.ASIGNACION; componenteLexico.Lexema = lexema + "0"; //Comodin componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length; componenteLexico.PosicionFinal = puntero - 1; componenteLexico.Tipo = TipoComponente.DUMMY;//Lo tuvo que crear para recuperarse del problema TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 30) { LeerSiguienteCaracter(); if (caracterActual.Equals("=")) { estadoActual = 31; concatenarLexema(); } else { estadoActual = 32; } } else if (estadoActual == 31) { continuarAnalisis = false; componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.DIFERENTE_QUE; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length; componenteLexico.PosicionFinal = puntero - 1; componenteLexico.Tipo = TipoComponente.SIMBOLO; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 32) { continuarAnalisis = false; DevolverPuntero(); Error error = Error.CrearErrorLexico(lexema, Categoria.DIFERENTE_QUE, numeroLineaActual, puntero - lexema.Length, puntero - 1, "Caracter no válido", "Lei \"" + caracterActual + "\" y esperaba un =", "Asegurese que la estructura DIFERENTE QUE sea la adecuada"); GestorErrores.Reportar(error); componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.DIFERENTE_QUE; componenteLexico.Lexema = lexema + "0"; //Comodin componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length; componenteLexico.PosicionFinal = puntero - 1; componenteLexico.Tipo = TipoComponente.DUMMY;//Lo tuvo que crear para recuperarse del problema TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 33) { continuarAnalisis = false; DevolverPuntero(); componenteLexico = new ComponenteLexico(); componenteLexico.Categoria = Categoria.DIVISION; componenteLexico.Lexema = lexema; componenteLexico.NumeroLinea = numeroLineaActual; componenteLexico.PosicionInicial = puntero - lexema.Length; componenteLexico.PosicionFinal = puntero - 1; componenteLexico.Tipo = TipoComponente.SIMBOLO; TablaMaestra.SincronizarSimbolo(componenteLexico); } else if (estadoActual == 34) { LeerSiguienteCaracter(); if (caracterActual.Equals("*")) { estadoActual = 35; concatenarLexema(); } else if (caracterActual.Equals("@FL@")) { estadoActual = 37; } else { estadoActual = 34; concatenarLexema(); } } else if (estadoActual == 35) { LeerSiguienteCaracter(); if (caracterActual.Equals("/")) { estadoActual = 0; } else if (caracterActual.Equals("*")) { estadoActual = 35; concatenarLexema(); } else { estadoActual = 34; concatenarLexema(); } } else if (estadoActual == 36) { LeerSiguienteCaracter(); if (caracterActual.Equals("@FL@")) { estadoActual = 13; } else { estadoActual = 36; concatenarLexema(); } } else if (estadoActual == 37) { CargarNuevaLinea(); estadoActual = 34; } } if (componenteLexico.Equals("@EOF@")) { //TablaMaestra.ObtenerTablaMaestra().Sincronizar(componente); TablaMaestra.SincronizarSimbolo(componenteLexico); } return(componenteLexico); }
public ComponenteLexico Analizar() { ComponenteLexico componenteLexico = new ComponenteLexico(); limpiarLexema(); int estadoActual = 0; bool continuarAnalisis = true; while (continuarAnalisis) { if (estadoActual == 0) { LeerSiguienteCaracter(); DevorarEspaciosBlanco(); if (CaracterActual == "0" || CaracterActual == "1") { estadoActual = 1; concatenarLexema(); } else if (CaracterActual == "#") { estadoActual = 6; concatenarLexema(); } else if (CaracterActual == "K") { estadoActual = 60; concatenarLexema(); } else if (CaracterActual == "C") { estadoActual = 58; concatenarLexema(); } else if (CaracterActual == "I") { estadoActual = 7; concatenarLexema(); } else if (CaracterActual == "O") { estadoActual = 9; concatenarLexema(); } else if (CaracterActual == "U") { estadoActual = 15; concatenarLexema(); } else if (CaracterActual == "D") { estadoActual = 17; concatenarLexema(); } else if (CaracterActual == "G") { estadoActual = 21; concatenarLexema(); } else if (CaracterActual == "S") { estadoActual = 24; concatenarLexema(); } else if (CaracterActual == "R") { estadoActual = 46; concatenarLexema(); } else if (CaracterActual == "F") { estadoActual = 54; concatenarLexema(); } else if (CaracterActual == "@FL@") { estadoActual = 61; } else if (CaracterActual == "@EOF@") { estadoActual = 62; concatenarLexema(); } else { estadoActual = 63; } } else if (estadoActual == 1) { LeerSiguienteCaracter(); if (CaracterActual == "0" || CaracterActual == "1") { estadoActual = 2; concatenarLexema(); } else { estadoActual = 96; } } else if (estadoActual == 2) { LeerSiguienteCaracter(); if (CaracterActual == "0" || CaracterActual == "1") { estadoActual = 3; concatenarLexema(); } else { estadoActual = 96; } } else if (estadoActual == 3) { LeerSiguienteCaracter(); if (CaracterActual == "0" || CaracterActual == "1") { estadoActual = 4; concatenarLexema(); } else { estadoActual = 5; } } else if (estadoActual == 4) { estadoActual = 64; } else if (estadoActual == 5) { DevolverPuntero(); continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.VALOR_ENVIO, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 6) { estadoActual = 65; } else if (estadoActual == 7) { LeerSiguienteCaracter(); if (CaracterActual == "N") { estadoActual = 8; concatenarLexema(); } else { estadoActual = 83; } } else if (estadoActual == 8) { estadoActual = 78; } else if (estadoActual == 9) { LeerSiguienteCaracter(); if (CaracterActual == "U") { estadoActual = 10; concatenarLexema(); } else if (CaracterActual == "N") { estadoActual = 12; concatenarLexema(); } else if (CaracterActual == "F") { estadoActual = 13; concatenarLexema(); } else { estadoActual = 63; } } else if (estadoActual == 10) { LeerSiguienteCaracter(); if (CaracterActual == "T") { estadoActual = 11; concatenarLexema(); } else { estadoActual = 85; } } else if (estadoActual == 11) { estadoActual = 66; } else if (estadoActual == 12) { estadoActual = 67; } else if (estadoActual == 13) { LeerSiguienteCaracter(); if (CaracterActual == "F") { estadoActual = 14; concatenarLexema(); } else { estadoActual = 86; } } else if (estadoActual == 14) { estadoActual = 68; } else if (estadoActual == 15) { LeerSiguienteCaracter(); if (CaracterActual == "P") { estadoActual = 16; concatenarLexema(); } else { estadoActual = 88; } } else if (estadoActual == 16) { estadoActual = 69; } else if (estadoActual == 17) { LeerSiguienteCaracter(); if (CaracterActual == "O") { estadoActual = 18; concatenarLexema(); } else { estadoActual = 89; } } else if (estadoActual == 18) { LeerSiguienteCaracter(); if (CaracterActual == "W") { estadoActual = 19; concatenarLexema(); } else { estadoActual = 89; } } else if (estadoActual == 19) { LeerSiguienteCaracter(); if (CaracterActual == "N") { estadoActual = 20; concatenarLexema(); } else { estadoActual = 89; } } else if (estadoActual == 20) { estadoActual = 70; } else if (estadoActual == 21) { LeerSiguienteCaracter(); if (CaracterActual == "E") { estadoActual = 22; concatenarLexema(); } else { estadoActual = 90; } } else if (estadoActual == 22) { LeerSiguienteCaracter(); if (CaracterActual == "T") { estadoActual = 23; concatenarLexema(); } else { estadoActual = 90; } } else if (estadoActual == 23) { estadoActual = 71; } else if (estadoActual == 24) { LeerSiguienteCaracter(); if (CaracterActual == "T") { estadoActual = 25; concatenarLexema(); } else if (CaracterActual == "H") { estadoActual = 32; concatenarLexema(); } else if (CaracterActual == "U") { estadoActual = 40; concatenarLexema(); } else { estadoActual = 63; } } else if (estadoActual == 25) { LeerSiguienteCaracter(); if (CaracterActual == "A") { estadoActual = 26; concatenarLexema(); } else { estadoActual = 63; } } else if (estadoActual == 26) { LeerSiguienteCaracter(); if (CaracterActual == "R") { estadoActual = 27; concatenarLexema(); } else if (CaracterActual == "T") { estadoActual = 29; concatenarLexema(); } else { estadoActual = 63; } } else if (estadoActual == 27) { LeerSiguienteCaracter(); if (CaracterActual == "T") { estadoActual = 28; concatenarLexema(); } else { estadoActual = 92; } } else if (estadoActual == 28) { estadoActual = 79; } else if (estadoActual == 29) { LeerSiguienteCaracter(); if (CaracterActual == "U") { estadoActual = 30; concatenarLexema(); } else { estadoActual = 93; } } else if (estadoActual == 30) { LeerSiguienteCaracter(); if (CaracterActual == "S") { estadoActual = 31; concatenarLexema(); } else { estadoActual = 93; } } else if (estadoActual == 31) { estadoActual = 72; } else if (estadoActual == 32) { LeerSiguienteCaracter(); if (CaracterActual == "U") { estadoActual = 33; concatenarLexema(); } else { estadoActual = 94; } } else if (estadoActual == 33) { LeerSiguienteCaracter(); if (CaracterActual == "T") { estadoActual = 34; concatenarLexema(); } else { estadoActual = 94; } } else if (estadoActual == 34) { LeerSiguienteCaracter(); if (CaracterActual == "D") { estadoActual = 35; concatenarLexema(); } else { estadoActual = 94; } } else if (estadoActual == 35) { LeerSiguienteCaracter(); if (CaracterActual == "O") { estadoActual = 36; concatenarLexema(); } else { estadoActual = 94; } } else if (estadoActual == 36) { LeerSiguienteCaracter(); if (CaracterActual == "W") { estadoActual = 37; concatenarLexema(); } else { estadoActual = 94; } } else if (estadoActual == 37) { LeerSiguienteCaracter(); if (CaracterActual == "N") { estadoActual = 38; concatenarLexema(); } else { estadoActual = 94; } } else if (estadoActual == 38) { estadoActual = 80; } else if (estadoActual == 39) { DevolverPuntero(); continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.FARENHEIT, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 40) { LeerSiguienteCaracter(); if (CaracterActual == "C") { estadoActual = 41; concatenarLexema(); } else { estadoActual = 95; } } else if (estadoActual == 41) { LeerSiguienteCaracter(); if (CaracterActual == "C") { estadoActual = 42; concatenarLexema(); } else { estadoActual = 95; } } else if (estadoActual == 42) { LeerSiguienteCaracter(); if (CaracterActual == "E") { estadoActual = 43; concatenarLexema(); } else { estadoActual = 95; } } else if (estadoActual == 43) { LeerSiguienteCaracter(); if (CaracterActual == "S") { estadoActual = 44; concatenarLexema(); } else { estadoActual = 95; } } else if (estadoActual == 44) { LeerSiguienteCaracter(); if (CaracterActual == "S") { estadoActual = 45; concatenarLexema(); } else { estadoActual = 95; } } else if (estadoActual == 45) { estadoActual = 73; } else if (estadoActual == 46) { LeerSiguienteCaracter(); if (CaracterActual == "E") { estadoActual = 47; concatenarLexema(); } else { estadoActual = 53; } } else if (estadoActual == 47) { LeerSiguienteCaracter(); if (CaracterActual == "S") { estadoActual = 48; concatenarLexema(); } else { estadoActual = 87; } } else if (estadoActual == 48) { LeerSiguienteCaracter(); if (CaracterActual == "T") { estadoActual = 49; concatenarLexema(); } else { estadoActual = 87; } } else if (estadoActual == 49) { LeerSiguienteCaracter(); if (CaracterActual == "A") { estadoActual = 50; concatenarLexema(); } else { estadoActual = 87; } } else if (estadoActual == 50) { LeerSiguienteCaracter(); if (CaracterActual == "R") { estadoActual = 51; concatenarLexema(); } else { estadoActual = 87; } } else if (estadoActual == 51) { LeerSiguienteCaracter(); if (CaracterActual == "T") { estadoActual = 52; concatenarLexema(); } else { estadoActual = 87; } } else if (estadoActual == 52) { estadoActual = 74; } else if (estadoActual == 53) { DevolverPuntero(); continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.RANKINE, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 54) { LeerSiguienteCaracter(); if (CaracterActual == "A") { estadoActual = 55; concatenarLexema(); } else { estadoActual = 39; } } else if (estadoActual == 55) { LeerSiguienteCaracter(); if (CaracterActual == "I") { estadoActual = 56; concatenarLexema(); } else { estadoActual = 91; } } else if (estadoActual == 56) { LeerSiguienteCaracter(); if (CaracterActual == "L") { estadoActual = 57; concatenarLexema(); } else { estadoActual = 91; } } else if (estadoActual == 57) { estadoActual = 75; } else if (estadoActual == 58) { estadoActual = 76; } else if (estadoActual == 59) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.KELVIN, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 60) { estadoActual = 59; } else if (estadoActual == 61) { CargarNuevaLinea(); limpiarLexema(); estadoActual = 0; } else if (estadoActual == 62) { estadoActual = 77; } else if (estadoActual == 64) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.VALOR_RETORNO, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 65) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.SEPARADOR, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 66) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.OUT, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 72) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.STATUS, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 73) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.SUCCESS, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 74) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.RESTART, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } //eof else if (estadoActual == 77) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.EOF, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); limpiarLexema(); } else if (estadoActual == 78) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.IN, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 67) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.ON, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 68) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.OFF, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 69) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.UP, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 70) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.DOWN, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 71) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.GET, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 75) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.FAIL, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 76) { continuarAnalisis = false;; componenteLexico = ComponenteLexico.crear(lexema, Categoria.CENTIGRADOS, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 79) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.START, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 80) { continuarAnalisis = false; componenteLexico = ComponenteLexico.crear(lexema, Categoria.SHUTDOWN, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } //stopper else if (estadoActual == 63) { Error error = Error.CrearErrorLexico( CaracterActual, Categoria.CARACTER_NO_VALIDO, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1, "Caracter no reconocido", "Leí " + CaracterActual, "Asegurese que el caracter sera valido"); GestorErrores.Reportar(error); throw new Exception("Se ha presentado un error de tipo STOPPER durante el análisis lexico. Por favor verifique la consola de errores"); } else if (estadoActual == 83) { continuarAnalisis = false; DevolverPuntero(); Error error = Error.CrearErrorLexico( lexema, Categoria.IN, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1, "IN no válido", "Leí " + lexema + " y se esperaba un IN", "asegurese de que la instrucción esté escrita correctamente"); GestorErrores.Reportar(error); componenteLexico = ComponenteLexico.crear("IN", Categoria.IN, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.DUMMY; TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 85) { continuarAnalisis = false; DevolverPuntero(); Error error = Error.CrearErrorLexico( lexema, Categoria.OUT, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1, "OUT no válido", "Leí " + lexema + " y se esperaba un OUT", "asegurese de que la instrucción esté escrita correctamente"); GestorErrores.Reportar(error); componenteLexico = ComponenteLexico.crear("OUT", Categoria.OUT, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.DUMMY; TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 86) { continuarAnalisis = false; DevolverPuntero(); Error error = Error.CrearErrorLexico( lexema, Categoria.OFF, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1, "OFF no válido", "Leí " + lexema + " y se esperaba un OFF", "asegurese de que la instrucción esté escrita correctamente"); GestorErrores.Reportar(error); componenteLexico = ComponenteLexico.crear("OFF", Categoria.OFF, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.DUMMY; TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 88) { continuarAnalisis = false; DevolverPuntero(); Error error = Error.CrearErrorLexico( lexema, Categoria.UP, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1, "UP no válido", "Leí " + lexema + " y se esperaba un UP", "asegurese de que la instrucción esté escrita correctamente"); GestorErrores.Reportar(error); componenteLexico = ComponenteLexico.crear("UP", Categoria.UP, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.DUMMY; TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 89) { continuarAnalisis = false; DevolverPuntero(); Error error = Error.CrearErrorLexico( lexema, Categoria.DOWN, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1, "DOWN no válido", "Leí " + lexema + " y se esperaba un DOWN", "asegurese de que la instrucción esté escrita correctamente"); GestorErrores.Reportar(error); componenteLexico = ComponenteLexico.crear("DOWN", Categoria.DOWN, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.DUMMY; TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 90) { continuarAnalisis = false; DevolverPuntero(); Error error = Error.CrearErrorLexico( lexema, Categoria.GET, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1, "GET no válido", "Leí " + lexema + " y se esperaba un GET", "asegurese de que la instrucción esté escrita correctamente"); GestorErrores.Reportar(error); componenteLexico = ComponenteLexico.crear("GET", Categoria.GET, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.DUMMY; TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 92) { continuarAnalisis = false; DevolverPuntero(); Error error = Error.CrearErrorLexico( lexema, Categoria.START, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1, "START no válido", "Leí " + lexema + " y se esperaba un START", "asegurese de que la instrucción esté escrita correctamente"); GestorErrores.Reportar(error); componenteLexico = ComponenteLexico.crear("START", Categoria.START, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.DUMMY; TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 93) { continuarAnalisis = false; DevolverPuntero(); Error error = Error.CrearErrorLexico( lexema, Categoria.STATUS, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1, "STATUS no válido", "Leí " + lexema + " y se esperaba un STATUS", "asegurese de que la instrucción esté escrita correctamente"); GestorErrores.Reportar(error); componenteLexico = ComponenteLexico.crear("STATUS", Categoria.STATUS, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.DUMMY; TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 94) { continuarAnalisis = false; DevolverPuntero(); Error error = Error.CrearErrorLexico( lexema, Categoria.SHUTDOWN, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1, "SHUTDOWN no válido", "Leí " + lexema + " y se esperaba un SHUTDOWN", "asegurese de que la instrucción esté escrita correctamente"); GestorErrores.Reportar(error); componenteLexico = ComponenteLexico.crear("SHUTDOWN", Categoria.SHUTDOWN, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.DUMMY; TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 95) { continuarAnalisis = false; DevolverPuntero(); Error error = Error.CrearErrorLexico( lexema, Categoria.SUCCESS, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1, "SUCCESS no válido", "Leí " + lexema + " y se esperaba un SUCCESS", "asegurese de que la instrucción esté escrita correctamente"); GestorErrores.Reportar(error); componenteLexico = ComponenteLexico.crear("SUCCESS", Categoria.SUCCESS, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.DUMMY; TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 87) { continuarAnalisis = false; DevolverPuntero(); Error error = Error.CrearErrorLexico( lexema, Categoria.RESTART, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1, "RESTART no válido", "Leí " + lexema + " y se esperaba un RESTART", "asegurese de que la instrucción esté escrita correctamente"); GestorErrores.Reportar(error); componenteLexico = ComponenteLexico.crear("RESTART", Categoria.RESTART, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.DUMMY; TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 91) { continuarAnalisis = false; DevolverPuntero(); Error error = Error.CrearErrorLexico( lexema, Categoria.FAIL, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1, "FAIL no válido", "Leí " + lexema + " y se esperaba un FAIL", "asegurese de que la instrucción esté escrita correctamente"); GestorErrores.Reportar(error); componenteLexico = ComponenteLexico.crear("FAIL", Categoria.FAIL, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.DUMMY; TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } else if (estadoActual == 96) { continuarAnalisis = false; DevolverPuntero(); Error error = Error.CrearErrorLexico( lexema, Categoria.VALOR_ENVIO, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1, "VALOR_ENVIO no válido", "Leí " + lexema + " y se esperaba un VALOR_ENVIO", "asegurese de que la instrucción esté escrita correctamente"); GestorErrores.Reportar(error); componenteLexico = ComponenteLexico.crear("000", Categoria.VALOR_ENVIO, NumeroLineaActual, Puntero - lexema.Length, Puntero - 1); componenteLexico.Tipo = TipoComponente.DUMMY; TablaMaestra.SincronizarSimbolo(componenteLexico); limpiarLexema(); } } return(componenteLexico); }