예제 #1
0
 public Constante(Stack <Nodo> pila)
 {
     pila.Pop();                //estado
     Token  = pila.Pop().Token; //constante
     lexema = Token.Lexema;
 }
예제 #2
0
 public ClaseIf(Stack <Nodo> pila)
 {
     pila.Pop();//estado
     if (pila.Peek().Token.Nombre == "null")
     {
         Otro = null;
         pila.Pop();
     }
     else
     {
         Otro = pila.Pop(); //otro
     }
     pila.Pop();            //estado
     if (pila.Peek().Token.Nombre == "null")
     {
         SentenciaBloque = null;//sentenciabloque
         pila.Pop();
     }
     else
     {
         SentenciaBloque = pila.Pop(); //sentenciabloque
     }
     pila.Pop();                       //estado
     pila.Pop();                       //)
     expresion = new Operacion(pila);  //Expresion
     pila.Pop();                       //estado
     pila.Pop();                       //(
     pila.Pop();                       //estado
     _if = pila.Pop().Token.Lexema;    //if
 }
예제 #3
0
 public Id(Stack <Nodo> pila)
 {
     pila.Pop();                //estado
     Token  = pila.Pop().Token; //id
     lexema = Token.Lexema;
 }
예제 #4
0
 public DefFunc(Stack <Nodo> pila)
 {
     pila.Pop();            //estado
     BloqFunc = pila.Pop(); //bloqfunc
     pila.Pop();            //estado
     pila.Pop();            //)
     pila.Pop();            //estado
     if (pila.Peek().Token.Nombre == "null")
     {
         pila.Pop();
         parametros = null;
     }
     else
     {
         parametros = (Parametros)pila.Pop(); //parametros
     }
     pila.Pop();                              //estado
     pila.Pop();                              //(
     id = new Id(pila);
     pila.Pop();                              //estado
     tipo = pila.Pop().Token.Lexema;
 }