public static void SincronizarSimbolo(ComponenteLexico componente) { if (componente != null) { var esDummy = false; if (componente.Tipo == TipoComponente.DUMMY) { TablaDummys.Agregar(componente); esDummy = true; } TablaPalabrasReservadas.ValidarSiEsPalabraReservada(componente); switch (componente.Tipo) { case TipoComponente.SIMBOLO: //tabla de simbolos completa if (componente.Categoria.Equals(Categoria.VARIABLE)) { TablaSimbolos.Agregar(componente); } // tabla de simbolos resumida else { componente.Tipo = TipoComponente.LITERAL; TablaLiterales.Agregar(componente); } break; case TipoComponente.PALABRA_RESERVADA: if (!esDummy) { TablaPalabrasReservadas.Agregar(componente); } break; } } }
public static void SincronizarSimbolo(ComponenteLexico componente) { if (componente != null) { if (TablaPalabrasReservadas.ValidarSiEsPalabraReservada(componente) && componente.Tipo != TipoComponente.DUMMY) { componente.Tipo = TipoComponente.PALABRA_RESERVADA; } switch (componente.Tipo) { case TipoComponente.SIMBOLO: //tabla de simbolos completa if (componente.Categoria.Equals(Categoria.IDENTIFICADOR)) { TablaSimbolos.Agregar(componente); } // tabla de simbolos resumida else { componente.Tipo = TipoComponente.LITERAL; TablaLiterales.Agregar(componente); } break; case TipoComponente.DUMMY: TablaDummys.Agregar(componente); break; case TipoComponente.PALABRA_RESERVADA: TablaPalabrasReservadas.Agregar(componente); break; } } }