/// <summary>
 /// Obtenemos el primer bloque dentro del texto, la parte que nos especifíca que es un programa
 /// </summary>
 void GetProgram()
 {
     ///El elemento actual dentro de la lista de tokens tiene un tipo llamado Program
     if (tokenList[index].tokenType.Equals(TokenType.PROGRAM))
     {
         first      = new Node2(tokenList[index]); ///Crea el nodo First como este elemento
         first.name = tokenList[Advance()].lexeme; ///Avanza y obten el nombre del programa
         Advance();
         ///El siguiente elemento de la lista de tokens es la sección VAR
         if (tokenList[Advance()].tokenType.Equals(TokenType.VAR))
         {
             Node2 Vars = new Node2(tokenList[index]);
             Vars.name = tokenList[index].lexeme;
             first.AddNode(Vars);
             ///Avanza hasta que el elemento actual dentro de la lista de tokens sea diferente a ID
             while (tokenList[Advance()].tokenType.Equals(TokenType.ID))
             {
                 GetVars();
             }
         }
         else
         {
             error += "There is no Variables section\n";
         }
     }
     else
     {
         error += "Missing Program at line 0!\n";
     }
 }
 /// <summary>
 /// Sección del texto donde se resuelven operaciones matemáticas
 /// </summary>
 void GetBegin()
 {
     ///Pregunta si el token actual es igual a begin
     if (tokenList[index].tokenType.Equals(TokenType.BEGIN))
     {
         Node2 Begin = new Node2(tokenList[index]); ///Crea un nodo begin
         Begin.name = tokenList[index].lexeme;      //El nodo begin tiene el valor al elemento actual
         first.AddNode(Begin);                      ///Añade el nodo al primer elemento del árbol
         Assign();
         PrintVars();
         Debug.Log("You've arrived to the operations zone");
     }
     else
     {
         error += "Missing Begin Section!\n";
     }
 }