private void imprimir_cabecera(Stack pila, Token tokenReconocido) {

        //Cabecera
        System.out.print(padRight("Parsing Stack", 135));
        System.out.print(padRight("Input", 20));
        System.out.print("Acción");

        //Salto de linea
        System.out.println();

        //Parsing Stack
        System.out.print(padRight(new StringBuilder("$ ").append(pila.toString().replaceAll("\\[", "").replaceAll("]", "").replaceAll(",", "")).toString(), 135));

        //Input
        System.out.print(padRight(tokenReconocido.getComponenteLexico().toString(), 20));

        //Accion    
        if (pila.isEmpty()) {
            System.out.print("Reject");
        } else if (pila.peek() == tokenReconocido.getComponenteLexico()) {
            System.out.print("Match");
        } else {

            List<Object> prod = (List<Object>) parsingTable.getProduccion((NonTerminal) pila.peek(), tokenReconocido);

            //Impresion normal de producciones                
            System.out.print(pila.peek().toString());
            System.out.print(" -> ");
            ListIterator li = prod.listIterator();
            while (li.hasNext()) {
                System.out.print(li.next().toString());
                System.out.print(" ");
            }

        }

        //Salto de linea
        System.out.println();
    }