Пример #1
0
        public Nodo Instruccion(ParseTreeNode actual)
        {
            String toke = actual.Term.Name;

            switch (toke)
            {
            case "writeln":
                return(Main.Inst_Writeln(actual));

            case "write":
                return(Main.Inst_Write(actual));

            case "ifthen":
                return(Main.Inst_Ifthen(actual));

            case "ifelse":
                return(Main.Instru_IfElse(actual));

            case "caseof":
                return(Main.Case_OF(actual.ChildNodes[0]));

            case "whiledo":
                return(Main.While(actual));

            case "repeat":
                return(Main.Repeat(actual));

            case "no_for":
                return(Main.For(actual));

            case "asignacion":
                return(Asignaciones.Tipo_asignacion(actual));

            case "continue":
                return(Tranferencias.Sentencia_continue(actual));

            case "break":
                return(Tranferencias.Sentencia_break(actual));

            case "llamada_funciones":
                return(Main.LLamada_funcion(actual));

            case "exit":
                return(Tranferencias.Sentencia_Exit(actual));

            case "tabla_sym":
                return(Main.Instruccion_Graficar_ts(actual));
            }
            return(null);
        }
Пример #2
0
        public static void Instruccion(ParseTreeNode actual, LinkedList <Nodo> lista)
        {
            String toke = actual.Term.Name;

            switch (toke)
            {
            case "writeln":
                lista.AddLast(Main.Inst_Writeln(actual));
                break;

            case "write":
                lista.AddLast(Main.Inst_Write(actual));
                break;

            case "ifthen":
                lista.AddLast(Main.Inst_Ifthen(actual));
                break;

            case "ifelse":
                lista.AddLast(Main.Instru_IfElse(actual));
                break;

            case "caseof":
                lista.AddLast(Main.Case_OF(actual.ChildNodes[0]));
                break;

            case "whiledo":
                lista.AddLast(Main.While(actual));
                break;

            case "repeat":
                lista.AddLast(Main.Repeat(actual));
                break;

            case "no_for":
                lista.AddLast(Main.For(actual));
                break;

            case "asignacion":
                lista.AddLast(Asignaciones.Tipo_asignacion(actual));
                break;

            case "continue":
                lista.AddLast(Tranferencias.Sentencia_continue(actual));
                break;

            case "break":
                lista.AddLast(Tranferencias.Sentencia_break(actual));
                break;

            case "llamada_funciones":
                lista.AddLast(Main.LLamada_funcion(actual));
                break;

            case "exit":
                lista.AddLast(Tranferencias.Sentencia_Exit(actual));
                break;

            case "tabla_sym":
                lista.AddLast(Main.Instruccion_Graficar_ts(actual));
                break;

            case "sentencia_case":
                lista.AddLast(Main.Case_OF(actual));
                break;

            case "sentencia_while":
                lista.AddLast(Main.While_If(actual));
                break;

            case "sentencia_repeat":
                lista.AddLast(Main.Repeat(actual));
                break;

            case "sentencia_for":
                lista.AddLast(Main.For_if(actual));
                break;
            }
        }