public string PrintMetodo(string[] lista) { Comandos objComandos = new Comandos(); string imprimir = ""; if (lista.Count() > 3 || lista.Count() < 3) { MessageBox.Show("Error de compilacion en print", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Error); return(imprimir); } else if (lista.Count() == 3) { try { int variable = VariableDict[lista[2]]; imprimir = variable.ToString(); } catch (Exception) { if (lista[1] == objComandos.print) { imprimir = lista[2]; } } } return(imprimir); }
public string EndMetodo(string[] lista) { Comandos objComandos = new Comandos(); string imprimir = ""; if (lista.Count() > 2) { MessageBox.Show("Error de compilacion en end", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Error); return(imprimir); } else { if (lista[1] == objComandos.end) { imprimir = "Compilación finalizada exitosamente"; } return(imprimir); } }
public int GoToMetodo(string[] lista, int posicion) { Comandos objComandos = new Comandos(); if (lista.Count() > 3) { MessageBox.Show("Error de compilacion en goto", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Error); return(posicion); } else { if (lista[1] == objComandos.goTo) { posicion = Int32.Parse(lista[2]); posicion = posicion - 2; } return(posicion); } }
public int IfGoToMetodo(string[] lista, int posicion) { Comandos objComandos = new Comandos(); if (lista.Count() == 6) { if (lista[1] == objComandos.ifGoto) { string operador = lista[3]; switch (operador) { case "<": try { if (Int32.Parse(lista[2]) < Int32.Parse(lista[4])) { posicion = Int32.Parse(lista[5]); posicion = posicion - 2; } } catch (Exception) { int variable1 = VariableDict[lista[2]]; int variable2 = VariableDict[lista[4]]; if (variable1 < variable2) { posicion = Int32.Parse(lista[5]); posicion = posicion - 2; } } break; case ">": try { if (Int32.Parse(lista[2]) > Int32.Parse(lista[4])) { posicion = Int32.Parse(lista[5]); posicion = posicion - 2; } } catch (Exception) { int variable1 = VariableDict[lista[2]]; int variable2 = VariableDict[lista[4]]; if (variable1 > variable2) { posicion = Int32.Parse(lista[5]); posicion = posicion - 2; } } break; case "==": try { if (Int32.Parse(lista[2]) == Int32.Parse(lista[4])) { posicion = Int32.Parse(lista[5]); posicion = posicion - 2; } } catch (Exception) { int variable1 = VariableDict[lista[2]]; int variable2 = VariableDict[lista[4]]; if (variable1 == variable2) { posicion = Int32.Parse(lista[5]); posicion = posicion - 2; } } break; case "!=": try { if (Int32.Parse(lista[2]) != Int32.Parse(lista[4])) { posicion = Int32.Parse(lista[5]); posicion = posicion - 2; } } catch (Exception) { int variable1 = VariableDict[lista[2]]; int variable2 = VariableDict[lista[4]]; if (variable1 != variable2) { posicion = Int32.Parse(lista[5]); posicion = posicion - 2; } } break; case "<=": try { if (Int32.Parse(lista[2]) <= Int32.Parse(lista[4])) { posicion = Int32.Parse(lista[5]); posicion = posicion - 2; } } catch (Exception) { int variable1 = VariableDict[lista[2]]; int variable2 = VariableDict[lista[4]]; if (variable1 <= variable2) { posicion = Int32.Parse(lista[5]); posicion = posicion - 2; } } break; case ">=": try { if (Int32.Parse(lista[2]) >= Int32.Parse(lista[4])) { posicion = Int32.Parse(lista[5]); posicion = posicion - 2; } } catch (Exception) { int variable1 = VariableDict[lista[2]]; int variable2 = VariableDict[lista[4]]; if (variable1 >= variable2) { posicion = Int32.Parse(lista[5]); posicion = posicion - 2; } } break; } } return(posicion); } else { MessageBox.Show("Error de compilacion en if...goto", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Error); return(posicion); } }