@Override
    public void caseAProgram(AProgram node)
    {
    	for(int i=0;i<indent;i++) System.out.print(" ");
    	indent++;
    	System.out.println("(Program ");
        inAProgram(node);
        if(node.getMainclass() != null)
        {
            node.getMainclass().apply(this);
        }
        {
            List<PClassdecl> copy = new ArrayList<PClassdecl>(node.getClassdecl());
            for(PClassdecl e : copy)
            {
                e.apply(this);
            }
        }
        outAProgram(node);
        indent--;
        for(int i=0;i<indent;i++) System.out.print(" ");
        System.out.println(")");
        
    }