
#line 24 "dchop.ch"
/*************************************************************************/
#line 24 "dchop.ch"
/*                                                                       */
#line 24 "dchop.ch"
/*        Produced by Metachop version 2.0  -    1989-1995               */
#line 24 "dchop.ch"
/*     Tree      Meta     Chopper      developped    by                  */
#line 24 "dchop.ch"
/*                  Eric Lavillonniere                                   */
#line 24 "dchop.ch"
/*                                                                       */
#line 24 "dchop.ch"
/*************************************************************************/
#line 24 "dchop.ch"
#line 24 "dchop.ch"
#include "token.h"
#line 24 "dchop.ch"
extern int _retVal[50];
#line 24 "dchop.ch"
extern PPTREE _storeVal[50],_nextVal;
#line 24 "dchop.ch"
extern PPTREE stackTree[1024];
#line 24 "dchop.ch"
extern int ptStackTree;
#line 24 "dchop.ch"
#define decomp decomp_cplus
#line 24 "dchop.ch"
#line 24 "dchop.ch"
#ifndef for_elem
#line 24 "dchop.ch"
#line 24 "dchop.ch"
#define for_elem _for_elem
#line 24 "dchop.ch"
#endif
#ifdef INCONNU
#line 24 "dchop.ch"
#line 24 "dchop.ch"
PTREE   for_elem ;
#line 24 "dchop.ch"
#line 24 "dchop.ch"
#endif
#ifdef FOR_METACHOP
#line 24 "dchop.ch"
#line 28 "dchop.ch"
PTREE   postComment ;
#line 28 "dchop.ch"
#line 28 "dchop.ch"
#endif

#include "deccplus.h"

char    *DecToIdent (PTREE) ;

#line 35 "dchop.ch"
#line 35 "dchop.ch"
int DecompCplus::TypeOfBlock ( PTREE tree )
#line 35 "dchop.ch"
{
#line 35 "dchop.ch"
    register PPTREE _inter ;
#line 35 "dchop.ch"
#line 35 "dchop.ch"
#line 37 "dchop.ch"
    PTREE   son ;
#line 37 "dchop.ch"
#line 37 "dchop.ch"
#line 38 "dchop.ch"
    int typeBlock ;
#line 38 "dchop.ch"
#line 40 "dchop.ch"
    switch ( NumberTree(tree) ) {
#line 40 "dchop.ch"
#line 42 "dchop.ch"
        case cplus::INCLUDE_DIR : 
#line 42 "dchop.ch"
#line 42 "dchop.ch"
        _Case0 : 
#line 42 "dchop.ch"
#line 42 "dchop.ch"
            ;
#line 42 "dchop.ch"
#line 42 "dchop.ch"
            typeBlock = 1 ;
#line 42 "dchop.ch"
#line 43 "dchop.ch"
            break ;
#line 43 "dchop.ch"
#line 45 "dchop.ch"
        case cplus::DEFINE_DIR : 
#line 45 "dchop.ch"
#line 45 "dchop.ch"
        _Case1 : 
#line 45 "dchop.ch"
#line 45 "dchop.ch"
            ;
#line 45 "dchop.ch"
#line 45 "dchop.ch"
            typeBlock = 2 ;
#line 45 "dchop.ch"
#line 46 "dchop.ch"
            break ;
#line 46 "dchop.ch"
#line 46 "dchop.ch"
        case cplus::IF_DIR : 
#line 46 "dchop.ch"
#line 46 "dchop.ch"
        _Case2 : 
#line 46 "dchop.ch"
#line 46 "dchop.ch"
            ;
#line 46 "dchop.ch"
#line 46 "dchop.ch"
            goto _Case3 ;
#line 46 "dchop.ch"
#line 46 "dchop.ch"
        case cplus::IFDEF_DIR : 
#line 46 "dchop.ch"
#line 46 "dchop.ch"
        _Case3 : 
#line 46 "dchop.ch"
#line 46 "dchop.ch"
            ;
#line 46 "dchop.ch"
#line 46 "dchop.ch"
            goto _Case4 ;
#line 46 "dchop.ch"
#line 46 "dchop.ch"
        case cplus::IFNDEF_DIR : 
#line 46 "dchop.ch"
#line 46 "dchop.ch"
        _Case4 : 
#line 46 "dchop.ch"
#line 46 "dchop.ch"
            ;
#line 46 "dchop.ch"
#line 46 "dchop.ch"
            goto _Case5 ;
#line 46 "dchop.ch"
#line 51 "dchop.ch"
        case cplus::NO_PRETTY : 
#line 51 "dchop.ch"
#line 51 "dchop.ch"
        _Case5 : 
#line 51 "dchop.ch"
#line 51 "dchop.ch"
            ;
#line 51 "dchop.ch"
#line 51 "dchop.ch"
            typeBlock = 3 ;
#line 51 "dchop.ch"
#line 52 "dchop.ch"
            break ;
#line 52 "dchop.ch"
#line 54 "dchop.ch"
        case cplus::FUNC : 
#line 54 "dchop.ch"
#line 54 "dchop.ch"
        _Case6 : 
#line 54 "dchop.ch"
#line 54 "dchop.ch"
            ;
#line 54 "dchop.ch"
#line 54 "dchop.ch"
            typeBlock = 4 ;
#line 54 "dchop.ch"
#line 55 "dchop.ch"
            break ;
#line 55 "dchop.ch"
#line 57 "dchop.ch"
        case cplus::DECLARATION : 
#line 57 "dchop.ch"
#line 57 "dchop.ch"
        _Case7 : 
#line 57 "dchop.ch"
#line 57 "dchop.ch"
            ;
#line 57 "dchop.ch"
#line 57 "dchop.ch"
            typeBlock = 5 ;
#line 57 "dchop.ch"
#line 58 "dchop.ch"
            break ;
#line 58 "dchop.ch"
#line 60 "dchop.ch"
        case cplus::TYPEDEF : 
#line 60 "dchop.ch"
#line 60 "dchop.ch"
        _Case8 : 
#line 60 "dchop.ch"
#line 60 "dchop.ch"
            ;
#line 60 "dchop.ch"
#line 60 "dchop.ch"
            typeBlock = 6 ;
#line 60 "dchop.ch"
#line 61 "dchop.ch"
            break ;
#line 61 "dchop.ch"
#line 62 "dchop.ch"
        case cplus::TEMPLATE_DECL : 
#line 62 "dchop.ch"
#line 62 "dchop.ch"
            (son=SonTree(tree, 2));
#line 62 "dchop.ch"
#line 62 "dchop.ch"
#line 62 "dchop.ch"
        _Case9 : 
#line 62 "dchop.ch"
#line 62 "dchop.ch"
            ;
#line 62 "dchop.ch"
#line 62 "dchop.ch"
            goto _Case10 ;
#line 62 "dchop.ch"
#line 63 "dchop.ch"
        case cplus::ATTRIBUTS : 
#line 63 "dchop.ch"
#line 63 "dchop.ch"
            (son=SonTree(tree, 1));
#line 63 "dchop.ch"
#line 63 "dchop.ch"
#line 63 "dchop.ch"
        _Case10 : 
#line 63 "dchop.ch"
#line 63 "dchop.ch"
            ;
#line 63 "dchop.ch"
#line 63 "dchop.ch"
            return TypeOfBlock(son);
#line 63 "dchop.ch"
#line 63 "dchop.ch"
            goto _Case11 ;
#line 63 "dchop.ch"
#line 63 "dchop.ch"
        case cplus::MESSAGE_MAP : 
#line 63 "dchop.ch"
#line 63 "dchop.ch"
        _Case11 : 
#line 63 "dchop.ch"
#line 63 "dchop.ch"
            ;
#line 63 "dchop.ch"
#line 63 "dchop.ch"
            goto _Case12 ;
#line 63 "dchop.ch"
#line 66 "dchop.ch"
        case cplus::MACRO : 
#line 66 "dchop.ch"
#line 66 "dchop.ch"
        _Case12 : 
#line 66 "dchop.ch"
#line 66 "dchop.ch"
            ;
#line 66 "dchop.ch"
#line 66 "dchop.ch"
            typeBlock = 8 ;
#line 66 "dchop.ch"
#line 67 "dchop.ch"
            break ;
#line 67 "dchop.ch"
#line 69 "dchop.ch"
        case cplus::COMPOUND_EXT : 
#line 69 "dchop.ch"
#line 69 "dchop.ch"
        _Case13 : 
#line 69 "dchop.ch"
#line 69 "dchop.ch"
            ;
#line 69 "dchop.ch"
#line 69 "dchop.ch"
            typeBlock = 9 ;
#line 69 "dchop.ch"
#line 70 "dchop.ch"
            break ;
#line 70 "dchop.ch"
#line 72 "dchop.ch"
        default : 
#line 72 "dchop.ch"
#line 72 "dchop.ch"
        _Case14 : 
#line 72 "dchop.ch"
#line 72 "dchop.ch"
            ;
#line 72 "dchop.ch"
#line 72 "dchop.ch"
            typeBlock = 7 ;
#line 72 "dchop.ch"
#line 73 "dchop.ch"
            break ;
#line 73 "dchop.ch"
    }
#line 73 "dchop.ch"
#line 73 "dchop.ch"
#line 75 "dchop.ch"
    return typeBlock ;
#line 75 "dchop.ch"
#line 76 "dchop.ch"
}
#line 76 "dchop.ch"

#line 80 "dchop.ch"
#line 80 "dchop.ch"
void DecompCplus::Decomp ( PTREE paramTree, int funcAlone )
#line 80 "dchop.ch"
{
#line 80 "dchop.ch"
    register PPTREE _inter ;
#line 80 "dchop.ch"
#line 80 "dchop.ch"
#line 83 "dchop.ch"
    PTREE   exp, stat, name ;
#line 83 "dchop.ch"
#line 83 "dchop.ch"
#line 84 "dchop.ch"
    int oldXFather = xFather, oldYFather = yFather ;
#line 84 "dchop.ch"
#line 85 "dchop.ch"
    int oldMaxX = maxX ;
#line 85 "dchop.ch"
#line 86 "dchop.ch"
    int begCurrCol = currCol, begCurrLine = currLine ;
#line 86 "dchop.ch"
#line 87 "dchop.ch"
    int theMark = GetMark();
#line 87 "dchop.ch"
#line 88 "dchop.ch"
    PTREE   oldPostComment = (PTREE)0 ;
#line 88 "dchop.ch"
#line 88 "dchop.ch"
#line 88 "dchop.ch"
    (oldPostComment=postComment);
#line 88 "dchop.ch"
#line 88 "dchop.ch"
#line 90 "dchop.ch"
    if ( (!paramTree) ) 
#line 90 "dchop.ch"
#line 91 "dchop.ch"
        return ;
#line 91 "dchop.ch"
#line 95 "dchop.ch"
    if ( isVirtMod ) {
#line 95 "dchop.ch"
#line 96 "dchop.ch"
                        xFather = currCol, yFather = currLine ;
#line 96 "dchop.ch"
#line 97 "dchop.ch"
                        maxX = currCol ;
#line 97 "dchop.ch"
#line 97 "dchop.ch"
                      }
#line 97 "dchop.ch"
#line 99 "dchop.ch"
    (exp=paramTree);
#line 99 "dchop.ch"
#line 99 "dchop.ch"
#line 100 "dchop.ch"
    ((_inter = (PPTREE)exp,1) && 
#line 100 "dchop.ch"
        (NumberTree(_inter) == cplus::TEMPLATE_DECL) &&
#line 100 "dchop.ch"
        ((exp=SonTree(_inter,2)),1) &&
#line 100 "dchop.ch"
        1);
#line 100 "dchop.ch"
    ;
#line 100 "dchop.ch"
#line 101 "dchop.ch"
    switch ( NumberTree(exp) ) {
#line 101 "dchop.ch"
#line 101 "dchop.ch"
        case cplus::ATTRIBUTS : 
#line 101 "dchop.ch"
#line 101 "dchop.ch"
        _Case15 : 
#line 101 "dchop.ch"
#line 101 "dchop.ch"
            ;
#line 101 "dchop.ch"
#line 101 "dchop.ch"
            goto _Case16 ;
#line 101 "dchop.ch"
#line 101 "dchop.ch"
        case cplus::FUNC : 
#line 101 "dchop.ch"
#line 101 "dchop.ch"
        _Case16 : 
#line 101 "dchop.ch"
#line 101 "dchop.ch"
            ;
#line 101 "dchop.ch"
#line 101 "dchop.ch"
            goto _Case17 ;
#line 101 "dchop.ch"
#line 101 "dchop.ch"
        case cplus::DECLARATION : 
#line 101 "dchop.ch"
#line 101 "dchop.ch"
        _Case17 : 
#line 101 "dchop.ch"
#line 101 "dchop.ch"
            ;
#line 101 "dchop.ch"
#line 101 "dchop.ch"
            goto _Case18 ;
#line 101 "dchop.ch"
#line 106 "dchop.ch"
        case cplus::MESSAGE_MAP : 
#line 106 "dchop.ch"
#line 106 "dchop.ch"
        _Case18 : 
#line 106 "dchop.ch"
#line 106 "dchop.ch"
            ;
#line 106 "dchop.ch"
#line 106 "dchop.ch"
            if ( ( _inter = 
#line 106 "dchop.ch"
                    FatherTree(exp),((_inter = (PPTREE)_inter,1) && 
#line 106 "dchop.ch"
                                        (NumberTree(_inter) == cplus::TEMPLATE_DECL) &&
#line 106 "dchop.ch"
                                        1)) ) 
#line 106 "dchop.ch"
#line 107 "dchop.ch"
                (exp=FatherTree(exp));
#line 107 "dchop.ch"
#line 107 "dchop.ch"
#line 108 "dchop.ch"
            if ( middleInList(exp) ) {
#line 108 "dchop.ch"
#line 112 "dchop.ch"
                                        (exp=paramTree);
#line 112 "dchop.ch"
#line 112 "dchop.ch"
#line 115 "dchop.ch"
                                        ((_inter = (PPTREE)exp,1) && 
#line 115 "dchop.ch"
                                            (NumberTree(_inter) == cplus::TEMPLATE_DECL) &&
#line 115 "dchop.ch"
                                            ((exp=SonTree(_inter,2)),1) &&
#line 115 "dchop.ch"
                                            1);
#line 115 "dchop.ch"
                                        ;
#line 115 "dchop.ch"
#line 116 "dchop.ch"
                                        ((_inter = (PPTREE)exp,1) && 
#line 116 "dchop.ch"
                                            (NumberTree(_inter) == cplus::ATTRIBUTS) &&
#line 116 "dchop.ch"
                                            ((exp=SonTree(_inter,1)),1) &&
#line 116 "dchop.ch"
                                            1);
#line 116 "dchop.ch"
                                        ;
#line 116 "dchop.ch"
#line 119 "dchop.ch"
                                        if ( ((_inter = (PPTREE)exp,1) && 
#line 119 "dchop.ch"
                                                (NumberTree(_inter) == cplus::FUNC) &&
#line 119 "dchop.ch"
                                                (_retVal[1]=((_storeVal[1]=_inter,_inter=SonTree(_inter,8),1) &&
#line 119 "dchop.ch"
                                                    ((stat=SonTree(_inter,1)),1) &&
#line 119 "dchop.ch"
                                                    1),
#line 119 "dchop.ch"
                                                    (_inter=_storeVal[1],1),_retVal[1]) &&
#line 119 "dchop.ch"
                                                1) ) 
#line 119 "dchop.ch"
#line 120 "dchop.ch"
                                            if ( !inClass || !((!stat)) ) {
#line 120 "dchop.ch"
#line 121 "dchop.ch"
if ( ( _inter = 
#line 121 "dchop.ch"
        FatherTree(exp),!(((_inter = (PPTREE)_inter,1) && 
#line 121 "dchop.ch"
                                (NumberTree(_inter) == cplus::TEMPLATE_DECL) &&
#line 121 "dchop.ch"
                                1))) ) 
#line 121 "dchop.ch"
#line 122 "dchop.ch"
    LNewLine(2);
#line 122 "dchop.ch"
#line 122 "dchop.ch"
else 
#line 122 "dchop.ch"
#line 124 "dchop.ch"
    LNewLine(1);
#line 124 "dchop.ch"
#line 124 "dchop.ch"
#line 124 "dchop.ch"
#line 124 "dchop.ch"
                                                                              } else 
#line 124 "dchop.ch"
#line 126 "dchop.ch"
                                                LNewLine(1);
#line 126 "dchop.ch"
#line 126 "dchop.ch"
#line 126 "dchop.ch"
#line 127 "dchop.ch"
                                        if ( ((_inter = (PPTREE)exp,1) && 
#line 127 "dchop.ch"
                                                (NumberTree(_inter) == cplus::MESSAGE_MAP) &&
#line 127 "dchop.ch"
                                                1) ) 
#line 127 "dchop.ch"
#line 128 "dchop.ch"
                                            LNewLine(2);
#line 128 "dchop.ch"
#line 128 "dchop.ch"
#line 129 "dchop.ch"
                                        if ( ((_inter = (PPTREE)exp,1) && 
#line 129 "dchop.ch"
                                                (NumberTree(_inter) == cplus::DECLARATION) &&
#line 129 "dchop.ch"
                                                (_retVal[1]=((_storeVal[1]=_inter,_inter=SonTree(_inter,2),1) &&
#line 129 "dchop.ch"
                                                    (NumberTree(_inter) == cplus::CLASS) &&
#line 129 "dchop.ch"
                                                    ((name=SonTree(_inter,1)),1) &&
#line 129 "dchop.ch"
                                                    ((stat=SonTree(_inter,4)),1) &&
#line 129 "dchop.ch"
                                                    1),
#line 129 "dchop.ch"
                                                    (_inter=_storeVal[1],1),_retVal[1]) &&
#line 129 "dchop.ch"
                                                1) ) 
#line 129 "dchop.ch"
#line 130 "dchop.ch"
                                            if ( !strcmp(BrainyValue(name), "class") ) 
#line 130 "dchop.ch"
#line 131 "dchop.ch"
                                                if ( !((!stat)) ) {
#line 131 "dchop.ch"
#line 132 "dchop.ch"
                                                                        LNewLine(2);
#line 132 "dchop.ch"
#line 132 "dchop.ch"
#line 132 "dchop.ch"
                                                                    }
#line 132 "dchop.ch"
#line 132 "dchop.ch"
                                       }
#line 132 "dchop.ch"
#line 135 "dchop.ch"
            break ;
#line 135 "dchop.ch"
#line 136 "dchop.ch"
        default : 
#line 136 "dchop.ch"
#line 136 "dchop.ch"
        _Case19 : 
#line 136 "dchop.ch"
#line 136 "dchop.ch"
            ;
#line 136 "dchop.ch"
#line 136 "dchop.ch"
            break ;
#line 136 "dchop.ch"
    }
#line 136 "dchop.ch"
#line 136 "dchop.ch"
#line 140 "dchop.ch"
    if ( funcAlone ) {
#line 140 "dchop.ch"
#line 141 "dchop.ch"
                        int oldIsVirtMod = isVirtMod ;
#line 141 "dchop.ch"
#line 142 "dchop.ch"
                        isVirtMod = 1 ;
#line 142 "dchop.ch"
#line 143 "dchop.ch"
                        LNewLine(3);
#line 143 "dchop.ch"
#line 143 "dchop.ch"
#line 144 "dchop.ch"
                        isVirtMod = oldIsVirtMod ;
#line 144 "dchop.ch"
#line 144 "dchop.ch"
                      }
#line 144 "dchop.ch"
#line 147 "dchop.ch"
    {
#line 147 "dchop.ch"
#line 147 "dchop.ch"
        int commPre = 0 ;
#line 147 "dchop.ch"
#line 152 "dchop.ch"
        if ( !Beginning() && (commPre = (int)IsComm(paramTree, PRE)) ) {
#line 152 "dchop.ch"
#line 153 "dchop.ch"
Mark();
#line 153 "dchop.ch"
#line 158 "dchop.ch"
currCol++ ;
#line 158 "dchop.ch"
#line 159 "dchop.ch"
comm(paramTree, PRE);
#line 159 "dchop.ch"
#line 159 "dchop.ch"
                                                                                } else 
#line 159 "dchop.ch"
#line 161 "dchop.ch"
            comm(paramTree, PRE);
#line 161 "dchop.ch"
#line 161 "dchop.ch"
#line 162 "dchop.ch"
        (postComment=(oldPostComment=IntDecomp(paramTree, funcAlone)));
#line 162 "dchop.ch"
#line 162 "dchop.ch"
#line 163 "dchop.ch"
        if ( postComment != paramTree ) 
#line 163 "dchop.ch"
#line 164 "dchop.ch"
            comm(paramTree, POST);
#line 164 "dchop.ch"
#line 165 "dchop.ch"
        if ( commPre ) {
#line 165 "dchop.ch"
#line 166 "dchop.ch"
                            UnMark();
#line 166 "dchop.ch"
#line 166 "dchop.ch"
                        }
#line 166 "dchop.ch"
#line 168 "dchop.ch"
    }
#line 168 "dchop.ch"
#line 169 "dchop.ch"
    if ( isVirtMod && !(((_inter = (PPTREE)paramTree,1) && 
#line 169 "dchop.ch"
                            (NumberTree(_inter) == cplus::ATTRIBUTS) &&
#line 169 "dchop.ch"
                            1)) ) {
#line 169 "dchop.ch"
#line 170 "dchop.ch"
                                    xFather = oldXFather, yFather = oldYFather ;
#line 170 "dchop.ch"
#line 174 "dchop.ch"
                                    if ( currCol > maxX ) 
#line 174 "dchop.ch"
#line 175 "dchop.ch"
                                        maxX = currCol ;
#line 175 "dchop.ch"
#line 179 "dchop.ch"
                                    PutCoord(paramTree, begCurrCol - xFather, currLine - begCurrLine > 0 ? 2 : 0, maxX - begCurrCol, theMark);
#line 179 "dchop.ch"
#line 184 "dchop.ch"
                                    if ( maxX < oldMaxX ) 
#line 184 "dchop.ch"
#line 185 "dchop.ch"
                                        maxX = oldMaxX ;
#line 185 "dchop.ch"
#line 185 "dchop.ch"
                                  }
#line 185 "dchop.ch"
#line 187 "dchop.ch"
}
#line 187 "dchop.ch"

#line 189 "dchop.ch"
#line 189 "dchop.ch"
PTREE DecompCplus::IntDecomp ( PTREE paramTree, int funcAlone )
#line 189 "dchop.ch"
{
#line 189 "dchop.ch"
    register PPTREE _inter ;
#line 189 "dchop.ch"
#line 189 "dchop.ch"
#line 191 "dchop.ch"
    PTREE   list, list1, son, sc, type, declarator, param, param_decl, stat, decl, list_decl, ctor ;
#line 191 "dchop.ch"
#line 191 "dchop.ch"
#line 193 "dchop.ch"
    PTREE   val, exp_list, init, exp1, exp2, exp3, exp, ident, stat1, stat2, name1, name2, range ;
#line 193 "dchop.ch"
#line 193 "dchop.ch"
#line 195 "dchop.ch"
    PTREE   ident1, name ;
#line 195 "dchop.ch"
#line 195 "dchop.ch"
#line 196 "dchop.ch"
    PTREE   oldPostComment = (PTREE)0 ;
#line 196 "dchop.ch"
#line 196 "dchop.ch"
#line 197 "dchop.ch"
    int oldStatement = statementf ;
#line 197 "dchop.ch"
#line 198 "dchop.ch"
    int oldInClass = inClass ;
#line 198 "dchop.ch"
#line 199 "dchop.ch"
    int oneInstruct ;
#line 199 "dchop.ch"
#line 196 "dchop.ch"
    (oldPostComment=postComment);
#line 196 "dchop.ch"
#line 196 "dchop.ch"
#line 202 "dchop.ch"
    switch ( NumberTree(paramTree) ) {
#line 202 "dchop.ch"
#line 204 "dchop.ch"
        case LIST : 
#line 204 "dchop.ch"
#line 204 "dchop.ch"
        _Case20 : 
#line 204 "dchop.ch"
#line 204 "dchop.ch"
            ;
#line 204 "dchop.ch"
#line 204 "dchop.ch"
            (list=paramTree);
#line 204 "dchop.ch"
#line 204 "dchop.ch"
#line 205 "dchop.ch"
            while ( !((!list)) ) {
#line 205 "dchop.ch"
#line 206 "dchop.ch"
                                    (son=(list?list.Nextl():(PPTREE)0));
#line 206 "dchop.ch"
#line 206 "dchop.ch"
#line 207 "dchop.ch"
                                    decomp(son);
#line 207 "dchop.ch"
#line 207 "dchop.ch"
#line 207 "dchop.ch"
                                   }
#line 207 "dchop.ch"
#line 209 "dchop.ch"
            break ;
#line 209 "dchop.ch"
#line 210 "dchop.ch"
        case cplus::LANGUAGE : 
#line 210 "dchop.ch"
#line 210 "dchop.ch"
            (name=SonTree(paramTree, 1));
#line 210 "dchop.ch"
#line 210 "dchop.ch"
#line 210 "dchop.ch"
        _Case21 : 
#line 210 "dchop.ch"
#line 210 "dchop.ch"
            ;
#line 210 "dchop.ch"
#line 211 "dchop.ch"
            {
#line 211 "dchop.ch"
#line 212 "dchop.ch"
                inClass = 0 ;
#line 212 "dchop.ch"
#line 213 "dchop.ch"
                (list=name);
#line 213 "dchop.ch"
#line 213 "dchop.ch"
#line 214 "dchop.ch"
                NoSep();
#line 214 "dchop.ch"
#line 214 "dchop.ch"
#line 215 "dchop.ch"
                DecompilerListeExternSimp(list);
#line 215 "dchop.ch"
#line 215 "dchop.ch"
            }
#line 215 "dchop.ch"
#line 217 "dchop.ch"
            break ;
#line 217 "dchop.ch"
#line 218 "dchop.ch"
        case cplus::TYPEDEF : 
#line 218 "dchop.ch"
#line 218 "dchop.ch"
            (type=SonTree(paramTree, 1));
#line 218 "dchop.ch"
#line 218 "dchop.ch"
#line 218 "dchop.ch"
            (declarator=SonTree(paramTree, 2));
#line 218 "dchop.ch"
#line 218 "dchop.ch"
#line 218 "dchop.ch"
        _Case22 : 
#line 218 "dchop.ch"
#line 218 "dchop.ch"
            ;
#line 218 "dchop.ch"
#line 219 "dchop.ch"
            if ( ((_inter = (PPTREE)type,1) && 
#line 219 "dchop.ch"
                    (NumberTree(_inter) == cplus::CLASS) &&
#line 219 "dchop.ch"
                    ((list_decl=SonTree(_inter,4)),1) &&
#line 219 "dchop.ch"
                    1) && !((!list_decl)) ) 
#line 219 "dchop.ch"
#line 220 "dchop.ch"
                if ( middleInList(paramTree) ) 
#line 220 "dchop.ch"
#line 221 "dchop.ch"
                    LNewLine(2);
#line 221 "dchop.ch"
#line 221 "dchop.ch"
#line 222 "dchop.ch"
            PrintString("typedef");
#line 222 "dchop.ch"
#line 222 "dchop.ch"
            decomp(type);
#line 222 "dchop.ch"
#line 222 "dchop.ch"
#line 223 "dchop.ch"
            if ( ((_inter = (PPTREE)type,1) && 
#line 223 "dchop.ch"
                    (NumberTree(_inter) == cplus::CLASS) &&
#line 223 "dchop.ch"
                    1) ) {
#line 223 "dchop.ch"
#line 224 "dchop.ch"
                            while ( !((!declarator)) ) {
#line 224 "dchop.ch"
#line 225 "dchop.ch"
                                                            (son=(declarator?declarator.Nextl():(PPTREE)0));
#line 225 "dchop.ch"
#line 225 "dchop.ch"
#line 226 "dchop.ch"
                                                            Tab();
#line 226 "dchop.ch"
#line 226 "dchop.ch"
#line 226 "dchop.ch"
                                                            decomp(son);
#line 226 "dchop.ch"
#line 226 "dchop.ch"
#line 227 "dchop.ch"
                                                            if ( !((!declarator)) ) {
#line 227 "dchop.ch"
#line 228 "dchop.ch"
PrintString(",");
#line 228 "dchop.ch"
#line 228 "dchop.ch"
Space(1);
#line 228 "dchop.ch"
#line 228 "dchop.ch"
#line 228 "dchop.ch"
                                                                                      }
#line 228 "dchop.ch"
#line 228 "dchop.ch"
                                                         }
#line 228 "dchop.ch"
#line 228 "dchop.ch"
                         } else 
#line 231 "dchop.ch"
            {
#line 231 "dchop.ch"
#line 232 "dchop.ch"
                Mark();
#line 232 "dchop.ch"
                while ( !((!declarator)) ) {
#line 232 "dchop.ch"
#line 234 "dchop.ch"
                                                (son=(declarator?declarator.Nextl():(PPTREE)0));
#line 234 "dchop.ch"
#line 234 "dchop.ch"
#line 235 "dchop.ch"
                                                Tab();
#line 235 "dchop.ch"
#line 235 "dchop.ch"
#line 235 "dchop.ch"
                                                decomp(son);
#line 235 "dchop.ch"
#line 235 "dchop.ch"
#line 236 "dchop.ch"
                                                if ( !((!declarator)) ) {
#line 236 "dchop.ch"
#line 237 "dchop.ch"
PrintString(",");
#line 237 "dchop.ch"
#line 237 "dchop.ch"
Space(1);
#line 237 "dchop.ch"
#line 237 "dchop.ch"
#line 237 "dchop.ch"
                                                                          }
#line 237 "dchop.ch"
#line 237 "dchop.ch"
                                             }
#line 237 "dchop.ch"
                UnMark();
#line 237 "dchop.ch"
#line 237 "dchop.ch"
#line 237 "dchop.ch"
            }
#line 237 "dchop.ch"
#line 242 "dchop.ch"
            SepBefore();
#line 242 "dchop.ch"
#line 242 "dchop.ch"
#line 242 "dchop.ch"
            PrintString(";");
#line 242 "dchop.ch"
#line 243 "dchop.ch"
            (oldPostComment=paramTree);
#line 243 "dchop.ch"
#line 243 "dchop.ch"
#line 244 "dchop.ch"
            comm(paramTree, POST);
#line 244 "dchop.ch"
#line 245 "dchop.ch"
            if ( !LastInTopList(paramTree) ) {
#line 245 "dchop.ch"
#line 246 "dchop.ch"
                                                    if ( ((_inter = (PPTREE)type,1) && 
#line 246 "dchop.ch"
                                                            (NumberTree(_inter) == cplus::CLASS) &&
#line 246 "dchop.ch"
                                                            ((list_decl=SonTree(_inter,4)),1) &&
#line 246 "dchop.ch"
                                                            1) && !((!list_decl)) ) 
#line 246 "dchop.ch"
#line 247 "dchop.ch"
                                                        LNewLine(2);
#line 247 "dchop.ch"
#line 247 "dchop.ch"
                                                    else 
#line 247 "dchop.ch"
#line 249 "dchop.ch"
                                                        LNewLine(1);
#line 249 "dchop.ch"
#line 249 "dchop.ch"
#line 249 "dchop.ch"
#line 249 "dchop.ch"
                                                }
#line 249 "dchop.ch"
#line 251 "dchop.ch"
            break ;
#line 251 "dchop.ch"
#line 252 "dchop.ch"
        case cplus::FUNC : 
#line 252 "dchop.ch"
#line 252 "dchop.ch"
            (sc=SonTree(paramTree, 1));
#line 252 "dchop.ch"
#line 252 "dchop.ch"
#line 252 "dchop.ch"
            (type=SonTree(paramTree, 2));
#line 252 "dchop.ch"
#line 252 "dchop.ch"
#line 252 "dchop.ch"
            (declarator=SonTree(paramTree, 3));
#line 252 "dchop.ch"
#line 252 "dchop.ch"
#line 252 "dchop.ch"
            (param=SonTree(paramTree, 4));
#line 252 "dchop.ch"
#line 252 "dchop.ch"
#line 252 "dchop.ch"
            (range=SonTree(paramTree, 5));
#line 252 "dchop.ch"
#line 252 "dchop.ch"
#line 252 "dchop.ch"
            (param_decl=SonTree(paramTree, 6));
#line 252 "dchop.ch"
#line 252 "dchop.ch"
#line 252 "dchop.ch"
            (ctor=SonTree(paramTree, 7));
#line 252 "dchop.ch"
#line 252 "dchop.ch"
#line 252 "dchop.ch"
            (stat=SonTree(paramTree, 8));
#line 252 "dchop.ch"
#line 252 "dchop.ch"
#line 252 "dchop.ch"
        _Case23 : 
#line 252 "dchop.ch"
#line 252 "dchop.ch"
            ;
#line 252 "dchop.ch"
#line 253 "dchop.ch"
            (exp2=ctor);
#line 253 "dchop.ch"
#line 253 "dchop.ch"
#line 254 "dchop.ch"
            if ( ctor ) 
#line 254 "dchop.ch"
#line 255 "dchop.ch"
                ((_inter = (PPTREE)ctor,1) && 
#line 255 "dchop.ch"
                    ((ctor=SonTree(_inter,1)),1) &&
#line 255 "dchop.ch"
                    1);
#line 255 "dchop.ch"
                ;
#line 255 "dchop.ch"
#line 256 "dchop.ch"
            ((_inter = (PPTREE)stat,1) && 
#line 256 "dchop.ch"
                ((stat1=SonTree(_inter,1)),1) &&
#line 256 "dchop.ch"
                1);
#line 256 "dchop.ch"
            ;
#line 256 "dchop.ch"
#line 260 "dchop.ch"
            {
#line 260 "dchop.ch"
#line 260 "dchop.ch"
                (exp1=FatherTree(paramTree));
#line 260 "dchop.ch"
#line 260 "dchop.ch"
#line 261 "dchop.ch"
                if ( ((_inter = (PPTREE)exp1,1) && 
#line 261 "dchop.ch"
                        (NumberTree(_inter) == cplus::ATTRIBUTS) &&
#line 261 "dchop.ch"
                        1) ) 
#line 261 "dchop.ch"
#line 262 "dchop.ch"
                    (exp1=FatherTree(exp1));
#line 262 "dchop.ch"
#line 262 "dchop.ch"
#line 263 "dchop.ch"
                if ( !(((_inter = (PPTREE)exp1,1) && 
#line 263 "dchop.ch"
                            (NumberTree(_inter) == cplus::EXTERNAL) &&
#line 263 "dchop.ch"
                            1)) ) {
#line 263 "dchop.ch"
#line 269 "dchop.ch"
                                    if ( currLine > 0 ) {
#line 269 "dchop.ch"
#line 270 "dchop.ch"
                                                            if ( !inClass || !((!stat1)) ) {
#line 270 "dchop.ch"
#line 271 "dchop.ch"
if ( ( _inter = 
#line 271 "dchop.ch"
        FatherTree(exp1),((_inter = (PPTREE)_inter,1) && 
#line 271 "dchop.ch"
                            (NumberTree(_inter) == cplus::TEMPLATE_DECL) &&
#line 271 "dchop.ch"
                            1)) ) 
#line 271 "dchop.ch"
#line 272 "dchop.ch"
    LNewLine(2);
#line 272 "dchop.ch"
#line 272 "dchop.ch"
else 
#line 272 "dchop.ch"
#line 274 "dchop.ch"
    LNewLine(1);
#line 274 "dchop.ch"
#line 274 "dchop.ch"
#line 274 "dchop.ch"
#line 274 "dchop.ch"
                                                                                               } else 
#line 274 "dchop.ch"
#line 276 "dchop.ch"
                                                                LNewLine(1);
#line 276 "dchop.ch"
#line 276 "dchop.ch"
#line 276 "dchop.ch"
#line 276 "dchop.ch"
                                                          }
#line 276 "dchop.ch"
#line 278 "dchop.ch"
                                    if ( indentFunctionType ) 
#line 278 "dchop.ch"
#line 279 "dchop.ch"
                                        indentFuncFlag = 1 ;
#line 279 "dchop.ch"
#line 279 "dchop.ch"
                                  }
#line 279 "dchop.ch"
#line 281 "dchop.ch"
            }
#line 281 "dchop.ch"
#line 283 "dchop.ch"
            Mark();
#line 283 "dchop.ch"
            if ( !((!sc)) ) {
#line 283 "dchop.ch"
#line 284 "dchop.ch"
                                DumpBrainyValue(sc);
#line 284 "dchop.ch"
#line 284 "dchop.ch"
#line 284 "dchop.ch"
                                Tab();
#line 284 "dchop.ch"
#line 284 "dchop.ch"
#line 284 "dchop.ch"
                              }
#line 284 "dchop.ch"
            decomp(type);
#line 284 "dchop.ch"
#line 284 "dchop.ch"
            decomp(declarator);
#line 284 "dchop.ch"
#line 284 "dchop.ch"
            indentFuncFlag = 0 ;
#line 284 "dchop.ch"
            SepBefore();
#line 284 "dchop.ch"
#line 284 "dchop.ch"
            PrintString("(");
#line 284 "dchop.ch"
            if ( !((!param)) ) 
#line 284 "dchop.ch"
#line 292 "dchop.ch"
                Space(1);
#line 292 "dchop.ch"
#line 292 "dchop.ch"
            (val=param);
#line 292 "dchop.ch"
#line 292 "dchop.ch"
            comm(val, PRE);
#line 292 "dchop.ch"
            while ( !((!param)) ) {
#line 292 "dchop.ch"
#line 296 "dchop.ch"
                                        (son=(param?param.Nextl():(PPTREE)0));
#line 296 "dchop.ch"
#line 296 "dchop.ch"
#line 297 "dchop.ch"
                                        decomp(son);
#line 297 "dchop.ch"
#line 297 "dchop.ch"
#line 298 "dchop.ch"
                                        if ( !((!param)) ) {
#line 298 "dchop.ch"
#line 299 "dchop.ch"
                                                                PrintString(",");
#line 299 "dchop.ch"
#line 299 "dchop.ch"
                                                             }
#line 299 "dchop.ch"
#line 301 "dchop.ch"
                                        Space(1);
#line 301 "dchop.ch"
#line 301 "dchop.ch"
#line 301 "dchop.ch"
                                    }
#line 301 "dchop.ch"
            PrintString(")");
#line 301 "dchop.ch"
            SepAfter();
#line 301 "dchop.ch"
#line 301 "dchop.ch"
            comm(val, POST);
#line 301 "dchop.ch"
            if ( range ) 
#line 301 "dchop.ch"
#line 306 "dchop.ch"
                decomp(range);
#line 306 "dchop.ch"
#line 306 "dchop.ch"
            comm(exp2, PRE);
#line 306 "dchop.ch"
            if ( !((!ctor)) ) {
#line 306 "dchop.ch"
#line 309 "dchop.ch"
                                    LNewLine(1);
#line 309 "dchop.ch"
#line 309 "dchop.ch"
#line 310 "dchop.ch"
                                    Tab();
#line 310 "dchop.ch"
#line 310 "dchop.ch"
#line 311 "dchop.ch"
                                    Mark();
#line 311 "dchop.ch"
                                    PrintString(":");
#line 311 "dchop.ch"
                                    Space(1);
#line 311 "dchop.ch"
#line 311 "dchop.ch"
                                    while ( !((!ctor)) ) {
#line 311 "dchop.ch"
#line 313 "dchop.ch"
                                                            (son=(ctor?ctor.Nextl():(PPTREE)0));
#line 313 "dchop.ch"
#line 313 "dchop.ch"
#line 314 "dchop.ch"
                                                            decomp(son);
#line 314 "dchop.ch"
#line 314 "dchop.ch"
#line 315 "dchop.ch"
                                                            if ( !((!ctor)) ) {
#line 315 "dchop.ch"
#line 316 "dchop.ch"
PrintString(",");
#line 316 "dchop.ch"
#line 316 "dchop.ch"
Space(1);
#line 316 "dchop.ch"
#line 316 "dchop.ch"
#line 316 "dchop.ch"
SepAfter();
#line 316 "dchop.ch"
#line 316 "dchop.ch"
#line 316 "dchop.ch"
                                                                                }
#line 316 "dchop.ch"
#line 316 "dchop.ch"
                                                           }
#line 316 "dchop.ch"
                                    UnMark();
#line 316 "dchop.ch"
#line 316 "dchop.ch"
#line 320 "dchop.ch"
                                    comm(exp2, POST);
#line 320 "dchop.ch"
#line 321 "dchop.ch"
                                    LNewLine(1);
#line 321 "dchop.ch"
#line 321 "dchop.ch"
#line 321 "dchop.ch"
                                }
#line 321 "dchop.ch"
            if ( !((!param_decl)) ) 
#line 321 "dchop.ch"
#line 324 "dchop.ch"
                LNewLine(1);
#line 324 "dchop.ch"
#line 324 "dchop.ch"
            decomp(param_decl);
#line 324 "dchop.ch"
#line 324 "dchop.ch"
            statementf = 0 ;
#line 324 "dchop.ch"
            ((_inter = (PPTREE)stat,1) && 
#line 324 "dchop.ch"
                ((stat1=SonTree(_inter,1)),1) &&
#line 324 "dchop.ch"
                1);
#line 324 "dchop.ch"
            ;
#line 324 "dchop.ch"
            if ( !((!stat1)) || !((!param_decl)) ) 
#line 324 "dchop.ch"
#line 331 "dchop.ch"
                LNewLine(1);
#line 331 "dchop.ch"
#line 331 "dchop.ch"
            decomp(stat);
#line 331 "dchop.ch"
#line 331 "dchop.ch"
            if ( funcAlone ) 
#line 331 "dchop.ch"
#line 336 "dchop.ch"
                LNewLine(1);
#line 336 "dchop.ch"
#line 336 "dchop.ch"
            else 
#line 337 "dchop.ch"
            if ( !LastInList(paramTree) ) {
#line 337 "dchop.ch"
#line 338 "dchop.ch"
#if 0
#line 338 "dchop.ch"
#line 341 "dchop.ch"
                                                if ( !inClass || !((!stat1)) ) {
#line 341 "dchop.ch"
#line 342 "dchop.ch"
if ( !LastInList(paramTree) ) {
#line 342 "dchop.ch"
#line 343 "dchop.ch"
                                    LNewLine(2);
#line 343 "dchop.ch"
#line 343 "dchop.ch"
#line 343 "dchop.ch"
                                 }
#line 343 "dchop.ch"
#line 343 "dchop.ch"
                                                                                   }
#line 343 "dchop.ch"
#endif
#line 343 "dchop.ch"
#line 347 "dchop.ch"
                                                if ( !inClass || !((!stat)) ) {
#line 347 "dchop.ch"
#line 348 "dchop.ch"
if ( !LastInList(paramTree) ) {
#line 348 "dchop.ch"
#line 349 "dchop.ch"
                                    LNewLine(2);
#line 349 "dchop.ch"
#line 349 "dchop.ch"
#line 349 "dchop.ch"
                                 }
#line 349 "dchop.ch"
#line 349 "dchop.ch"
                                                                                  } else 
#line 351 "dchop.ch"
                                                {
#line 351 "dchop.ch"
#line 352 "dchop.ch"
                                                    if ( !LastInTopList(paramTree) ) {
#line 352 "dchop.ch"
#line 353 "dchop.ch"
LNewLine(1);
#line 353 "dchop.ch"
#line 353 "dchop.ch"
#line 353 "dchop.ch"
                                                                                        }
#line 353 "dchop.ch"
#line 353 "dchop.ch"
                                                }
#line 353 "dchop.ch"
#line 353 "dchop.ch"
                                             }
#line 353 "dchop.ch"
            UnMark();
#line 353 "dchop.ch"
#line 353 "dchop.ch"
#line 358 "dchop.ch"
            break ;
#line 358 "dchop.ch"
#line 359 "dchop.ch"
        case cplus::TYP_AFF : 
#line 359 "dchop.ch"
#line 359 "dchop.ch"
            (declarator=SonTree(paramTree, 1));
#line 359 "dchop.ch"
#line 359 "dchop.ch"
#line 359 "dchop.ch"
            (exp=SonTree(paramTree, 2));
#line 359 "dchop.ch"
#line 359 "dchop.ch"
#line 359 "dchop.ch"
        _Case24 : 
#line 359 "dchop.ch"
#line 359 "dchop.ch"
            ;
#line 359 "dchop.ch"
#line 360 "dchop.ch"
            statementf = 0 ;
#line 360 "dchop.ch"
#line 361 "dchop.ch"
            decomp(declarator);
#line 361 "dchop.ch"
#line 361 "dchop.ch"
#line 362 "dchop.ch"
            if ( !((!exp)) ) {
#line 362 "dchop.ch"
#line 363 "dchop.ch"
                                Space(1);
#line 363 "dchop.ch"
#line 363 "dchop.ch"
#line 363 "dchop.ch"
                                PrintString("=");
#line 363 "dchop.ch"
#line 363 "dchop.ch"
                                Space(1);
#line 363 "dchop.ch"
#line 363 "dchop.ch"
#line 363 "dchop.ch"
                                decomp(exp);
#line 363 "dchop.ch"
#line 363 "dchop.ch"
#line 363 "dchop.ch"
                               }
#line 363 "dchop.ch"
#line 365 "dchop.ch"
            break ;
#line 365 "dchop.ch"
#line 366 "dchop.ch"
        case cplus::CLASS_PARAM : 
#line 366 "dchop.ch"
#line 366 "dchop.ch"
            (son=SonTree(paramTree, 1));
#line 366 "dchop.ch"
#line 366 "dchop.ch"
#line 366 "dchop.ch"
        _Case25 : 
#line 366 "dchop.ch"
#line 366 "dchop.ch"
            ;
#line 366 "dchop.ch"
#line 367 "dchop.ch"
            PrintString("class");
#line 367 "dchop.ch"
#line 367 "dchop.ch"
            decomp(son);
#line 367 "dchop.ch"
#line 367 "dchop.ch"
#line 368 "dchop.ch"
            break ;
#line 368 "dchop.ch"
#line 369 "dchop.ch"
        case cplus::TEMPLATE_DECL : 
#line 369 "dchop.ch"
#line 369 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 369 "dchop.ch"
#line 369 "dchop.ch"
#line 369 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 369 "dchop.ch"
#line 369 "dchop.ch"
#line 369 "dchop.ch"
        _Case26 : 
#line 369 "dchop.ch"
#line 369 "dchop.ch"
            ;
#line 369 "dchop.ch"
#line 370 "dchop.ch"
            PrintString("template");
#line 370 "dchop.ch"
#line 370 "dchop.ch"
            Space(1);
#line 370 "dchop.ch"
#line 370 "dchop.ch"
#line 370 "dchop.ch"
            PrintString("<");
#line 370 "dchop.ch"
#line 371 "dchop.ch"
            DecompList(exp1, ",", (char *)0, 0);
#line 371 "dchop.ch"
#line 372 "dchop.ch"
            PrintString(">");
#line 372 "dchop.ch"
#line 372 "dchop.ch"
            Space(1);
#line 372 "dchop.ch"
#line 372 "dchop.ch"
#line 372 "dchop.ch"
            LNewLine(1);
#line 372 "dchop.ch"
#line 372 "dchop.ch"
#line 373 "dchop.ch"
            Tab();
#line 373 "dchop.ch"
#line 373 "dchop.ch"
#line 374 "dchop.ch"
            Mark();
#line 374 "dchop.ch"
            decomp(exp2);
#line 374 "dchop.ch"
#line 374 "dchop.ch"
            UnMark();
#line 374 "dchop.ch"
#line 374 "dchop.ch"
#line 376 "dchop.ch"
            break ;
#line 376 "dchop.ch"
#line 377 "dchop.ch"
        case cplus::PARAM_TYPE : 
#line 377 "dchop.ch"
#line 377 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 377 "dchop.ch"
#line 377 "dchop.ch"
#line 377 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 377 "dchop.ch"
#line 377 "dchop.ch"
#line 377 "dchop.ch"
        _Case27 : 
#line 377 "dchop.ch"
#line 377 "dchop.ch"
            ;
#line 377 "dchop.ch"
#line 378 "dchop.ch"
            decomp(exp1);
#line 378 "dchop.ch"
#line 378 "dchop.ch"
#line 378 "dchop.ch"
            PrintString("<");
#line 378 "dchop.ch"
#line 379 "dchop.ch"
            while ( exp2 ) {
#line 379 "dchop.ch"
#line 380 "dchop.ch"
                                (son=(exp2?exp2.Nextl():(PPTREE)0));
#line 380 "dchop.ch"
#line 380 "dchop.ch"
#line 381 "dchop.ch"
                                decomp(son);
#line 381 "dchop.ch"
#line 381 "dchop.ch"
#line 382 "dchop.ch"
                                if ( exp2 ) {
#line 382 "dchop.ch"
#line 383 "dchop.ch"
                                                PrintString(",");
#line 383 "dchop.ch"
#line 383 "dchop.ch"
                                                Space(1);
#line 383 "dchop.ch"
#line 383 "dchop.ch"
#line 383 "dchop.ch"
                                             }
#line 383 "dchop.ch"
#line 383 "dchop.ch"
                            }
#line 383 "dchop.ch"
#line 386 "dchop.ch"
            PrintString(">");
#line 386 "dchop.ch"
#line 386 "dchop.ch"
            Space(1);
#line 386 "dchop.ch"
#line 386 "dchop.ch"
#line 387 "dchop.ch"
            break ;
#line 387 "dchop.ch"
#line 388 "dchop.ch"
        case cplus::FOR_DECLARATION : 
#line 388 "dchop.ch"
#line 388 "dchop.ch"
            (sc=SonTree(paramTree, 1));
#line 388 "dchop.ch"
#line 388 "dchop.ch"
#line 388 "dchop.ch"
            (type=SonTree(paramTree, 2));
#line 388 "dchop.ch"
#line 388 "dchop.ch"
#line 388 "dchop.ch"
            (list_decl=SonTree(paramTree, 3));
#line 388 "dchop.ch"
#line 388 "dchop.ch"
#line 388 "dchop.ch"
        _Case28 : 
#line 388 "dchop.ch"
#line 388 "dchop.ch"
            ;
#line 388 "dchop.ch"
#line 388 "dchop.ch"
            goto _Case29 ;
#line 388 "dchop.ch"
#line 389 "dchop.ch"
        case cplus::DECLARATION : 
#line 389 "dchop.ch"
#line 389 "dchop.ch"
            (sc=SonTree(paramTree, 1));
#line 389 "dchop.ch"
#line 389 "dchop.ch"
#line 389 "dchop.ch"
            (type=SonTree(paramTree, 2));
#line 389 "dchop.ch"
#line 389 "dchop.ch"
#line 389 "dchop.ch"
            (list_decl=SonTree(paramTree, 3));
#line 389 "dchop.ch"
#line 389 "dchop.ch"
#line 389 "dchop.ch"
        _Case29 : 
#line 389 "dchop.ch"
#line 389 "dchop.ch"
            ;
#line 389 "dchop.ch"
#line 390 "dchop.ch"
            {
#line 390 "dchop.ch"
#line 391 "dchop.ch"
                int hasPutMark = 0 ;
#line 391 "dchop.ch"
#line 394 "dchop.ch"
                if ( ((_inter = (PPTREE)type,1) && 
#line 394 "dchop.ch"
                        (NumberTree(_inter) == cplus::CLASS) &&
#line 394 "dchop.ch"
                        ((exp=SonTree(_inter,4)),1) &&
#line 394 "dchop.ch"
                        1) && !((!exp)) ) 
#line 394 "dchop.ch"
#line 395 "dchop.ch"
                    if ( currLine > 0 ) {
#line 395 "dchop.ch"
#line 396 "dchop.ch"
                                            LNewLine(2);
#line 396 "dchop.ch"
#line 396 "dchop.ch"
#line 396 "dchop.ch"
                                          }
#line 396 "dchop.ch"
#line 398 "dchop.ch"
                if ( !((!sc)) ) {
#line 398 "dchop.ch"
#line 399 "dchop.ch"
                                    DumpBrainyValue(sc);
#line 399 "dchop.ch"
#line 399 "dchop.ch"
#line 399 "dchop.ch"
                                  }
#line 399 "dchop.ch"
#line 401 "dchop.ch"
                if ( !((!type)) ) {
#line 401 "dchop.ch"
#line 402 "dchop.ch"
                                        decomp(type);
#line 402 "dchop.ch"
#line 402 "dchop.ch"
#line 407 "dchop.ch"
                                        if ( !((!list_decl)) ) {
#line 407 "dchop.ch"
#line 408 "dchop.ch"
                                                                    SepAfter();
#line 408 "dchop.ch"
#line 408 "dchop.ch"
#line 408 "dchop.ch"
                                                                 }
#line 408 "dchop.ch"
#line 410 "dchop.ch"
                                        if ( !(((_inter = (PPTREE)paramTree,1) && 
#line 410 "dchop.ch"
                                                    (NumberTree(_inter) == cplus::FOR_DECLARATION) &&
#line 410 "dchop.ch"
                                                    1)) && !(((_inter = (PPTREE)type,1) && 
#line 410 "dchop.ch"
                                                                (NumberTree(_inter) == cplus::CLASS) &&
#line 410 "dchop.ch"
                                                                1)) && !(((_inter = (PPTREE)type,1) && 
#line 410 "dchop.ch"
(NumberTree(_inter) == cplus::ENUM) &&
#line 410 "dchop.ch"
1)                                                                     ) ) 
#line 410 "dchop.ch"
#line 413 "dchop.ch"
                                            Tab();
#line 413 "dchop.ch"
#line 413 "dchop.ch"
#line 413 "dchop.ch"
                                    }
#line 413 "dchop.ch"
#line 415 "dchop.ch"
                while ( !((!list_decl)) ) {
#line 415 "dchop.ch"
#line 418 "dchop.ch"
#if 0
#line 418 "dchop.ch"
#line 419 "dchop.ch"
                                                if ( !hasPutMark ) {
#line 419 "dchop.ch"
#line 420 "dchop.ch"
                                                                        Mark();
#line 420 "dchop.ch"
#line 421 "dchop.ch"
                                                                        hasPutMark = 1 ;
#line 421 "dchop.ch"
#line 421 "dchop.ch"
                                                                     }
#line 421 "dchop.ch"
#endif
#line 421 "dchop.ch"
#line 424 "dchop.ch"
                                                (decl=(list_decl?list_decl.Nextl():(PPTREE)0));
#line 424 "dchop.ch"
#line 424 "dchop.ch"
#line 425 "dchop.ch"
                                                decomp(decl);
#line 425 "dchop.ch"
#line 425 "dchop.ch"
#line 426 "dchop.ch"
                                                if ( !((!list_decl)) ) {
#line 426 "dchop.ch"
#line 427 "dchop.ch"
PrintString(",");
#line 427 "dchop.ch"
#line 427 "dchop.ch"
Space(1);
#line 427 "dchop.ch"
#line 427 "dchop.ch"
#line 427 "dchop.ch"
                                                                         }
#line 427 "dchop.ch"
#line 427 "dchop.ch"
                                            }
#line 427 "dchop.ch"
#line 430 "dchop.ch"
#if 0
#line 430 "dchop.ch"
#line 431 "dchop.ch"
                if ( hasPutMark ) 
#line 431 "dchop.ch"
#line 432 "dchop.ch"
                    UnMark();
#line 432 "dchop.ch"
#endif
#line 432 "dchop.ch"
#line 434 "dchop.ch"
                if ( !(((_inter = (PPTREE)paramTree,1) && 
#line 434 "dchop.ch"
                            (NumberTree(_inter) == cplus::FOR_DECLARATION) &&
#line 434 "dchop.ch"
                            1)) && !(((_inter = (PPTREE)paramTree,1) && 
#line 434 "dchop.ch"
                                        (NumberTree(_inter) == cplus::TEMPLATE_DECL) &&
#line 434 "dchop.ch"
                                        1)) ) {
#line 434 "dchop.ch"
#line 436 "dchop.ch"
                                                SepBefore();
#line 436 "dchop.ch"
#line 436 "dchop.ch"
#line 436 "dchop.ch"
                                                PrintString(";");
#line 436 "dchop.ch"
#line 436 "dchop.ch"
                                              }
#line 436 "dchop.ch"
#line 440 "dchop.ch"
                comm(paramTree, POST);
#line 440 "dchop.ch"
#line 441 "dchop.ch"
                (oldPostComment=paramTree);
#line 441 "dchop.ch"
#line 441 "dchop.ch"
#line 445 "dchop.ch"
                (exp=FatherTree(paramTree));
#line 445 "dchop.ch"
#line 445 "dchop.ch"
#line 446 "dchop.ch"
                if ( !(((_inter = (PPTREE)paramTree,1) && 
#line 446 "dchop.ch"
                            (NumberTree(_inter) == cplus::FOR_DECLARATION) &&
#line 446 "dchop.ch"
                            1)) ) 
#line 446 "dchop.ch"
#line 447 "dchop.ch"
                    if ( ( _inter = 
#line 447 "dchop.ch"
                            FatherTree(paramTree),!(((_inter = (PPTREE)_inter,1) && 
#line 447 "dchop.ch"
                                                        (NumberTree(_inter) == cplus::ATTRIBUTS) &&
#line 447 "dchop.ch"
                                                        1))) ) {
#line 447 "dchop.ch"
#line 448 "dchop.ch"
                                                                if ( !LastInTopList(paramTree) ) {
#line 448 "dchop.ch"
#line 449 "dchop.ch"
LNewLine(1);
#line 449 "dchop.ch"
#line 449 "dchop.ch"
#line 449 "dchop.ch"
                                                                                                    }
#line 449 "dchop.ch"
#line 449 "dchop.ch"
                                                               }
#line 449 "dchop.ch"
#line 449 "dchop.ch"
            }
#line 449 "dchop.ch"
#line 453 "dchop.ch"
            break ;
#line 453 "dchop.ch"
#line 454 "dchop.ch"
        case cplus::ENUM : 
#line 454 "dchop.ch"
#line 454 "dchop.ch"
            (ident=SonTree(paramTree, 1));
#line 454 "dchop.ch"
#line 454 "dchop.ch"
#line 454 "dchop.ch"
            (list_decl=SonTree(paramTree, 2));
#line 454 "dchop.ch"
#line 454 "dchop.ch"
#line 454 "dchop.ch"
        _Case30 : 
#line 454 "dchop.ch"
#line 454 "dchop.ch"
            ;
#line 454 "dchop.ch"
#line 455 "dchop.ch"
            PrintString("enum");
#line 455 "dchop.ch"
#line 456 "dchop.ch"
            if ( !((!ident)) ) {
#line 456 "dchop.ch"
#line 457 "dchop.ch"
                                    DumpBrainyValue(ident);
#line 457 "dchop.ch"
#line 457 "dchop.ch"
#line 457 "dchop.ch"
                                    Space(1);
#line 457 "dchop.ch"
#line 457 "dchop.ch"
#line 457 "dchop.ch"
                                 }
#line 457 "dchop.ch"
#line 459 "dchop.ch"
            if ( !((!list_decl)) ) {
#line 459 "dchop.ch"
#line 460 "dchop.ch"
                                        SepBefore();
#line 460 "dchop.ch"
#line 460 "dchop.ch"
#line 460 "dchop.ch"
                                        PrintString("{");
#line 460 "dchop.ch"
#line 460 "dchop.ch"
                                        SepAfter();
#line 460 "dchop.ch"
#line 460 "dchop.ch"
#line 461 "dchop.ch"
                                        while ( !((!list_decl)) ) {
#line 461 "dchop.ch"
#line 462 "dchop.ch"
                                                                        (son=(list_decl?list_decl.Nextl():(PPTREE)0));
#line 462 "dchop.ch"
#line 462 "dchop.ch"
#line 463 "dchop.ch"
                                                                        decomp(son);
#line 463 "dchop.ch"
#line 463 "dchop.ch"
#line 464 "dchop.ch"
                                                                        if ( !((!list_decl)) ) {
#line 464 "dchop.ch"
#line 465 "dchop.ch"
PrintString(",");
#line 465 "dchop.ch"
#line 465 "dchop.ch"
Space(1);
#line 465 "dchop.ch"
#line 465 "dchop.ch"
#line 465 "dchop.ch"
                                                                                                 }
#line 465 "dchop.ch"
#line 465 "dchop.ch"
                                                                    }
#line 465 "dchop.ch"
#line 470 "dchop.ch"
                                        SepBefore();
#line 470 "dchop.ch"
#line 470 "dchop.ch"
#line 470 "dchop.ch"
                                        PrintString("}");
#line 470 "dchop.ch"
#line 470 "dchop.ch"
                                     }
#line 470 "dchop.ch"
#line 472 "dchop.ch"
            break ;
#line 472 "dchop.ch"
#line 474 "dchop.ch"
        case cplus::TDOUBLE : 
#line 474 "dchop.ch"
#line 474 "dchop.ch"
        _Case31 : 
#line 474 "dchop.ch"
#line 474 "dchop.ch"
            ;
#line 474 "dchop.ch"
#line 474 "dchop.ch"
            PrintString("double");
#line 474 "dchop.ch"
#line 475 "dchop.ch"
            break ;
#line 475 "dchop.ch"
#line 477 "dchop.ch"
        case cplus::TSHORT : 
#line 477 "dchop.ch"
#line 477 "dchop.ch"
        _Case32 : 
#line 477 "dchop.ch"
#line 477 "dchop.ch"
            ;
#line 477 "dchop.ch"
#line 477 "dchop.ch"
            PrintString("short");
#line 477 "dchop.ch"
#line 478 "dchop.ch"
            break ;
#line 478 "dchop.ch"
#line 480 "dchop.ch"
        case cplus::TINT : 
#line 480 "dchop.ch"
#line 480 "dchop.ch"
        _Case33 : 
#line 480 "dchop.ch"
#line 480 "dchop.ch"
            ;
#line 480 "dchop.ch"
#line 480 "dchop.ch"
            PrintString("int");
#line 480 "dchop.ch"
#line 481 "dchop.ch"
            break ;
#line 481 "dchop.ch"
#line 483 "dchop.ch"
        case cplus::TCHAR : 
#line 483 "dchop.ch"
#line 483 "dchop.ch"
        _Case34 : 
#line 483 "dchop.ch"
#line 483 "dchop.ch"
            ;
#line 483 "dchop.ch"
#line 483 "dchop.ch"
            PrintString("char");
#line 483 "dchop.ch"
#line 484 "dchop.ch"
            break ;
#line 484 "dchop.ch"
#line 486 "dchop.ch"
        case cplus::TFLOAT : 
#line 486 "dchop.ch"
#line 486 "dchop.ch"
        _Case35 : 
#line 486 "dchop.ch"
#line 486 "dchop.ch"
            ;
#line 486 "dchop.ch"
#line 486 "dchop.ch"
            PrintString("float");
#line 486 "dchop.ch"
#line 487 "dchop.ch"
            break ;
#line 487 "dchop.ch"
#line 489 "dchop.ch"
        case cplus::VOID : 
#line 489 "dchop.ch"
#line 489 "dchop.ch"
        _Case36 : 
#line 489 "dchop.ch"
#line 489 "dchop.ch"
            ;
#line 489 "dchop.ch"
#line 489 "dchop.ch"
            PrintString("void");
#line 489 "dchop.ch"
#line 490 "dchop.ch"
            break ;
#line 490 "dchop.ch"
#line 491 "dchop.ch"
        case cplus::TLONG : 
#line 491 "dchop.ch"
#line 491 "dchop.ch"
            (type=SonTree(paramTree, 1));
#line 491 "dchop.ch"
#line 491 "dchop.ch"
#line 491 "dchop.ch"
        _Case37 : 
#line 491 "dchop.ch"
#line 491 "dchop.ch"
            ;
#line 491 "dchop.ch"
#line 492 "dchop.ch"
            PrintString("long");
#line 492 "dchop.ch"
#line 492 "dchop.ch"
            decomp(type);
#line 492 "dchop.ch"
#line 492 "dchop.ch"
#line 493 "dchop.ch"
            break ;
#line 493 "dchop.ch"
#line 494 "dchop.ch"
        case cplus::TSIGNED : 
#line 494 "dchop.ch"
#line 494 "dchop.ch"
            (type=SonTree(paramTree, 1));
#line 494 "dchop.ch"
#line 494 "dchop.ch"
#line 494 "dchop.ch"
        _Case38 : 
#line 494 "dchop.ch"
#line 494 "dchop.ch"
            ;
#line 494 "dchop.ch"
#line 495 "dchop.ch"
            PrintString("signed");
#line 495 "dchop.ch"
#line 495 "dchop.ch"
            decomp(type);
#line 495 "dchop.ch"
#line 495 "dchop.ch"
#line 496 "dchop.ch"
            break ;
#line 496 "dchop.ch"
#line 497 "dchop.ch"
        case cplus::TUNSIGNED : 
#line 497 "dchop.ch"
#line 497 "dchop.ch"
            (type=SonTree(paramTree, 1));
#line 497 "dchop.ch"
#line 497 "dchop.ch"
#line 497 "dchop.ch"
        _Case39 : 
#line 497 "dchop.ch"
#line 497 "dchop.ch"
            ;
#line 497 "dchop.ch"
#line 498 "dchop.ch"
            PrintString("unsigned");
#line 498 "dchop.ch"
#line 498 "dchop.ch"
            decomp(type);
#line 498 "dchop.ch"
#line 498 "dchop.ch"
#line 499 "dchop.ch"
            break ;
#line 499 "dchop.ch"
#line 500 "dchop.ch"
        case cplus::RANGE_MODIFIER : 
#line 500 "dchop.ch"
#line 500 "dchop.ch"
            (val=SonTree(paramTree, 1));
#line 500 "dchop.ch"
#line 500 "dchop.ch"
#line 500 "dchop.ch"
            (declarator=SonTree(paramTree, 2));
#line 500 "dchop.ch"
#line 500 "dchop.ch"
#line 500 "dchop.ch"
        _Case40 : 
#line 500 "dchop.ch"
#line 500 "dchop.ch"
            ;
#line 500 "dchop.ch"
#line 501 "dchop.ch"
            DumpBrainyValue(val);
#line 501 "dchop.ch"
#line 501 "dchop.ch"
#line 502 "dchop.ch"
            if ( declarator ) 
#line 502 "dchop.ch"
#line 503 "dchop.ch"
                decomp(declarator);
#line 503 "dchop.ch"
#line 503 "dchop.ch"
#line 504 "dchop.ch"
            break ;
#line 504 "dchop.ch"
#line 505 "dchop.ch"
        case cplus::TYP_ADDR : 
#line 505 "dchop.ch"
#line 505 "dchop.ch"
            (declarator=SonTree(paramTree, 1));
#line 505 "dchop.ch"
#line 505 "dchop.ch"
#line 505 "dchop.ch"
        _Case41 : 
#line 505 "dchop.ch"
#line 505 "dchop.ch"
            ;
#line 505 "dchop.ch"
#line 506 "dchop.ch"
            SepBefore();
#line 506 "dchop.ch"
#line 506 "dchop.ch"
#line 506 "dchop.ch"
            PrintString("*");
#line 506 "dchop.ch"
#line 506 "dchop.ch"
            decomp(declarator);
#line 506 "dchop.ch"
#line 506 "dchop.ch"
#line 507 "dchop.ch"
            break ;
#line 507 "dchop.ch"
#line 508 "dchop.ch"
        case cplus::TYP : 
#line 508 "dchop.ch"
#line 508 "dchop.ch"
            (declarator=SonTree(paramTree, 1));
#line 508 "dchop.ch"
#line 508 "dchop.ch"
#line 508 "dchop.ch"
        _Case42 : 
#line 508 "dchop.ch"
#line 508 "dchop.ch"
            ;
#line 508 "dchop.ch"
#line 509 "dchop.ch"
            PrintString("(");
#line 509 "dchop.ch"
#line 509 "dchop.ch"
            decomp(declarator);
#line 509 "dchop.ch"
#line 509 "dchop.ch"
#line 509 "dchop.ch"
            PrintString(")");
#line 509 "dchop.ch"
#line 510 "dchop.ch"
            break ;
#line 510 "dchop.ch"
#line 511 "dchop.ch"
        case cplus::IDENT : 
#line 511 "dchop.ch"
#line 511 "dchop.ch"
            (ident=SonTree(paramTree, 1));
#line 511 "dchop.ch"
#line 511 "dchop.ch"
#line 511 "dchop.ch"
        _Case43 : 
#line 511 "dchop.ch"
#line 511 "dchop.ch"
            ;
#line 511 "dchop.ch"
#line 515 "dchop.ch"
            if ( indentFuncFlag ) {
#line 515 "dchop.ch"
#line 516 "dchop.ch"
                                    LNewLine(1);
#line 516 "dchop.ch"
#line 516 "dchop.ch"
#line 517 "dchop.ch"
                                    indentFuncFlag = 0 ;
#line 517 "dchop.ch"
#line 517 "dchop.ch"
                                   }
#line 517 "dchop.ch"
#line 519 "dchop.ch"
            DumpBrainyValue(ident);
#line 519 "dchop.ch"
#line 519 "dchop.ch"
#line 520 "dchop.ch"
            break ;
#line 520 "dchop.ch"
#line 521 "dchop.ch"
        case cplus::TYP_ARRAY : 
#line 521 "dchop.ch"
#line 521 "dchop.ch"
            (declarator=SonTree(paramTree, 1));
#line 521 "dchop.ch"
#line 521 "dchop.ch"
#line 521 "dchop.ch"
            (exp_list=SonTree(paramTree, 2));
#line 521 "dchop.ch"
#line 521 "dchop.ch"
#line 521 "dchop.ch"
        _Case44 : 
#line 521 "dchop.ch"
#line 521 "dchop.ch"
            ;
#line 521 "dchop.ch"
#line 522 "dchop.ch"
            decomp(declarator);
#line 522 "dchop.ch"
#line 522 "dchop.ch"
#line 522 "dchop.ch"
            SepBefore();
#line 522 "dchop.ch"
#line 522 "dchop.ch"
#line 522 "dchop.ch"
            PrintString("[");
#line 522 "dchop.ch"
#line 523 "dchop.ch"
            if ( !((!exp_list)) ) 
#line 523 "dchop.ch"
#line 524 "dchop.ch"
                decomp(exp_list);
#line 524 "dchop.ch"
#line 524 "dchop.ch"
#line 525 "dchop.ch"
            PrintString("]");
#line 525 "dchop.ch"
#line 526 "dchop.ch"
            break ;
#line 526 "dchop.ch"
#line 527 "dchop.ch"
        case cplus::TYP_LIST : 
#line 527 "dchop.ch"
#line 527 "dchop.ch"
            (declarator=SonTree(paramTree, 1));
#line 527 "dchop.ch"
#line 527 "dchop.ch"
#line 527 "dchop.ch"
            (exp_list=SonTree(paramTree, 2));
#line 527 "dchop.ch"
#line 527 "dchop.ch"
#line 527 "dchop.ch"
            (range=SonTree(paramTree, 3));
#line 527 "dchop.ch"
#line 527 "dchop.ch"
#line 527 "dchop.ch"
        _Case45 : 
#line 527 "dchop.ch"
#line 527 "dchop.ch"
            ;
#line 527 "dchop.ch"
#line 528 "dchop.ch"
            decomp(declarator);
#line 528 "dchop.ch"
#line 528 "dchop.ch"
#line 528 "dchop.ch"
            SepBefore();
#line 528 "dchop.ch"
#line 528 "dchop.ch"
#line 528 "dchop.ch"
            PrintString("(");
#line 528 "dchop.ch"
#line 529 "dchop.ch"
            (list=exp_list);
#line 529 "dchop.ch"
#line 529 "dchop.ch"
#line 530 "dchop.ch"
            if ( 1 ) 
#line 530 "dchop.ch"
#line 531 "dchop.ch"
                while ( !((!exp_list)) ) {
#line 531 "dchop.ch"
#line 532 "dchop.ch"
                                            (son=(exp_list?exp_list.Nextl():(PPTREE)0));
#line 532 "dchop.ch"
#line 532 "dchop.ch"
#line 533 "dchop.ch"
                                            decomp(son);
#line 533 "dchop.ch"
#line 533 "dchop.ch"
#line 534 "dchop.ch"
                                            if ( !((!exp_list)) ) {
#line 534 "dchop.ch"
#line 535 "dchop.ch"
                                                                        PrintString(",");
#line 535 "dchop.ch"
#line 535 "dchop.ch"
                                                                        Space(1);
#line 535 "dchop.ch"
#line 535 "dchop.ch"
#line 535 "dchop.ch"
                                                                    }
#line 535 "dchop.ch"
#line 535 "dchop.ch"
                                           }
#line 535 "dchop.ch"
#line 538 "dchop.ch"
            PrintString(")");
#line 538 "dchop.ch"
#line 538 "dchop.ch"
            SepAfter();
#line 538 "dchop.ch"
#line 538 "dchop.ch"
#line 538 "dchop.ch"
            decomp(range);
#line 538 "dchop.ch"
#line 538 "dchop.ch"
#line 539 "dchop.ch"
            break ;
#line 539 "dchop.ch"
#line 540 "dchop.ch"
        case cplus::INITIALIZER : 
#line 540 "dchop.ch"
#line 540 "dchop.ch"
            (init=SonTree(paramTree, 1));
#line 540 "dchop.ch"
#line 540 "dchop.ch"
#line 540 "dchop.ch"
        _Case46 : 
#line 540 "dchop.ch"
#line 540 "dchop.ch"
            ;
#line 540 "dchop.ch"
#line 541 "dchop.ch"
            if ( ((_inter = (PPTREE)init,1) && 
#line 541 "dchop.ch"
                    (NumberTree(_inter) == LIST) &&
#line 541 "dchop.ch"
                    1) ) {
#line 541 "dchop.ch"
#line 542 "dchop.ch"
                            PrintString("{");
#line 542 "dchop.ch"
#line 542 "dchop.ch"
                            SepAfter();
#line 542 "dchop.ch"
#line 542 "dchop.ch"
#line 543 "dchop.ch"
                            while ( init ) {
#line 543 "dchop.ch"
#line 544 "dchop.ch"
                                                (exp=(init?init.Nextl():(PPTREE)0));
#line 544 "dchop.ch"
#line 544 "dchop.ch"
#line 545 "dchop.ch"
                                                decomp(exp);
#line 545 "dchop.ch"
#line 545 "dchop.ch"
#line 546 "dchop.ch"
                                                if ( !((!init)) ) {
#line 546 "dchop.ch"
#line 547 "dchop.ch"
                                                                        PrintString(",");
#line 547 "dchop.ch"
#line 547 "dchop.ch"
                                                                        Space(1);
#line 547 "dchop.ch"
#line 547 "dchop.ch"
#line 547 "dchop.ch"
                                                                    }
#line 547 "dchop.ch"
#line 547 "dchop.ch"
                                            }
#line 547 "dchop.ch"
#line 550 "dchop.ch"
                            SepBefore();
#line 550 "dchop.ch"
#line 550 "dchop.ch"
#line 550 "dchop.ch"
                            PrintString("}");
#line 550 "dchop.ch"
#line 550 "dchop.ch"
                         } else 
#line 550 "dchop.ch"
#line 552 "dchop.ch"
                decomp(init);
#line 552 "dchop.ch"
#line 552 "dchop.ch"
#line 552 "dchop.ch"
#line 553 "dchop.ch"
            break ;
#line 553 "dchop.ch"
#line 554 "dchop.ch"
        case cplus::ABST_DECLARATOR : 
#line 554 "dchop.ch"
#line 554 "dchop.ch"
            (type=SonTree(paramTree, 1));
#line 554 "dchop.ch"
#line 554 "dchop.ch"
#line 554 "dchop.ch"
            (declarator=SonTree(paramTree, 2));
#line 554 "dchop.ch"
#line 554 "dchop.ch"
#line 554 "dchop.ch"
        _Case47 : 
#line 554 "dchop.ch"
#line 554 "dchop.ch"
            ;
#line 554 "dchop.ch"
#line 555 "dchop.ch"
            decomp(type);
#line 555 "dchop.ch"
#line 555 "dchop.ch"
#line 555 "dchop.ch"
            decomp(declarator);
#line 555 "dchop.ch"
#line 555 "dchop.ch"
#line 556 "dchop.ch"
            break ;
#line 556 "dchop.ch"
#line 557 "dchop.ch"
        case cplus::NEW_DECLARATOR : 
#line 557 "dchop.ch"
#line 557 "dchop.ch"
            (type=SonTree(paramTree, 1));
#line 557 "dchop.ch"
#line 557 "dchop.ch"
#line 557 "dchop.ch"
            (declarator=SonTree(paramTree, 2));
#line 557 "dchop.ch"
#line 557 "dchop.ch"
#line 557 "dchop.ch"
        _Case48 : 
#line 557 "dchop.ch"
#line 557 "dchop.ch"
            ;
#line 557 "dchop.ch"
#line 558 "dchop.ch"
            decomp(type);
#line 558 "dchop.ch"
#line 558 "dchop.ch"
#line 558 "dchop.ch"
            decomp(declarator);
#line 558 "dchop.ch"
#line 558 "dchop.ch"
#line 559 "dchop.ch"
            break ;
#line 559 "dchop.ch"
#line 560 "dchop.ch"
        case cplus::DECLARATOR : 
#line 560 "dchop.ch"
#line 560 "dchop.ch"
            (type=SonTree(paramTree, 1));
#line 560 "dchop.ch"
#line 560 "dchop.ch"
#line 560 "dchop.ch"
            (declarator=SonTree(paramTree, 2));
#line 560 "dchop.ch"
#line 560 "dchop.ch"
#line 560 "dchop.ch"
        _Case49 : 
#line 560 "dchop.ch"
#line 560 "dchop.ch"
            ;
#line 560 "dchop.ch"
#line 561 "dchop.ch"
            decomp(type);
#line 561 "dchop.ch"
#line 561 "dchop.ch"
#line 561 "dchop.ch"
            decomp(declarator);
#line 561 "dchop.ch"
#line 561 "dchop.ch"
#line 562 "dchop.ch"
            break ;
#line 562 "dchop.ch"
#line 563 "dchop.ch"
        case cplus::TYP_BIT : 
#line 563 "dchop.ch"
#line 563 "dchop.ch"
            (ident=SonTree(paramTree, 1));
#line 563 "dchop.ch"
#line 563 "dchop.ch"
#line 563 "dchop.ch"
            (exp=SonTree(paramTree, 2));
#line 563 "dchop.ch"
#line 563 "dchop.ch"
#line 563 "dchop.ch"
        _Case50 : 
#line 563 "dchop.ch"
#line 563 "dchop.ch"
            ;
#line 563 "dchop.ch"
#line 564 "dchop.ch"
            decomp(ident);
#line 564 "dchop.ch"
#line 564 "dchop.ch"
#line 564 "dchop.ch"
            Space(1);
#line 564 "dchop.ch"
#line 564 "dchop.ch"
#line 564 "dchop.ch"
            PrintString(":");
#line 564 "dchop.ch"
#line 564 "dchop.ch"
            Space(1);
#line 564 "dchop.ch"
#line 564 "dchop.ch"
#line 564 "dchop.ch"
            decomp(exp);
#line 564 "dchop.ch"
#line 564 "dchop.ch"
#line 565 "dchop.ch"
            break ;
#line 565 "dchop.ch"
#line 566 "dchop.ch"
        case cplus::EXP_SEQ : 
#line 566 "dchop.ch"
#line 566 "dchop.ch"
            (list=SonTree(paramTree, 1));
#line 566 "dchop.ch"
#line 566 "dchop.ch"
#line 566 "dchop.ch"
        _Case51 : 
#line 566 "dchop.ch"
#line 566 "dchop.ch"
            ;
#line 566 "dchop.ch"
#line 567 "dchop.ch"
            statementf = 0 ;
#line 567 "dchop.ch"
#line 568 "dchop.ch"
            while ( !((!list)) ) {
#line 568 "dchop.ch"
#line 569 "dchop.ch"
                                    (exp=(list?list.Nextl():(PPTREE)0));
#line 569 "dchop.ch"
#line 569 "dchop.ch"
#line 570 "dchop.ch"
                                    decomp(exp);
#line 570 "dchop.ch"
#line 570 "dchop.ch"
#line 571 "dchop.ch"
                                    if ( !((!list)) ) {
#line 571 "dchop.ch"
#line 572 "dchop.ch"
                                                            PrintString(",");
#line 572 "dchop.ch"
#line 572 "dchop.ch"
                                                            Space(1);
#line 572 "dchop.ch"
#line 572 "dchop.ch"
#line 572 "dchop.ch"
                                                        }
#line 572 "dchop.ch"
#line 572 "dchop.ch"
                                   }
#line 572 "dchop.ch"
#line 575 "dchop.ch"
            break ;
#line 575 "dchop.ch"
#line 576 "dchop.ch"
        case cplus::AFF : 
#line 576 "dchop.ch"
#line 576 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 576 "dchop.ch"
#line 576 "dchop.ch"
#line 576 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 576 "dchop.ch"
#line 576 "dchop.ch"
#line 576 "dchop.ch"
        _Case52 : 
#line 576 "dchop.ch"
#line 576 "dchop.ch"
            ;
#line 576 "dchop.ch"
#line 577 "dchop.ch"
            statementf = 0 ;
#line 577 "dchop.ch"
#line 578 "dchop.ch"
            decomp(exp1);
#line 578 "dchop.ch"
#line 578 "dchop.ch"
#line 578 "dchop.ch"
            Space(1);
#line 578 "dchop.ch"
#line 578 "dchop.ch"
#line 578 "dchop.ch"
            PrintString("=");
#line 578 "dchop.ch"
#line 579 "dchop.ch"
            if ( assignAlign && IsTop(paramTree) != - 1 ) 
#line 579 "dchop.ch"
#line 580 "dchop.ch"
                Space(2);
#line 580 "dchop.ch"
#line 580 "dchop.ch"
            else 
#line 580 "dchop.ch"
#line 582 "dchop.ch"
                Space(1);
#line 582 "dchop.ch"
#line 582 "dchop.ch"
#line 582 "dchop.ch"
#line 583 "dchop.ch"
            decomp(exp2);
#line 583 "dchop.ch"
#line 583 "dchop.ch"
#line 584 "dchop.ch"
            if ( oldStatement ) {
#line 584 "dchop.ch"
#line 585 "dchop.ch"
                                    SepBefore();
#line 585 "dchop.ch"
#line 585 "dchop.ch"
#line 585 "dchop.ch"
                                    PrintString(";");
#line 585 "dchop.ch"
#line 585 "dchop.ch"
                                 }
#line 585 "dchop.ch"
#line 587 "dchop.ch"
            break ;
#line 587 "dchop.ch"
#line 588 "dchop.ch"
        case cplus::MUL_AFF : 
#line 588 "dchop.ch"
#line 588 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 588 "dchop.ch"
#line 588 "dchop.ch"
#line 588 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 588 "dchop.ch"
#line 588 "dchop.ch"
#line 588 "dchop.ch"
        _Case53 : 
#line 588 "dchop.ch"
#line 588 "dchop.ch"
            ;
#line 588 "dchop.ch"
#line 589 "dchop.ch"
            statementf = 0 ;
#line 589 "dchop.ch"
#line 590 "dchop.ch"
            decomp(exp1);
#line 590 "dchop.ch"
#line 590 "dchop.ch"
#line 590 "dchop.ch"
            Space(1);
#line 590 "dchop.ch"
#line 590 "dchop.ch"
#line 590 "dchop.ch"
            PrintString("*=");
#line 590 "dchop.ch"
#line 590 "dchop.ch"
            Space(1);
#line 590 "dchop.ch"
#line 590 "dchop.ch"
#line 590 "dchop.ch"
            decomp(exp2);
#line 590 "dchop.ch"
#line 590 "dchop.ch"
#line 591 "dchop.ch"
            if ( oldStatement ) {
#line 591 "dchop.ch"
#line 592 "dchop.ch"
                                    SepBefore();
#line 592 "dchop.ch"
#line 592 "dchop.ch"
#line 592 "dchop.ch"
                                    PrintString(";");
#line 592 "dchop.ch"
#line 592 "dchop.ch"
                                 }
#line 592 "dchop.ch"
#line 594 "dchop.ch"
            break ;
#line 594 "dchop.ch"
#line 595 "dchop.ch"
        case cplus::DIV_AFF : 
#line 595 "dchop.ch"
#line 595 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 595 "dchop.ch"
#line 595 "dchop.ch"
#line 595 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 595 "dchop.ch"
#line 595 "dchop.ch"
#line 595 "dchop.ch"
        _Case54 : 
#line 595 "dchop.ch"
#line 595 "dchop.ch"
            ;
#line 595 "dchop.ch"
#line 596 "dchop.ch"
            statementf = 0 ;
#line 596 "dchop.ch"
#line 597 "dchop.ch"
            decomp(exp1);
#line 597 "dchop.ch"
#line 597 "dchop.ch"
#line 597 "dchop.ch"
            Space(1);
#line 597 "dchop.ch"
#line 597 "dchop.ch"
#line 597 "dchop.ch"
            PrintString("/=");
#line 597 "dchop.ch"
#line 597 "dchop.ch"
            Space(1);
#line 597 "dchop.ch"
#line 597 "dchop.ch"
#line 597 "dchop.ch"
            decomp(exp2);
#line 597 "dchop.ch"
#line 597 "dchop.ch"
#line 598 "dchop.ch"
            if ( oldStatement ) {
#line 598 "dchop.ch"
#line 599 "dchop.ch"
                                    SepBefore();
#line 599 "dchop.ch"
#line 599 "dchop.ch"
#line 599 "dchop.ch"
                                    PrintString(";");
#line 599 "dchop.ch"
#line 599 "dchop.ch"
                                 }
#line 599 "dchop.ch"
#line 601 "dchop.ch"
            break ;
#line 601 "dchop.ch"
#line 602 "dchop.ch"
        case cplus::REM_AFF : 
#line 602 "dchop.ch"
#line 602 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 602 "dchop.ch"
#line 602 "dchop.ch"
#line 602 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 602 "dchop.ch"
#line 602 "dchop.ch"
#line 602 "dchop.ch"
        _Case55 : 
#line 602 "dchop.ch"
#line 602 "dchop.ch"
            ;
#line 602 "dchop.ch"
#line 603 "dchop.ch"
            statementf = 0 ;
#line 603 "dchop.ch"
#line 604 "dchop.ch"
            decomp(exp1);
#line 604 "dchop.ch"
#line 604 "dchop.ch"
#line 604 "dchop.ch"
            Space(1);
#line 604 "dchop.ch"
#line 604 "dchop.ch"
#line 604 "dchop.ch"
            PrintString("%=");
#line 604 "dchop.ch"
#line 604 "dchop.ch"
            Space(1);
#line 604 "dchop.ch"
#line 604 "dchop.ch"
#line 604 "dchop.ch"
            decomp(exp2);
#line 604 "dchop.ch"
#line 604 "dchop.ch"
#line 605 "dchop.ch"
            if ( oldStatement ) {
#line 605 "dchop.ch"
#line 606 "dchop.ch"
                                    SepBefore();
#line 606 "dchop.ch"
#line 606 "dchop.ch"
#line 606 "dchop.ch"
                                    PrintString(";");
#line 606 "dchop.ch"
#line 606 "dchop.ch"
                                 }
#line 606 "dchop.ch"
#line 608 "dchop.ch"
            break ;
#line 608 "dchop.ch"
#line 609 "dchop.ch"
        case cplus::PLU_AFF : 
#line 609 "dchop.ch"
#line 609 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 609 "dchop.ch"
#line 609 "dchop.ch"
#line 609 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 609 "dchop.ch"
#line 609 "dchop.ch"
#line 609 "dchop.ch"
        _Case56 : 
#line 609 "dchop.ch"
#line 609 "dchop.ch"
            ;
#line 609 "dchop.ch"
#line 610 "dchop.ch"
            statementf = 0 ;
#line 610 "dchop.ch"
#line 611 "dchop.ch"
            decomp(exp1);
#line 611 "dchop.ch"
#line 611 "dchop.ch"
#line 611 "dchop.ch"
            Space(1);
#line 611 "dchop.ch"
#line 611 "dchop.ch"
#line 611 "dchop.ch"
            PrintString("+=");
#line 611 "dchop.ch"
#line 611 "dchop.ch"
            Space(1);
#line 611 "dchop.ch"
#line 611 "dchop.ch"
#line 611 "dchop.ch"
            decomp(exp2);
#line 611 "dchop.ch"
#line 611 "dchop.ch"
#line 612 "dchop.ch"
            if ( oldStatement ) {
#line 612 "dchop.ch"
#line 613 "dchop.ch"
                                    SepBefore();
#line 613 "dchop.ch"
#line 613 "dchop.ch"
#line 613 "dchop.ch"
                                    PrintString(";");
#line 613 "dchop.ch"
#line 613 "dchop.ch"
                                 }
#line 613 "dchop.ch"
#line 615 "dchop.ch"
            break ;
#line 615 "dchop.ch"
#line 616 "dchop.ch"
        case cplus::MIN_AFF : 
#line 616 "dchop.ch"
#line 616 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 616 "dchop.ch"
#line 616 "dchop.ch"
#line 616 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 616 "dchop.ch"
#line 616 "dchop.ch"
#line 616 "dchop.ch"
        _Case57 : 
#line 616 "dchop.ch"
#line 616 "dchop.ch"
            ;
#line 616 "dchop.ch"
#line 617 "dchop.ch"
            statementf = 0 ;
#line 617 "dchop.ch"
#line 618 "dchop.ch"
            decomp(exp1);
#line 618 "dchop.ch"
#line 618 "dchop.ch"
#line 618 "dchop.ch"
            Space(1);
#line 618 "dchop.ch"
#line 618 "dchop.ch"
#line 618 "dchop.ch"
            PrintString("-=");
#line 618 "dchop.ch"
#line 618 "dchop.ch"
            Space(1);
#line 618 "dchop.ch"
#line 618 "dchop.ch"
#line 618 "dchop.ch"
            decomp(exp2);
#line 618 "dchop.ch"
#line 618 "dchop.ch"
#line 619 "dchop.ch"
            if ( oldStatement ) {
#line 619 "dchop.ch"
#line 620 "dchop.ch"
                                    SepBefore();
#line 620 "dchop.ch"
#line 620 "dchop.ch"
#line 620 "dchop.ch"
                                    PrintString(";");
#line 620 "dchop.ch"
#line 620 "dchop.ch"
                                 }
#line 620 "dchop.ch"
#line 622 "dchop.ch"
            break ;
#line 622 "dchop.ch"
#line 623 "dchop.ch"
        case cplus::LSH_AFF : 
#line 623 "dchop.ch"
#line 623 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 623 "dchop.ch"
#line 623 "dchop.ch"
#line 623 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 623 "dchop.ch"
#line 623 "dchop.ch"
#line 623 "dchop.ch"
        _Case58 : 
#line 623 "dchop.ch"
#line 623 "dchop.ch"
            ;
#line 623 "dchop.ch"
#line 624 "dchop.ch"
            statementf = 0 ;
#line 624 "dchop.ch"
#line 625 "dchop.ch"
            decomp(exp1);
#line 625 "dchop.ch"
#line 625 "dchop.ch"
#line 625 "dchop.ch"
            Space(1);
#line 625 "dchop.ch"
#line 625 "dchop.ch"
#line 625 "dchop.ch"
            PrintString("<<=");
#line 625 "dchop.ch"
#line 625 "dchop.ch"
            Space(1);
#line 625 "dchop.ch"
#line 625 "dchop.ch"
#line 625 "dchop.ch"
            decomp(exp2);
#line 625 "dchop.ch"
#line 625 "dchop.ch"
#line 626 "dchop.ch"
            if ( oldStatement ) {
#line 626 "dchop.ch"
#line 627 "dchop.ch"
                                    SepBefore();
#line 627 "dchop.ch"
#line 627 "dchop.ch"
#line 627 "dchop.ch"
                                    PrintString(";");
#line 627 "dchop.ch"
#line 627 "dchop.ch"
                                 }
#line 627 "dchop.ch"
#line 629 "dchop.ch"
            break ;
#line 629 "dchop.ch"
#line 630 "dchop.ch"
        case cplus::RSH_AFF : 
#line 630 "dchop.ch"
#line 630 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 630 "dchop.ch"
#line 630 "dchop.ch"
#line 630 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 630 "dchop.ch"
#line 630 "dchop.ch"
#line 630 "dchop.ch"
        _Case59 : 
#line 630 "dchop.ch"
#line 630 "dchop.ch"
            ;
#line 630 "dchop.ch"
#line 631 "dchop.ch"
            statementf = 0 ;
#line 631 "dchop.ch"
#line 632 "dchop.ch"
            decomp(exp1);
#line 632 "dchop.ch"
#line 632 "dchop.ch"
#line 632 "dchop.ch"
            Space(1);
#line 632 "dchop.ch"
#line 632 "dchop.ch"
#line 632 "dchop.ch"
            PrintString(">>=");
#line 632 "dchop.ch"
#line 632 "dchop.ch"
            Space(1);
#line 632 "dchop.ch"
#line 632 "dchop.ch"
#line 632 "dchop.ch"
            decomp(exp2);
#line 632 "dchop.ch"
#line 632 "dchop.ch"
#line 633 "dchop.ch"
            if ( oldStatement ) {
#line 633 "dchop.ch"
#line 634 "dchop.ch"
                                    SepBefore();
#line 634 "dchop.ch"
#line 634 "dchop.ch"
#line 634 "dchop.ch"
                                    PrintString(";");
#line 634 "dchop.ch"
#line 634 "dchop.ch"
                                 }
#line 634 "dchop.ch"
#line 636 "dchop.ch"
            break ;
#line 636 "dchop.ch"
#line 637 "dchop.ch"
        case cplus::AND_AFF : 
#line 637 "dchop.ch"
#line 637 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 637 "dchop.ch"
#line 637 "dchop.ch"
#line 637 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 637 "dchop.ch"
#line 637 "dchop.ch"
#line 637 "dchop.ch"
        _Case60 : 
#line 637 "dchop.ch"
#line 637 "dchop.ch"
            ;
#line 637 "dchop.ch"
#line 638 "dchop.ch"
            statementf = 0 ;
#line 638 "dchop.ch"
#line 639 "dchop.ch"
            decomp(exp1);
#line 639 "dchop.ch"
#line 639 "dchop.ch"
#line 639 "dchop.ch"
            Space(1);
#line 639 "dchop.ch"
#line 639 "dchop.ch"
#line 639 "dchop.ch"
            PrintString("&=");
#line 639 "dchop.ch"
#line 639 "dchop.ch"
            Space(1);
#line 639 "dchop.ch"
#line 639 "dchop.ch"
#line 639 "dchop.ch"
            decomp(exp2);
#line 639 "dchop.ch"
#line 639 "dchop.ch"
#line 640 "dchop.ch"
            if ( oldStatement ) {
#line 640 "dchop.ch"
#line 641 "dchop.ch"
                                    SepBefore();
#line 641 "dchop.ch"
#line 641 "dchop.ch"
#line 641 "dchop.ch"
                                    PrintString(";");
#line 641 "dchop.ch"
#line 641 "dchop.ch"
                                 }
#line 641 "dchop.ch"
#line 643 "dchop.ch"
            break ;
#line 643 "dchop.ch"
#line 644 "dchop.ch"
        case cplus::OR_AFF : 
#line 644 "dchop.ch"
#line 644 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 644 "dchop.ch"
#line 644 "dchop.ch"
#line 644 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 644 "dchop.ch"
#line 644 "dchop.ch"
#line 644 "dchop.ch"
        _Case61 : 
#line 644 "dchop.ch"
#line 644 "dchop.ch"
            ;
#line 644 "dchop.ch"
#line 645 "dchop.ch"
            statementf = 0 ;
#line 645 "dchop.ch"
#line 646 "dchop.ch"
            decomp(exp1);
#line 646 "dchop.ch"
#line 646 "dchop.ch"
#line 646 "dchop.ch"
            Space(1);
#line 646 "dchop.ch"
#line 646 "dchop.ch"
#line 646 "dchop.ch"
            PrintString("|=");
#line 646 "dchop.ch"
#line 646 "dchop.ch"
            Space(1);
#line 646 "dchop.ch"
#line 646 "dchop.ch"
#line 646 "dchop.ch"
            decomp(exp2);
#line 646 "dchop.ch"
#line 646 "dchop.ch"
#line 647 "dchop.ch"
            if ( oldStatement ) {
#line 647 "dchop.ch"
#line 648 "dchop.ch"
                                    SepBefore();
#line 648 "dchop.ch"
#line 648 "dchop.ch"
#line 648 "dchop.ch"
                                    PrintString(";");
#line 648 "dchop.ch"
#line 648 "dchop.ch"
                                 }
#line 648 "dchop.ch"
#line 650 "dchop.ch"
            break ;
#line 650 "dchop.ch"
#line 651 "dchop.ch"
        case cplus::XOR_AFF : 
#line 651 "dchop.ch"
#line 651 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 651 "dchop.ch"
#line 651 "dchop.ch"
#line 651 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 651 "dchop.ch"
#line 651 "dchop.ch"
#line 651 "dchop.ch"
        _Case62 : 
#line 651 "dchop.ch"
#line 651 "dchop.ch"
            ;
#line 651 "dchop.ch"
#line 652 "dchop.ch"
            statementf = 0 ;
#line 652 "dchop.ch"
#line 653 "dchop.ch"
            decomp(exp1);
#line 653 "dchop.ch"
#line 653 "dchop.ch"
#line 653 "dchop.ch"
            Space(1);
#line 653 "dchop.ch"
#line 653 "dchop.ch"
#line 653 "dchop.ch"
            PrintString("^=");
#line 653 "dchop.ch"
#line 653 "dchop.ch"
            Space(1);
#line 653 "dchop.ch"
#line 653 "dchop.ch"
#line 653 "dchop.ch"
            decomp(exp2);
#line 653 "dchop.ch"
#line 653 "dchop.ch"
#line 654 "dchop.ch"
            if ( oldStatement ) {
#line 654 "dchop.ch"
#line 655 "dchop.ch"
                                    SepBefore();
#line 655 "dchop.ch"
#line 655 "dchop.ch"
#line 655 "dchop.ch"
                                    PrintString(";");
#line 655 "dchop.ch"
#line 655 "dchop.ch"
                                 }
#line 655 "dchop.ch"
#line 657 "dchop.ch"
            break ;
#line 657 "dchop.ch"
#line 658 "dchop.ch"
        case cplus::COND_AFF : 
#line 658 "dchop.ch"
#line 658 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 658 "dchop.ch"
#line 658 "dchop.ch"
#line 658 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 658 "dchop.ch"
#line 658 "dchop.ch"
#line 658 "dchop.ch"
            (exp3=SonTree(paramTree, 3));
#line 658 "dchop.ch"
#line 658 "dchop.ch"
#line 658 "dchop.ch"
        _Case63 : 
#line 658 "dchop.ch"
#line 658 "dchop.ch"
            ;
#line 658 "dchop.ch"
#line 659 "dchop.ch"
            statementf = 0 ;
#line 659 "dchop.ch"
#line 660 "dchop.ch"
            decomp(exp1);
#line 660 "dchop.ch"
#line 660 "dchop.ch"
#line 660 "dchop.ch"
            Space(1);
#line 660 "dchop.ch"
#line 660 "dchop.ch"
#line 660 "dchop.ch"
            PrintString("?");
#line 660 "dchop.ch"
#line 660 "dchop.ch"
            Space(1);
#line 660 "dchop.ch"
#line 660 "dchop.ch"
#line 660 "dchop.ch"
            decomp(exp2);
#line 660 "dchop.ch"
#line 660 "dchop.ch"
#line 660 "dchop.ch"
            Space(1);
#line 660 "dchop.ch"
#line 660 "dchop.ch"
#line 660 "dchop.ch"
            PrintString(":");
#line 660 "dchop.ch"
#line 660 "dchop.ch"
            Space(1);
#line 660 "dchop.ch"
#line 660 "dchop.ch"
#line 660 "dchop.ch"
            decomp(exp3);
#line 660 "dchop.ch"
#line 660 "dchop.ch"
#line 661 "dchop.ch"
            if ( oldStatement ) {
#line 661 "dchop.ch"
#line 662 "dchop.ch"
                                    SepBefore();
#line 662 "dchop.ch"
#line 662 "dchop.ch"
#line 662 "dchop.ch"
                                    PrintString(";");
#line 662 "dchop.ch"
#line 662 "dchop.ch"
                                 }
#line 662 "dchop.ch"
#line 664 "dchop.ch"
            break ;
#line 664 "dchop.ch"
#line 665 "dchop.ch"
        case cplus::OR : 
#line 665 "dchop.ch"
#line 665 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 665 "dchop.ch"
#line 665 "dchop.ch"
#line 665 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 665 "dchop.ch"
#line 665 "dchop.ch"
#line 665 "dchop.ch"
        _Case64 : 
#line 665 "dchop.ch"
#line 665 "dchop.ch"
            ;
#line 665 "dchop.ch"
#line 666 "dchop.ch"
            decomp(exp1);
#line 666 "dchop.ch"
#line 666 "dchop.ch"
#line 666 "dchop.ch"
            Space(1);
#line 666 "dchop.ch"
#line 666 "dchop.ch"
#line 666 "dchop.ch"
            PrintString("||");
#line 666 "dchop.ch"
#line 666 "dchop.ch"
            Space(1);
#line 666 "dchop.ch"
#line 666 "dchop.ch"
#line 666 "dchop.ch"
            decomp(exp2);
#line 666 "dchop.ch"
#line 666 "dchop.ch"
#line 667 "dchop.ch"
            break ;
#line 667 "dchop.ch"
#line 668 "dchop.ch"
        case cplus::AND : 
#line 668 "dchop.ch"
#line 668 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 668 "dchop.ch"
#line 668 "dchop.ch"
#line 668 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 668 "dchop.ch"
#line 668 "dchop.ch"
#line 668 "dchop.ch"
        _Case65 : 
#line 668 "dchop.ch"
#line 668 "dchop.ch"
            ;
#line 668 "dchop.ch"
#line 669 "dchop.ch"
            decomp(exp1);
#line 669 "dchop.ch"
#line 669 "dchop.ch"
#line 669 "dchop.ch"
            Space(1);
#line 669 "dchop.ch"
#line 669 "dchop.ch"
#line 669 "dchop.ch"
            PrintString("&&");
#line 669 "dchop.ch"
#line 669 "dchop.ch"
            Space(1);
#line 669 "dchop.ch"
#line 669 "dchop.ch"
#line 669 "dchop.ch"
            decomp(exp2);
#line 669 "dchop.ch"
#line 669 "dchop.ch"
#line 670 "dchop.ch"
            break ;
#line 670 "dchop.ch"
#line 671 "dchop.ch"
        case cplus::LOR : 
#line 671 "dchop.ch"
#line 671 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 671 "dchop.ch"
#line 671 "dchop.ch"
#line 671 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 671 "dchop.ch"
#line 671 "dchop.ch"
#line 671 "dchop.ch"
        _Case66 : 
#line 671 "dchop.ch"
#line 671 "dchop.ch"
            ;
#line 671 "dchop.ch"
#line 672 "dchop.ch"
            decomp(exp1);
#line 672 "dchop.ch"
#line 672 "dchop.ch"
#line 672 "dchop.ch"
            Space(1);
#line 672 "dchop.ch"
#line 672 "dchop.ch"
#line 672 "dchop.ch"
            PrintString("|");
#line 672 "dchop.ch"
#line 672 "dchop.ch"
            Space(1);
#line 672 "dchop.ch"
#line 672 "dchop.ch"
#line 672 "dchop.ch"
            decomp(exp2);
#line 672 "dchop.ch"
#line 672 "dchop.ch"
#line 673 "dchop.ch"
            break ;
#line 673 "dchop.ch"
#line 674 "dchop.ch"
        case cplus::LAND : 
#line 674 "dchop.ch"
#line 674 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 674 "dchop.ch"
#line 674 "dchop.ch"
#line 674 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 674 "dchop.ch"
#line 674 "dchop.ch"
#line 674 "dchop.ch"
        _Case67 : 
#line 674 "dchop.ch"
#line 674 "dchop.ch"
            ;
#line 674 "dchop.ch"
#line 675 "dchop.ch"
            decomp(exp1);
#line 675 "dchop.ch"
#line 675 "dchop.ch"
#line 675 "dchop.ch"
            Space(1);
#line 675 "dchop.ch"
#line 675 "dchop.ch"
#line 675 "dchop.ch"
            PrintString("&");
#line 675 "dchop.ch"
#line 675 "dchop.ch"
            Space(1);
#line 675 "dchop.ch"
#line 675 "dchop.ch"
#line 675 "dchop.ch"
            decomp(exp2);
#line 675 "dchop.ch"
#line 675 "dchop.ch"
#line 676 "dchop.ch"
            break ;
#line 676 "dchop.ch"
#line 677 "dchop.ch"
        case cplus::LXOR : 
#line 677 "dchop.ch"
#line 677 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 677 "dchop.ch"
#line 677 "dchop.ch"
#line 677 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 677 "dchop.ch"
#line 677 "dchop.ch"
#line 677 "dchop.ch"
        _Case68 : 
#line 677 "dchop.ch"
#line 677 "dchop.ch"
            ;
#line 677 "dchop.ch"
#line 678 "dchop.ch"
            decomp(exp1);
#line 678 "dchop.ch"
#line 678 "dchop.ch"
#line 678 "dchop.ch"
            Space(1);
#line 678 "dchop.ch"
#line 678 "dchop.ch"
#line 678 "dchop.ch"
            PrintString("^");
#line 678 "dchop.ch"
#line 678 "dchop.ch"
            Space(1);
#line 678 "dchop.ch"
#line 678 "dchop.ch"
#line 678 "dchop.ch"
            decomp(exp2);
#line 678 "dchop.ch"
#line 678 "dchop.ch"
#line 679 "dchop.ch"
            break ;
#line 679 "dchop.ch"
#line 680 "dchop.ch"
        case cplus::EQU : 
#line 680 "dchop.ch"
#line 680 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 680 "dchop.ch"
#line 680 "dchop.ch"
#line 680 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 680 "dchop.ch"
#line 680 "dchop.ch"
#line 680 "dchop.ch"
        _Case69 : 
#line 680 "dchop.ch"
#line 680 "dchop.ch"
            ;
#line 680 "dchop.ch"
#line 681 "dchop.ch"
            decomp(exp1);
#line 681 "dchop.ch"
#line 681 "dchop.ch"
#line 681 "dchop.ch"
            Space(1);
#line 681 "dchop.ch"
#line 681 "dchop.ch"
#line 681 "dchop.ch"
            PrintString("==");
#line 681 "dchop.ch"
#line 681 "dchop.ch"
            Space(1);
#line 681 "dchop.ch"
#line 681 "dchop.ch"
#line 681 "dchop.ch"
            decomp(exp2);
#line 681 "dchop.ch"
#line 681 "dchop.ch"
#line 682 "dchop.ch"
            break ;
#line 682 "dchop.ch"
#line 683 "dchop.ch"
        case cplus::NEQU : 
#line 683 "dchop.ch"
#line 683 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 683 "dchop.ch"
#line 683 "dchop.ch"
#line 683 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 683 "dchop.ch"
#line 683 "dchop.ch"
#line 683 "dchop.ch"
        _Case70 : 
#line 683 "dchop.ch"
#line 683 "dchop.ch"
            ;
#line 683 "dchop.ch"
#line 684 "dchop.ch"
            decomp(exp1);
#line 684 "dchop.ch"
#line 684 "dchop.ch"
#line 684 "dchop.ch"
            Space(1);
#line 684 "dchop.ch"
#line 684 "dchop.ch"
#line 684 "dchop.ch"
            PrintString("!=");
#line 684 "dchop.ch"
#line 684 "dchop.ch"
            Space(1);
#line 684 "dchop.ch"
#line 684 "dchop.ch"
#line 684 "dchop.ch"
            decomp(exp2);
#line 684 "dchop.ch"
#line 684 "dchop.ch"
#line 685 "dchop.ch"
            break ;
#line 685 "dchop.ch"
#line 686 "dchop.ch"
        case cplus::LEQU : 
#line 686 "dchop.ch"
#line 686 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 686 "dchop.ch"
#line 686 "dchop.ch"
#line 686 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 686 "dchop.ch"
#line 686 "dchop.ch"
#line 686 "dchop.ch"
        _Case71 : 
#line 686 "dchop.ch"
#line 686 "dchop.ch"
            ;
#line 686 "dchop.ch"
#line 687 "dchop.ch"
            decomp(exp1);
#line 687 "dchop.ch"
#line 687 "dchop.ch"
#line 687 "dchop.ch"
            Space(1);
#line 687 "dchop.ch"
#line 687 "dchop.ch"
#line 687 "dchop.ch"
            PrintString("<=");
#line 687 "dchop.ch"
#line 687 "dchop.ch"
            Space(1);
#line 687 "dchop.ch"
#line 687 "dchop.ch"
#line 687 "dchop.ch"
            decomp(exp2);
#line 687 "dchop.ch"
#line 687 "dchop.ch"
#line 688 "dchop.ch"
            break ;
#line 688 "dchop.ch"
#line 689 "dchop.ch"
        case cplus::GEQU : 
#line 689 "dchop.ch"
#line 689 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 689 "dchop.ch"
#line 689 "dchop.ch"
#line 689 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 689 "dchop.ch"
#line 689 "dchop.ch"
#line 689 "dchop.ch"
        _Case72 : 
#line 689 "dchop.ch"
#line 689 "dchop.ch"
            ;
#line 689 "dchop.ch"
#line 690 "dchop.ch"
            decomp(exp1);
#line 690 "dchop.ch"
#line 690 "dchop.ch"
#line 690 "dchop.ch"
            Space(1);
#line 690 "dchop.ch"
#line 690 "dchop.ch"
#line 690 "dchop.ch"
            PrintString(">=");
#line 690 "dchop.ch"
#line 690 "dchop.ch"
            Space(1);
#line 690 "dchop.ch"
#line 690 "dchop.ch"
#line 690 "dchop.ch"
            decomp(exp2);
#line 690 "dchop.ch"
#line 690 "dchop.ch"
#line 691 "dchop.ch"
            break ;
#line 691 "dchop.ch"
#line 692 "dchop.ch"
        case cplus::GT : 
#line 692 "dchop.ch"
#line 692 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 692 "dchop.ch"
#line 692 "dchop.ch"
#line 692 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 692 "dchop.ch"
#line 692 "dchop.ch"
#line 692 "dchop.ch"
        _Case73 : 
#line 692 "dchop.ch"
#line 692 "dchop.ch"
            ;
#line 692 "dchop.ch"
#line 693 "dchop.ch"
            decomp(exp1);
#line 693 "dchop.ch"
#line 693 "dchop.ch"
#line 693 "dchop.ch"
            Space(1);
#line 693 "dchop.ch"
#line 693 "dchop.ch"
#line 693 "dchop.ch"
            PrintString(">");
#line 693 "dchop.ch"
#line 693 "dchop.ch"
            Space(1);
#line 693 "dchop.ch"
#line 693 "dchop.ch"
#line 693 "dchop.ch"
            decomp(exp2);
#line 693 "dchop.ch"
#line 693 "dchop.ch"
#line 694 "dchop.ch"
            break ;
#line 694 "dchop.ch"
#line 695 "dchop.ch"
        case cplus::LT : 
#line 695 "dchop.ch"
#line 695 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 695 "dchop.ch"
#line 695 "dchop.ch"
#line 695 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 695 "dchop.ch"
#line 695 "dchop.ch"
#line 695 "dchop.ch"
        _Case74 : 
#line 695 "dchop.ch"
#line 695 "dchop.ch"
            ;
#line 695 "dchop.ch"
#line 696 "dchop.ch"
            decomp(exp1);
#line 696 "dchop.ch"
#line 696 "dchop.ch"
#line 696 "dchop.ch"
            Space(1);
#line 696 "dchop.ch"
#line 696 "dchop.ch"
#line 696 "dchop.ch"
            PrintString("<");
#line 696 "dchop.ch"
#line 696 "dchop.ch"
            Space(1);
#line 696 "dchop.ch"
#line 696 "dchop.ch"
#line 696 "dchop.ch"
            decomp(exp2);
#line 696 "dchop.ch"
#line 696 "dchop.ch"
#line 697 "dchop.ch"
            break ;
#line 697 "dchop.ch"
#line 698 "dchop.ch"
        case cplus::LSHI : 
#line 698 "dchop.ch"
#line 698 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 698 "dchop.ch"
#line 698 "dchop.ch"
#line 698 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 698 "dchop.ch"
#line 698 "dchop.ch"
#line 698 "dchop.ch"
        _Case75 : 
#line 698 "dchop.ch"
#line 698 "dchop.ch"
            ;
#line 698 "dchop.ch"
#line 699 "dchop.ch"
            decomp(exp1);
#line 699 "dchop.ch"
#line 699 "dchop.ch"
#line 699 "dchop.ch"
            Space(1);
#line 699 "dchop.ch"
#line 699 "dchop.ch"
#line 699 "dchop.ch"
            PrintString("<<");
#line 699 "dchop.ch"
#line 699 "dchop.ch"
            Space(1);
#line 699 "dchop.ch"
#line 699 "dchop.ch"
#line 699 "dchop.ch"
            decomp(exp2);
#line 699 "dchop.ch"
#line 699 "dchop.ch"
#line 700 "dchop.ch"
            break ;
#line 700 "dchop.ch"
#line 701 "dchop.ch"
        case cplus::RSHI : 
#line 701 "dchop.ch"
#line 701 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 701 "dchop.ch"
#line 701 "dchop.ch"
#line 701 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 701 "dchop.ch"
#line 701 "dchop.ch"
#line 701 "dchop.ch"
        _Case76 : 
#line 701 "dchop.ch"
#line 701 "dchop.ch"
            ;
#line 701 "dchop.ch"
#line 702 "dchop.ch"
            decomp(exp1);
#line 702 "dchop.ch"
#line 702 "dchop.ch"
#line 702 "dchop.ch"
            Space(1);
#line 702 "dchop.ch"
#line 702 "dchop.ch"
#line 702 "dchop.ch"
            PrintString(">>");
#line 702 "dchop.ch"
#line 702 "dchop.ch"
            Space(1);
#line 702 "dchop.ch"
#line 702 "dchop.ch"
#line 702 "dchop.ch"
            decomp(exp2);
#line 702 "dchop.ch"
#line 702 "dchop.ch"
#line 703 "dchop.ch"
            break ;
#line 703 "dchop.ch"
#line 704 "dchop.ch"
        case cplus::PLUS : 
#line 704 "dchop.ch"
#line 704 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 704 "dchop.ch"
#line 704 "dchop.ch"
#line 704 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 704 "dchop.ch"
#line 704 "dchop.ch"
#line 704 "dchop.ch"
        _Case77 : 
#line 704 "dchop.ch"
#line 704 "dchop.ch"
            ;
#line 704 "dchop.ch"
#line 705 "dchop.ch"
            decomp(exp1);
#line 705 "dchop.ch"
#line 705 "dchop.ch"
#line 705 "dchop.ch"
            Space(1);
#line 705 "dchop.ch"
#line 705 "dchop.ch"
#line 705 "dchop.ch"
            PrintString("+");
#line 705 "dchop.ch"
#line 705 "dchop.ch"
            Space(1);
#line 705 "dchop.ch"
#line 705 "dchop.ch"
#line 705 "dchop.ch"
            decomp(exp2);
#line 705 "dchop.ch"
#line 705 "dchop.ch"
#line 706 "dchop.ch"
            break ;
#line 706 "dchop.ch"
#line 707 "dchop.ch"
        case cplus::MINUS : 
#line 707 "dchop.ch"
#line 707 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 707 "dchop.ch"
#line 707 "dchop.ch"
#line 707 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 707 "dchop.ch"
#line 707 "dchop.ch"
#line 707 "dchop.ch"
        _Case78 : 
#line 707 "dchop.ch"
#line 707 "dchop.ch"
            ;
#line 707 "dchop.ch"
#line 708 "dchop.ch"
            decomp(exp1);
#line 708 "dchop.ch"
#line 708 "dchop.ch"
#line 708 "dchop.ch"
            Space(1);
#line 708 "dchop.ch"
#line 708 "dchop.ch"
#line 708 "dchop.ch"
            PrintString("-");
#line 708 "dchop.ch"
#line 708 "dchop.ch"
            Space(1);
#line 708 "dchop.ch"
#line 708 "dchop.ch"
#line 708 "dchop.ch"
            decomp(exp2);
#line 708 "dchop.ch"
#line 708 "dchop.ch"
#line 709 "dchop.ch"
            break ;
#line 709 "dchop.ch"
#line 710 "dchop.ch"
        case cplus::MUL : 
#line 710 "dchop.ch"
#line 710 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 710 "dchop.ch"
#line 710 "dchop.ch"
#line 710 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 710 "dchop.ch"
#line 710 "dchop.ch"
#line 710 "dchop.ch"
        _Case79 : 
#line 710 "dchop.ch"
#line 710 "dchop.ch"
            ;
#line 710 "dchop.ch"
#line 711 "dchop.ch"
            decomp(exp1);
#line 711 "dchop.ch"
#line 711 "dchop.ch"
#line 711 "dchop.ch"
            Space(1);
#line 711 "dchop.ch"
#line 711 "dchop.ch"
#line 711 "dchop.ch"
            PrintString("*");
#line 711 "dchop.ch"
#line 711 "dchop.ch"
            Space(1);
#line 711 "dchop.ch"
#line 711 "dchop.ch"
#line 711 "dchop.ch"
            decomp(exp2);
#line 711 "dchop.ch"
#line 711 "dchop.ch"
#line 712 "dchop.ch"
            break ;
#line 712 "dchop.ch"
#line 713 "dchop.ch"
        case cplus::DIV : 
#line 713 "dchop.ch"
#line 713 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 713 "dchop.ch"
#line 713 "dchop.ch"
#line 713 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 713 "dchop.ch"
#line 713 "dchop.ch"
#line 713 "dchop.ch"
        _Case80 : 
#line 713 "dchop.ch"
#line 713 "dchop.ch"
            ;
#line 713 "dchop.ch"
#line 714 "dchop.ch"
            decomp(exp1);
#line 714 "dchop.ch"
#line 714 "dchop.ch"
#line 714 "dchop.ch"
            Space(1);
#line 714 "dchop.ch"
#line 714 "dchop.ch"
#line 714 "dchop.ch"
            PrintString("/");
#line 714 "dchop.ch"
#line 714 "dchop.ch"
            Space(1);
#line 714 "dchop.ch"
#line 714 "dchop.ch"
#line 714 "dchop.ch"
            decomp(exp2);
#line 714 "dchop.ch"
#line 714 "dchop.ch"
#line 715 "dchop.ch"
            break ;
#line 715 "dchop.ch"
#line 716 "dchop.ch"
        case cplus::REM : 
#line 716 "dchop.ch"
#line 716 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 716 "dchop.ch"
#line 716 "dchop.ch"
#line 716 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 716 "dchop.ch"
#line 716 "dchop.ch"
#line 716 "dchop.ch"
        _Case81 : 
#line 716 "dchop.ch"
#line 716 "dchop.ch"
            ;
#line 716 "dchop.ch"
#line 717 "dchop.ch"
            decomp(exp1);
#line 717 "dchop.ch"
#line 717 "dchop.ch"
#line 717 "dchop.ch"
            Space(1);
#line 717 "dchop.ch"
#line 717 "dchop.ch"
#line 717 "dchop.ch"
            PrintString("%");
#line 717 "dchop.ch"
#line 717 "dchop.ch"
            Space(1);
#line 717 "dchop.ch"
#line 717 "dchop.ch"
#line 717 "dchop.ch"
            decomp(exp2);
#line 717 "dchop.ch"
#line 717 "dchop.ch"
#line 718 "dchop.ch"
            break ;
#line 718 "dchop.ch"
#line 719 "dchop.ch"
        case cplus::NEG : 
#line 719 "dchop.ch"
#line 719 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 719 "dchop.ch"
#line 719 "dchop.ch"
#line 719 "dchop.ch"
        _Case82 : 
#line 719 "dchop.ch"
#line 719 "dchop.ch"
            ;
#line 719 "dchop.ch"
#line 720 "dchop.ch"
            Space(1);
#line 720 "dchop.ch"
#line 720 "dchop.ch"
#line 720 "dchop.ch"
            PrintString("-");
#line 720 "dchop.ch"
#line 720 "dchop.ch"
            Space(1);
#line 720 "dchop.ch"
#line 720 "dchop.ch"
#line 720 "dchop.ch"
            decomp(exp);
#line 720 "dchop.ch"
#line 720 "dchop.ch"
#line 721 "dchop.ch"
            break ;
#line 721 "dchop.ch"
#line 722 "dchop.ch"
        case cplus::POS : 
#line 722 "dchop.ch"
#line 722 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 722 "dchop.ch"
#line 722 "dchop.ch"
#line 722 "dchop.ch"
        _Case83 : 
#line 722 "dchop.ch"
#line 722 "dchop.ch"
            ;
#line 722 "dchop.ch"
#line 723 "dchop.ch"
            Space(1);
#line 723 "dchop.ch"
#line 723 "dchop.ch"
#line 723 "dchop.ch"
            PrintString("+");
#line 723 "dchop.ch"
#line 723 "dchop.ch"
            Space(1);
#line 723 "dchop.ch"
#line 723 "dchop.ch"
#line 723 "dchop.ch"
            decomp(exp);
#line 723 "dchop.ch"
#line 723 "dchop.ch"
#line 724 "dchop.ch"
            break ;
#line 724 "dchop.ch"
#line 725 "dchop.ch"
        case cplus::LNEG : 
#line 725 "dchop.ch"
#line 725 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 725 "dchop.ch"
#line 725 "dchop.ch"
#line 725 "dchop.ch"
        _Case84 : 
#line 725 "dchop.ch"
#line 725 "dchop.ch"
            ;
#line 725 "dchop.ch"
#line 726 "dchop.ch"
            SepBefore();
#line 726 "dchop.ch"
#line 726 "dchop.ch"
#line 726 "dchop.ch"
            PrintString("~");
#line 726 "dchop.ch"
#line 726 "dchop.ch"
            decomp(exp);
#line 726 "dchop.ch"
#line 726 "dchop.ch"
#line 727 "dchop.ch"
            break ;
#line 727 "dchop.ch"
#line 728 "dchop.ch"
        case cplus::NOT : 
#line 728 "dchop.ch"
#line 728 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 728 "dchop.ch"
#line 728 "dchop.ch"
#line 728 "dchop.ch"
        _Case85 : 
#line 728 "dchop.ch"
#line 728 "dchop.ch"
            ;
#line 728 "dchop.ch"
#line 729 "dchop.ch"
            SepBefore();
#line 729 "dchop.ch"
#line 729 "dchop.ch"
#line 729 "dchop.ch"
            PrintString("!");
#line 729 "dchop.ch"
#line 729 "dchop.ch"
            decomp(exp);
#line 729 "dchop.ch"
#line 729 "dchop.ch"
#line 730 "dchop.ch"
            break ;
#line 730 "dchop.ch"
#line 731 "dchop.ch"
        case cplus::POINT : 
#line 731 "dchop.ch"
#line 731 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 731 "dchop.ch"
#line 731 "dchop.ch"
#line 731 "dchop.ch"
        _Case86 : 
#line 731 "dchop.ch"
#line 731 "dchop.ch"
            ;
#line 731 "dchop.ch"
#line 732 "dchop.ch"
            SepBefore();
#line 732 "dchop.ch"
#line 732 "dchop.ch"
#line 732 "dchop.ch"
            PrintString("*");
#line 732 "dchop.ch"
#line 732 "dchop.ch"
            decomp(exp);
#line 732 "dchop.ch"
#line 732 "dchop.ch"
#line 733 "dchop.ch"
            break ;
#line 733 "dchop.ch"
#line 734 "dchop.ch"
        case cplus::ADDR : 
#line 734 "dchop.ch"
#line 734 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 734 "dchop.ch"
#line 734 "dchop.ch"
#line 734 "dchop.ch"
        _Case87 : 
#line 734 "dchop.ch"
#line 734 "dchop.ch"
            ;
#line 734 "dchop.ch"
#line 735 "dchop.ch"
            SepBefore();
#line 735 "dchop.ch"
#line 735 "dchop.ch"
#line 735 "dchop.ch"
            PrintString("&");
#line 735 "dchop.ch"
#line 735 "dchop.ch"
            decomp(exp);
#line 735 "dchop.ch"
#line 735 "dchop.ch"
#line 736 "dchop.ch"
            break ;
#line 736 "dchop.ch"
#line 737 "dchop.ch"
        case cplus::BINCR : 
#line 737 "dchop.ch"
#line 737 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 737 "dchop.ch"
#line 737 "dchop.ch"
#line 737 "dchop.ch"
        _Case88 : 
#line 737 "dchop.ch"
#line 737 "dchop.ch"
            ;
#line 737 "dchop.ch"
#line 738 "dchop.ch"
            SepBefore();
#line 738 "dchop.ch"
#line 738 "dchop.ch"
#line 738 "dchop.ch"
            PrintString("++");
#line 738 "dchop.ch"
#line 738 "dchop.ch"
            decomp(exp);
#line 738 "dchop.ch"
#line 738 "dchop.ch"
#line 739 "dchop.ch"
            break ;
#line 739 "dchop.ch"
#line 740 "dchop.ch"
        case cplus::BDECR : 
#line 740 "dchop.ch"
#line 740 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 740 "dchop.ch"
#line 740 "dchop.ch"
#line 740 "dchop.ch"
        _Case89 : 
#line 740 "dchop.ch"
#line 740 "dchop.ch"
            ;
#line 740 "dchop.ch"
#line 741 "dchop.ch"
            SepBefore();
#line 741 "dchop.ch"
#line 741 "dchop.ch"
#line 741 "dchop.ch"
            PrintString("--");
#line 741 "dchop.ch"
#line 741 "dchop.ch"
            decomp(exp);
#line 741 "dchop.ch"
#line 741 "dchop.ch"
#line 742 "dchop.ch"
            break ;
#line 742 "dchop.ch"
#line 743 "dchop.ch"
        case cplus::AINCR : 
#line 743 "dchop.ch"
#line 743 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 743 "dchop.ch"
#line 743 "dchop.ch"
#line 743 "dchop.ch"
        _Case90 : 
#line 743 "dchop.ch"
#line 743 "dchop.ch"
            ;
#line 743 "dchop.ch"
#line 744 "dchop.ch"
            decomp(exp);
#line 744 "dchop.ch"
#line 744 "dchop.ch"
#line 744 "dchop.ch"
            PrintString("++");
#line 744 "dchop.ch"
#line 744 "dchop.ch"
            SepAfter();
#line 744 "dchop.ch"
#line 744 "dchop.ch"
#line 745 "dchop.ch"
            break ;
#line 745 "dchop.ch"
#line 746 "dchop.ch"
        case cplus::ADECR : 
#line 746 "dchop.ch"
#line 746 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 746 "dchop.ch"
#line 746 "dchop.ch"
#line 746 "dchop.ch"
        _Case91 : 
#line 746 "dchop.ch"
#line 746 "dchop.ch"
            ;
#line 746 "dchop.ch"
#line 747 "dchop.ch"
            decomp(exp);
#line 747 "dchop.ch"
#line 747 "dchop.ch"
#line 747 "dchop.ch"
            PrintString("--");
#line 747 "dchop.ch"
#line 747 "dchop.ch"
            SepAfter();
#line 747 "dchop.ch"
#line 747 "dchop.ch"
#line 748 "dchop.ch"
            break ;
#line 748 "dchop.ch"
#line 749 "dchop.ch"
        case cplus::EXP : 
#line 749 "dchop.ch"
#line 749 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 749 "dchop.ch"
#line 749 "dchop.ch"
#line 749 "dchop.ch"
        _Case92 : 
#line 749 "dchop.ch"
#line 749 "dchop.ch"
            ;
#line 749 "dchop.ch"
#line 750 "dchop.ch"
            statementf = 0 ;
#line 750 "dchop.ch"
#line 751 "dchop.ch"
            PrintString("(");
#line 751 "dchop.ch"
#line 751 "dchop.ch"
            decomp(exp);
#line 751 "dchop.ch"
#line 751 "dchop.ch"
#line 751 "dchop.ch"
            PrintString(")");
#line 751 "dchop.ch"
#line 752 "dchop.ch"
            break ;
#line 752 "dchop.ch"
#line 753 "dchop.ch"
        case cplus::EXP_LIST : 
#line 753 "dchop.ch"
#line 753 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 753 "dchop.ch"
#line 753 "dchop.ch"
#line 753 "dchop.ch"
            (list=SonTree(paramTree, 2));
#line 753 "dchop.ch"
#line 753 "dchop.ch"
#line 753 "dchop.ch"
        _Case93 : 
#line 753 "dchop.ch"
#line 753 "dchop.ch"
            ;
#line 753 "dchop.ch"
#line 754 "dchop.ch"
            statementf = 0 ;
#line 754 "dchop.ch"
#line 755 "dchop.ch"
            decomp(exp);
#line 755 "dchop.ch"
#line 755 "dchop.ch"
#line 755 "dchop.ch"
            PrintString("(");
#line 755 "dchop.ch"
#line 755 "dchop.ch"
            decomp(list);
#line 755 "dchop.ch"
#line 755 "dchop.ch"
#line 755 "dchop.ch"
            PrintString(")");
#line 755 "dchop.ch"
#line 756 "dchop.ch"
            break ;
#line 756 "dchop.ch"
#line 757 "dchop.ch"
        case cplus::VA_ARG : 
#line 757 "dchop.ch"
#line 757 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 757 "dchop.ch"
#line 757 "dchop.ch"
#line 757 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 757 "dchop.ch"
#line 757 "dchop.ch"
#line 757 "dchop.ch"
        _Case94 : 
#line 757 "dchop.ch"
#line 757 "dchop.ch"
            ;
#line 757 "dchop.ch"
#line 758 "dchop.ch"
            statementf = 0 ;
#line 758 "dchop.ch"
#line 759 "dchop.ch"
            PrintString("va_arg(");
#line 759 "dchop.ch"
#line 759 "dchop.ch"
            decomp(exp1);
#line 759 "dchop.ch"
#line 759 "dchop.ch"
#line 759 "dchop.ch"
            PrintString(",");
#line 759 "dchop.ch"
#line 759 "dchop.ch"
            decomp(exp2);
#line 759 "dchop.ch"
#line 759 "dchop.ch"
#line 759 "dchop.ch"
            PrintString(")");
#line 759 "dchop.ch"
#line 760 "dchop.ch"
            break ;
#line 760 "dchop.ch"
#line 761 "dchop.ch"
        case cplus::FUNC_SPEC : 
#line 761 "dchop.ch"
#line 761 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 761 "dchop.ch"
#line 761 "dchop.ch"
#line 761 "dchop.ch"
            (list=SonTree(paramTree, 2));
#line 761 "dchop.ch"
#line 761 "dchop.ch"
#line 761 "dchop.ch"
        _Case95 : 
#line 761 "dchop.ch"
#line 761 "dchop.ch"
            ;
#line 761 "dchop.ch"
#line 762 "dchop.ch"
            statementf = 0 ;
#line 762 "dchop.ch"
#line 763 "dchop.ch"
            decomp(exp);
#line 763 "dchop.ch"
#line 763 "dchop.ch"
#line 763 "dchop.ch"
            PrintString("(");
#line 763 "dchop.ch"
#line 763 "dchop.ch"
            decomp(list);
#line 763 "dchop.ch"
#line 763 "dchop.ch"
#line 763 "dchop.ch"
            PrintString(")");
#line 763 "dchop.ch"
#line 764 "dchop.ch"
            break ;
#line 764 "dchop.ch"
#line 765 "dchop.ch"
        case cplus::FORALLSONS : 
#line 765 "dchop.ch"
#line 765 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 765 "dchop.ch"
#line 765 "dchop.ch"
#line 765 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 765 "dchop.ch"
#line 765 "dchop.ch"
#line 765 "dchop.ch"
        _Case96 : 
#line 765 "dchop.ch"
#line 765 "dchop.ch"
            ;
#line 765 "dchop.ch"
#line 766 "dchop.ch"
            statementf = 0 ;
#line 766 "dchop.ch"
#line 767 "dchop.ch"
            PrintString("forallsons");
#line 767 "dchop.ch"
            PrintString("(");
#line 767 "dchop.ch"
#line 767 "dchop.ch"
            decomp(exp1);
#line 767 "dchop.ch"
#line 767 "dchop.ch"
#line 767 "dchop.ch"
            PrintString(",");
#line 767 "dchop.ch"
#line 767 "dchop.ch"
            Space(1);
#line 767 "dchop.ch"
#line 767 "dchop.ch"
#line 767 "dchop.ch"
            decomp(exp2);
#line 767 "dchop.ch"
#line 767 "dchop.ch"
#line 767 "dchop.ch"
            PrintString(")");
#line 767 "dchop.ch"
#line 768 "dchop.ch"
            break ;
#line 768 "dchop.ch"
#line 769 "dchop.ch"
        case cplus::EXP_ARRAY : 
#line 769 "dchop.ch"
#line 769 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 769 "dchop.ch"
#line 769 "dchop.ch"
#line 769 "dchop.ch"
            (list=SonTree(paramTree, 2));
#line 769 "dchop.ch"
#line 769 "dchop.ch"
#line 769 "dchop.ch"
        _Case97 : 
#line 769 "dchop.ch"
#line 769 "dchop.ch"
            ;
#line 769 "dchop.ch"
#line 770 "dchop.ch"
            decomp(exp);
#line 770 "dchop.ch"
#line 770 "dchop.ch"
#line 770 "dchop.ch"
            SepBefore();
#line 770 "dchop.ch"
#line 770 "dchop.ch"
#line 770 "dchop.ch"
            PrintString("[");
#line 770 "dchop.ch"
#line 770 "dchop.ch"
            decomp(list);
#line 770 "dchop.ch"
#line 770 "dchop.ch"
#line 770 "dchop.ch"
            PrintString("]");
#line 770 "dchop.ch"
#line 771 "dchop.ch"
            break ;
#line 771 "dchop.ch"
#line 772 "dchop.ch"
        case cplus::REF : 
#line 772 "dchop.ch"
#line 772 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 772 "dchop.ch"
#line 772 "dchop.ch"
#line 772 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 772 "dchop.ch"
#line 772 "dchop.ch"
#line 772 "dchop.ch"
        _Case98 : 
#line 772 "dchop.ch"
#line 772 "dchop.ch"
            ;
#line 772 "dchop.ch"
#line 773 "dchop.ch"
            decomp(exp1);
#line 773 "dchop.ch"
#line 773 "dchop.ch"
#line 773 "dchop.ch"
            PrintString(".");
#line 773 "dchop.ch"
#line 773 "dchop.ch"
            decomp(exp2);
#line 773 "dchop.ch"
#line 773 "dchop.ch"
#line 774 "dchop.ch"
            break ;
#line 774 "dchop.ch"
#line 775 "dchop.ch"
        case cplus::ARROW : 
#line 775 "dchop.ch"
#line 775 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 775 "dchop.ch"
#line 775 "dchop.ch"
#line 775 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 775 "dchop.ch"
#line 775 "dchop.ch"
#line 775 "dchop.ch"
        _Case99 : 
#line 775 "dchop.ch"
#line 775 "dchop.ch"
            ;
#line 775 "dchop.ch"
#line 776 "dchop.ch"
            decomp(exp1);
#line 776 "dchop.ch"
#line 776 "dchop.ch"
#line 776 "dchop.ch"
            Space(1);
#line 776 "dchop.ch"
#line 776 "dchop.ch"
#line 776 "dchop.ch"
            PrintString("->");
#line 776 "dchop.ch"
#line 776 "dchop.ch"
            Space(1);
#line 776 "dchop.ch"
#line 776 "dchop.ch"
#line 776 "dchop.ch"
            decomp(exp2);
#line 776 "dchop.ch"
#line 776 "dchop.ch"
#line 777 "dchop.ch"
            break ;
#line 777 "dchop.ch"
#line 778 "dchop.ch"
        case cplus::STRING_LIST : 
#line 778 "dchop.ch"
#line 778 "dchop.ch"
            (list=SonTree(paramTree, 1));
#line 778 "dchop.ch"
#line 778 "dchop.ch"
#line 778 "dchop.ch"
        _Case100 : 
#line 778 "dchop.ch"
#line 778 "dchop.ch"
            ;
#line 778 "dchop.ch"
#line 779 "dchop.ch"
            while ( !((!list)) ) {
#line 779 "dchop.ch"
#line 780 "dchop.ch"
                                    (son=(list?list.Nextl():(PPTREE)0));
#line 780 "dchop.ch"
#line 780 "dchop.ch"
#line 781 "dchop.ch"
                                    decomp(son);
#line 781 "dchop.ch"
#line 781 "dchop.ch"
#line 782 "dchop.ch"
                                    if ( !((!list)) ) 
#line 782 "dchop.ch"
#line 783 "dchop.ch"
                                        Space(1);
#line 783 "dchop.ch"
#line 783 "dchop.ch"
#line 783 "dchop.ch"
                                   }
#line 783 "dchop.ch"
#line 785 "dchop.ch"
            break ;
#line 785 "dchop.ch"
#line 786 "dchop.ch"
        case cplus::STRING : 
#line 786 "dchop.ch"
#line 786 "dchop.ch"
            (val=SonTree(paramTree, 1));
#line 786 "dchop.ch"
#line 786 "dchop.ch"
#line 786 "dchop.ch"
        _Case101 : 
#line 786 "dchop.ch"
#line 786 "dchop.ch"
            ;
#line 786 "dchop.ch"
#line 787 "dchop.ch"
            PrintString("\"");
#line 787 "dchop.ch"
#line 787 "dchop.ch"
            DumpBrainyValue(val);
#line 787 "dchop.ch"
#line 787 "dchop.ch"
#line 787 "dchop.ch"
            PrintString("\"");
#line 787 "dchop.ch"
#line 788 "dchop.ch"
            break ;
#line 788 "dchop.ch"
#line 789 "dchop.ch"
        case cplus::INTEGER : 
#line 789 "dchop.ch"
#line 789 "dchop.ch"
            (val=SonTree(paramTree, 1));
#line 789 "dchop.ch"
#line 789 "dchop.ch"
#line 789 "dchop.ch"
        _Case102 : 
#line 789 "dchop.ch"
#line 789 "dchop.ch"
            ;
#line 789 "dchop.ch"
#line 790 "dchop.ch"
            DumpBrainyValue(val);
#line 790 "dchop.ch"
#line 790 "dchop.ch"
#line 791 "dchop.ch"
            break ;
#line 791 "dchop.ch"
#line 792 "dchop.ch"
        case cplus::HEXA : 
#line 792 "dchop.ch"
#line 792 "dchop.ch"
            (val=SonTree(paramTree, 1));
#line 792 "dchop.ch"
#line 792 "dchop.ch"
#line 792 "dchop.ch"
        _Case103 : 
#line 792 "dchop.ch"
#line 792 "dchop.ch"
            ;
#line 792 "dchop.ch"
#line 793 "dchop.ch"
            PrintString("0x");
#line 793 "dchop.ch"
#line 793 "dchop.ch"
            NoSep();
#line 793 "dchop.ch"
#line 793 "dchop.ch"
#line 793 "dchop.ch"
            decomp(val);
#line 793 "dchop.ch"
#line 793 "dchop.ch"
#line 794 "dchop.ch"
            break ;
#line 794 "dchop.ch"
#line 795 "dchop.ch"
        case cplus::OCTAL : 
#line 795 "dchop.ch"
#line 795 "dchop.ch"
            (val=SonTree(paramTree, 1));
#line 795 "dchop.ch"
#line 795 "dchop.ch"
#line 795 "dchop.ch"
        _Case104 : 
#line 795 "dchop.ch"
#line 795 "dchop.ch"
            ;
#line 795 "dchop.ch"
#line 796 "dchop.ch"
            PrintString("0");
#line 796 "dchop.ch"
#line 796 "dchop.ch"
            NoSep();
#line 796 "dchop.ch"
#line 796 "dchop.ch"
#line 796 "dchop.ch"
            decomp(val);
#line 796 "dchop.ch"
#line 796 "dchop.ch"
#line 797 "dchop.ch"
            break ;
#line 797 "dchop.ch"
#line 798 "dchop.ch"
        case cplus::IUN : 
#line 798 "dchop.ch"
#line 798 "dchop.ch"
            (val=SonTree(paramTree, 1));
#line 798 "dchop.ch"
#line 798 "dchop.ch"
#line 798 "dchop.ch"
        _Case105 : 
#line 798 "dchop.ch"
#line 798 "dchop.ch"
            ;
#line 798 "dchop.ch"
#line 799 "dchop.ch"
            decomp(val);
#line 799 "dchop.ch"
#line 799 "dchop.ch"
#line 799 "dchop.ch"
            NoSep();
#line 799 "dchop.ch"
#line 799 "dchop.ch"
#line 799 "dchop.ch"
            PrintString("U");
#line 799 "dchop.ch"
#line 800 "dchop.ch"
            break ;
#line 800 "dchop.ch"
#line 801 "dchop.ch"
        case cplus::IUNLONG : 
#line 801 "dchop.ch"
#line 801 "dchop.ch"
            (val=SonTree(paramTree, 1));
#line 801 "dchop.ch"
#line 801 "dchop.ch"
#line 801 "dchop.ch"
        _Case106 : 
#line 801 "dchop.ch"
#line 801 "dchop.ch"
            ;
#line 801 "dchop.ch"
#line 802 "dchop.ch"
            decomp(val);
#line 802 "dchop.ch"
#line 802 "dchop.ch"
#line 802 "dchop.ch"
            NoSep();
#line 802 "dchop.ch"
#line 802 "dchop.ch"
#line 802 "dchop.ch"
            PrintString("UL");
#line 802 "dchop.ch"
#line 803 "dchop.ch"
            break ;
#line 803 "dchop.ch"
#line 804 "dchop.ch"
        case cplus::ILONG : 
#line 804 "dchop.ch"
#line 804 "dchop.ch"
            (val=SonTree(paramTree, 1));
#line 804 "dchop.ch"
#line 804 "dchop.ch"
#line 804 "dchop.ch"
        _Case107 : 
#line 804 "dchop.ch"
#line 804 "dchop.ch"
            ;
#line 804 "dchop.ch"
#line 805 "dchop.ch"
            decomp(val);
#line 805 "dchop.ch"
#line 805 "dchop.ch"
#line 805 "dchop.ch"
            NoSep();
#line 805 "dchop.ch"
#line 805 "dchop.ch"
#line 805 "dchop.ch"
            PrintString("L");
#line 805 "dchop.ch"
#line 806 "dchop.ch"
            break ;
#line 806 "dchop.ch"
#line 807 "dchop.ch"
        case cplus::FLOAT : 
#line 807 "dchop.ch"
#line 807 "dchop.ch"
            (val=SonTree(paramTree, 1));
#line 807 "dchop.ch"
#line 807 "dchop.ch"
#line 807 "dchop.ch"
        _Case108 : 
#line 807 "dchop.ch"
#line 807 "dchop.ch"
            ;
#line 807 "dchop.ch"
#line 808 "dchop.ch"
            DumpBrainyValue(val);
#line 808 "dchop.ch"
#line 808 "dchop.ch"
#line 809 "dchop.ch"
            break ;
#line 809 "dchop.ch"
#line 810 "dchop.ch"
        case cplus::CHAR : 
#line 810 "dchop.ch"
#line 810 "dchop.ch"
            (val=SonTree(paramTree, 1));
#line 810 "dchop.ch"
#line 810 "dchop.ch"
#line 810 "dchop.ch"
        _Case109 : 
#line 810 "dchop.ch"
#line 810 "dchop.ch"
            ;
#line 810 "dchop.ch"
#line 811 "dchop.ch"
            PrintString("'");
#line 811 "dchop.ch"
#line 811 "dchop.ch"
            DumpBrainyValue(val);
#line 811 "dchop.ch"
#line 811 "dchop.ch"
#line 811 "dchop.ch"
            PrintString("'");
#line 811 "dchop.ch"
#line 812 "dchop.ch"
            break ;
#line 812 "dchop.ch"
#line 812 "dchop.ch"
        case cplus::EXCEPT_ANSI_ALL : 
#line 812 "dchop.ch"
#line 812 "dchop.ch"
        _Case110 : 
#line 812 "dchop.ch"
#line 812 "dchop.ch"
            ;
#line 812 "dchop.ch"
#line 812 "dchop.ch"
            goto _Case111 ;
#line 812 "dchop.ch"
#line 815 "dchop.ch"
        case cplus::VAR_LIST : 
#line 815 "dchop.ch"
#line 815 "dchop.ch"
        _Case111 : 
#line 815 "dchop.ch"
#line 815 "dchop.ch"
            ;
#line 815 "dchop.ch"
#line 815 "dchop.ch"
            PrintString("...");
#line 815 "dchop.ch"
#line 816 "dchop.ch"
            break ;
#line 816 "dchop.ch"
#line 817 "dchop.ch"
        case cplus::COMPOUND : 
#line 817 "dchop.ch"
#line 817 "dchop.ch"
            (list=SonTree(paramTree, 1));
#line 817 "dchop.ch"
#line 817 "dchop.ch"
#line 817 "dchop.ch"
        _Case112 : 
#line 817 "dchop.ch"
#line 817 "dchop.ch"
            ;
#line 817 "dchop.ch"
#line 818 "dchop.ch"
            if ( ansiMode && !braceAlign && !((!list)) ) 
#line 818 "dchop.ch"
#line 819 "dchop.ch"
                LNewLine(1);
#line 819 "dchop.ch"
#line 819 "dchop.ch"
#line 820 "dchop.ch"
            if ( !(ansiMode && braceAlign) || (!list) ) {
#line 820 "dchop.ch"
#line 821 "dchop.ch"
                                                                SepBefore();
#line 821 "dchop.ch"
#line 821 "dchop.ch"
#line 821 "dchop.ch"
                                                                PrintString("{");
#line 821 "dchop.ch"
#line 821 "dchop.ch"
                                                              }
#line 821 "dchop.ch"
#line 823 "dchop.ch"
            if ( !((!list)) ) {
#line 823 "dchop.ch"
#line 824 "dchop.ch"
                                    LNewLine(1);
#line 824 "dchop.ch"
#line 824 "dchop.ch"
#line 825 "dchop.ch"
                                    if ( ansiMode && braceAlign ) {
#line 825 "dchop.ch"
#line 826 "dchop.ch"
                                                                        (exp=FatherTree(paramTree));
#line 826 "dchop.ch"
#line 826 "dchop.ch"
#line 827 "dchop.ch"
                                                                        if ( !(((_inter = (PPTREE)exp,1) && 
#line 827 "dchop.ch"
(NumberTree(_inter) == cplus::FUNC) &&
#line 827 "dchop.ch"
1)                                                                           ) ) 
#line 827 "dchop.ch"
#line 828 "dchop.ch"
Tab();
#line 828 "dchop.ch"
#line 828 "dchop.ch"
#line 828 "dchop.ch"
                                                                    } else 
#line 828 "dchop.ch"
#line 830 "dchop.ch"
                                        Tab();
#line 830 "dchop.ch"
#line 830 "dchop.ch"
#line 830 "dchop.ch"
#line 832 "dchop.ch"
                                    Mark();
#line 832 "dchop.ch"
                                    if ( ansiMode && braceAlign ) {
#line 832 "dchop.ch"
#line 833 "dchop.ch"
                                                                        PrintString("{");
#line 833 "dchop.ch"
#line 833 "dchop.ch"
                                                                        LNewLine(1);
#line 833 "dchop.ch"
#line 833 "dchop.ch"
#line 833 "dchop.ch"
                                                                    }
#line 833 "dchop.ch"
                                    statementf = 1 ;
#line 833 "dchop.ch"
                                    while ( !((!list)) ) {
#line 833 "dchop.ch"
#line 837 "dchop.ch"
                                                            (son=(list?list.Nextl():(PPTREE)0));
#line 837 "dchop.ch"
#line 837 "dchop.ch"
#line 838 "dchop.ch"
                                                            (postComment=son);
#line 838 "dchop.ch"
#line 838 "dchop.ch"
#line 839 "dchop.ch"
                                                            ((_inter = (PPTREE)postComment,1) && 
#line 839 "dchop.ch"
                                                                (NumberTree(_inter) == cplus::ATTRIBUTS) &&
#line 839 "dchop.ch"
                                                                ((postComment=SonTree(_inter,1)),1) &&
#line 839 "dchop.ch"
                                                                1);
#line 839 "dchop.ch"
                                                            ;
#line 839 "dchop.ch"
#line 840 "dchop.ch"
                                                            decomp(son);
#line 840 "dchop.ch"
#line 840 "dchop.ch"
#line 841 "dchop.ch"
                                                            if ( !Sequence(son, sontree(list, 1)) ) {
#line 841 "dchop.ch"
#line 842 "dchop.ch"
control_stat1(son);
#line 842 "dchop.ch"
#line 843 "dchop.ch"
LNewLine(1);
#line 843 "dchop.ch"
#line 843 "dchop.ch"
#line 843 "dchop.ch"
                                                                                                          } else 
#line 844 "dchop.ch"
                                                            {
#line 844 "dchop.ch"
#line 845 "dchop.ch"
                                                                Space(1);
#line 845 "dchop.ch"
#line 845 "dchop.ch"
#line 845 "dchop.ch"
                                                            }
#line 845 "dchop.ch"
#line 845 "dchop.ch"
                                                           }
#line 845 "dchop.ch"
                                    if ( ansiMode && braceAlign ) {
#line 845 "dchop.ch"
#line 849 "dchop.ch"
                                                                        PrintString("}");
#line 849 "dchop.ch"
#line 849 "dchop.ch"
                                                                        SepAfter();
#line 849 "dchop.ch"
#line 849 "dchop.ch"
#line 849 "dchop.ch"
                                                                    }
#line 849 "dchop.ch"
                                    UnMark();
#line 849 "dchop.ch"
#line 849 "dchop.ch"
#line 852 "dchop.ch"
                                    if ( !(ansiMode && braceAlign) ) {
#line 852 "dchop.ch"
#line 853 "dchop.ch"
PrintString("}");
#line 853 "dchop.ch"
#line 853 "dchop.ch"
SepAfter();
#line 853 "dchop.ch"
#line 853 "dchop.ch"
#line 853 "dchop.ch"
                                                                         }
#line 853 "dchop.ch"
#line 853 "dchop.ch"
                                } else 
#line 855 "dchop.ch"
            {
#line 855 "dchop.ch"
#line 856 "dchop.ch"
                if ( !ansiMode && ( _inter = 
#line 856 "dchop.ch"
                                        FatherTree(paramTree),((_inter = (PPTREE)_inter,1) && 
#line 856 "dchop.ch"
                                                                    (NumberTree(_inter) == cplus::IF) &&
#line 856 "dchop.ch"
                                                                    1)) && sontree(FatherTree(paramTree), 3) ) 
#line 856 "dchop.ch"
#line 859 "dchop.ch"
                    LNewLine(1);
#line 859 "dchop.ch"
#line 859 "dchop.ch"
#line 860 "dchop.ch"
                PrintString("}");
#line 860 "dchop.ch"
#line 860 "dchop.ch"
                SepAfter();
#line 860 "dchop.ch"
#line 860 "dchop.ch"
#line 860 "dchop.ch"
            }
#line 860 "dchop.ch"
#line 862 "dchop.ch"
            break ;
#line 862 "dchop.ch"
#line 864 "dchop.ch"
        case cplus::BREAK : 
#line 864 "dchop.ch"
#line 864 "dchop.ch"
        _Case113 : 
#line 864 "dchop.ch"
#line 864 "dchop.ch"
            ;
#line 864 "dchop.ch"
#line 864 "dchop.ch"
            PrintString("break ;");
#line 864 "dchop.ch"
#line 865 "dchop.ch"
            (oldPostComment=paramTree);
#line 865 "dchop.ch"
#line 865 "dchop.ch"
#line 866 "dchop.ch"
            comm(paramTree, POST);
#line 866 "dchop.ch"
#line 867 "dchop.ch"
            LNewLine(1);
#line 867 "dchop.ch"
#line 867 "dchop.ch"
#line 868 "dchop.ch"
            break ;
#line 868 "dchop.ch"
#line 870 "dchop.ch"
        case cplus::CONTINUE : 
#line 870 "dchop.ch"
#line 870 "dchop.ch"
        _Case114 : 
#line 870 "dchop.ch"
#line 870 "dchop.ch"
            ;
#line 870 "dchop.ch"
#line 870 "dchop.ch"
            PrintString("continue ;");
#line 870 "dchop.ch"
#line 871 "dchop.ch"
            (oldPostComment=paramTree);
#line 871 "dchop.ch"
#line 871 "dchop.ch"
#line 872 "dchop.ch"
            comm(paramTree, POST);
#line 872 "dchop.ch"
#line 873 "dchop.ch"
            LNewLine(1);
#line 873 "dchop.ch"
#line 873 "dchop.ch"
#line 874 "dchop.ch"
            break ;
#line 874 "dchop.ch"
#line 875 "dchop.ch"
        case cplus::DO : 
#line 875 "dchop.ch"
#line 875 "dchop.ch"
            (stat=SonTree(paramTree, 1));
#line 875 "dchop.ch"
#line 875 "dchop.ch"
#line 875 "dchop.ch"
            (exp=SonTree(paramTree, 2));
#line 875 "dchop.ch"
#line 875 "dchop.ch"
#line 875 "dchop.ch"
        _Case115 : 
#line 875 "dchop.ch"
#line 875 "dchop.ch"
            ;
#line 875 "dchop.ch"
#line 876 "dchop.ch"
            PrintString("do");
#line 876 "dchop.ch"
#line 877 "dchop.ch"
            if ( !(((_inter = (PPTREE)stat,1) && 
#line 877 "dchop.ch"
                        (NumberTree(_inter) == cplus::COMPOUND) &&
#line 877 "dchop.ch"
                        1)) ) {
#line 877 "dchop.ch"
#line 878 "dchop.ch"
                                if ( !(((_inter = (PPTREE)stat,1) && 
#line 878 "dchop.ch"
                                            (NumberTree(_inter) == cplus::STAT_VOID) &&
#line 878 "dchop.ch"
                                            1)) ) {
#line 878 "dchop.ch"
#line 879 "dchop.ch"
                                                    LNewLine(1);
#line 879 "dchop.ch"
#line 879 "dchop.ch"
#line 880 "dchop.ch"
                                                    Tab();
#line 880 "dchop.ch"
#line 880 "dchop.ch"
#line 880 "dchop.ch"
                                                  }
#line 880 "dchop.ch"
#line 882 "dchop.ch"
                                (postComment=stat);
#line 882 "dchop.ch"
#line 882 "dchop.ch"
#line 883 "dchop.ch"
                                decomp(stat);
#line 883 "dchop.ch"
#line 883 "dchop.ch"
#line 884 "dchop.ch"
                                if ( !Sequence(stat, stat) ) {
#line 884 "dchop.ch"
#line 885 "dchop.ch"
                                                                    control_stat1(stat);
#line 885 "dchop.ch"
#line 886 "dchop.ch"
                                                                    LNewLine(1);
#line 886 "dchop.ch"
#line 886 "dchop.ch"
#line 886 "dchop.ch"
                                                                 } else 
#line 887 "dchop.ch"
                                {
#line 887 "dchop.ch"
#line 888 "dchop.ch"
                                    Space(1);
#line 888 "dchop.ch"
#line 888 "dchop.ch"
#line 888 "dchop.ch"
                                }
#line 888 "dchop.ch"
#line 888 "dchop.ch"
                              } else 
#line 890 "dchop.ch"
            {
#line 890 "dchop.ch"
#line 891 "dchop.ch"
                Space(1);
#line 891 "dchop.ch"
#line 891 "dchop.ch"
#line 891 "dchop.ch"
                decomp(stat);
#line 891 "dchop.ch"
#line 891 "dchop.ch"
#line 891 "dchop.ch"
                Space(1);
#line 891 "dchop.ch"
#line 891 "dchop.ch"
#line 891 "dchop.ch"
            }
#line 891 "dchop.ch"
#line 893 "dchop.ch"
            statementf = 0 ;
#line 893 "dchop.ch"
#line 894 "dchop.ch"
            if ( ansiMode && braceAlign && ((_inter = (PPTREE)stat,1) && 
#line 894 "dchop.ch"
                                                (NumberTree(_inter) == cplus::COMPOUND) &&
#line 894 "dchop.ch"
                                                1) ) 
#line 894 "dchop.ch"
#line 895 "dchop.ch"
                LNewLine(1);
#line 895 "dchop.ch"
#line 895 "dchop.ch"
#line 896 "dchop.ch"
            PrintString("while (");
#line 896 "dchop.ch"
#line 897 "dchop.ch"
            Mark();
#line 897 "dchop.ch"
            Space(1);
#line 897 "dchop.ch"
#line 897 "dchop.ch"
            decomp(exp);
#line 897 "dchop.ch"
#line 897 "dchop.ch"
            Space(1);
#line 897 "dchop.ch"
#line 897 "dchop.ch"
            UnMark();
#line 897 "dchop.ch"
#line 897 "dchop.ch"
#line 899 "dchop.ch"
            PrintString(");");
#line 899 "dchop.ch"
#line 900 "dchop.ch"
            statementf = 1 ;
#line 900 "dchop.ch"
#line 901 "dchop.ch"
            LNewLine(1);
#line 901 "dchop.ch"
#line 901 "dchop.ch"
#line 902 "dchop.ch"
            break ;
#line 902 "dchop.ch"
#line 903 "dchop.ch"
        case cplus::FOR : 
#line 903 "dchop.ch"
#line 903 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 903 "dchop.ch"
#line 903 "dchop.ch"
#line 903 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 903 "dchop.ch"
#line 903 "dchop.ch"
#line 903 "dchop.ch"
            (exp3=SonTree(paramTree, 3));
#line 903 "dchop.ch"
#line 903 "dchop.ch"
#line 903 "dchop.ch"
            (stat=SonTree(paramTree, 4));
#line 903 "dchop.ch"
#line 903 "dchop.ch"
#line 903 "dchop.ch"
        _Case116 : 
#line 903 "dchop.ch"
#line 903 "dchop.ch"
            ;
#line 903 "dchop.ch"
#line 904 "dchop.ch"
            statementf = 0 ;
#line 904 "dchop.ch"
#line 905 "dchop.ch"
            PrintString("for (");
#line 905 "dchop.ch"
#line 906 "dchop.ch"
            Mark();
#line 906 "dchop.ch"
            if ( !((!exp1)) ) {
#line 906 "dchop.ch"
#line 907 "dchop.ch"
                                    Space(1);
#line 907 "dchop.ch"
#line 907 "dchop.ch"
#line 907 "dchop.ch"
                                    decomp(exp1);
#line 907 "dchop.ch"
#line 907 "dchop.ch"
#line 907 "dchop.ch"
                                    Space(1);
#line 907 "dchop.ch"
#line 907 "dchop.ch"
#line 907 "dchop.ch"
                                }
#line 907 "dchop.ch"
            PrintString(";");
#line 907 "dchop.ch"
            if ( !((!exp2)) ) {
#line 907 "dchop.ch"
#line 911 "dchop.ch"
                                    Space(1);
#line 911 "dchop.ch"
#line 911 "dchop.ch"
#line 911 "dchop.ch"
                                    decomp(exp2);
#line 911 "dchop.ch"
#line 911 "dchop.ch"
#line 911 "dchop.ch"
                                    Space(1);
#line 911 "dchop.ch"
#line 911 "dchop.ch"
#line 911 "dchop.ch"
                                }
#line 911 "dchop.ch"
            PrintString(";");
#line 911 "dchop.ch"
            if ( !((!exp2)) ) {
#line 911 "dchop.ch"
#line 915 "dchop.ch"
                                    Space(1);
#line 915 "dchop.ch"
#line 915 "dchop.ch"
#line 915 "dchop.ch"
                                    decomp(exp3);
#line 915 "dchop.ch"
#line 915 "dchop.ch"
#line 915 "dchop.ch"
                                    Space(1);
#line 915 "dchop.ch"
#line 915 "dchop.ch"
#line 915 "dchop.ch"
                                }
#line 915 "dchop.ch"
            UnMark();
#line 915 "dchop.ch"
#line 915 "dchop.ch"
#line 918 "dchop.ch"
            PrintString(")");
#line 918 "dchop.ch"
#line 918 "dchop.ch"
            Space(1);
#line 918 "dchop.ch"
#line 918 "dchop.ch"
#line 919 "dchop.ch"
            statementf = 1 ;
#line 919 "dchop.ch"
#line 920 "dchop.ch"
            if ( !(((_inter = (PPTREE)stat,1) && 
#line 920 "dchop.ch"
                        (NumberTree(_inter) == cplus::COMPOUND) &&
#line 920 "dchop.ch"
                        1)) ) {
#line 920 "dchop.ch"
#line 921 "dchop.ch"
                                (postComment=stat);
#line 921 "dchop.ch"
#line 921 "dchop.ch"
#line 922 "dchop.ch"
                                LNewLine(1);
#line 922 "dchop.ch"
#line 922 "dchop.ch"
#line 923 "dchop.ch"
                                Tab();
#line 923 "dchop.ch"
#line 923 "dchop.ch"
#line 924 "dchop.ch"
                                Mark();
#line 924 "dchop.ch"
                                decomp(stat);
#line 924 "dchop.ch"
#line 924 "dchop.ch"
                                UnMark();
#line 924 "dchop.ch"
#line 924 "dchop.ch"
#line 926 "dchop.ch"
                                if ( !Sequence(stat, stat) ) {
#line 926 "dchop.ch"
#line 927 "dchop.ch"
                                                                    control_stat1(stat);
#line 927 "dchop.ch"
#line 928 "dchop.ch"
                                                                    LNewLine(1);
#line 928 "dchop.ch"
#line 928 "dchop.ch"
#line 928 "dchop.ch"
                                                                 } else 
#line 929 "dchop.ch"
                                {
#line 929 "dchop.ch"
#line 930 "dchop.ch"
                                    Space(1);
#line 930 "dchop.ch"
#line 930 "dchop.ch"
#line 930 "dchop.ch"
                                }
#line 930 "dchop.ch"
#line 930 "dchop.ch"
                              } else 
#line 932 "dchop.ch"
            {
#line 932 "dchop.ch"
#line 933 "dchop.ch"
                decomp(stat);
#line 933 "dchop.ch"
#line 933 "dchop.ch"
#line 933 "dchop.ch"
                LNewLine(1);
#line 933 "dchop.ch"
#line 933 "dchop.ch"
#line 933 "dchop.ch"
            }
#line 933 "dchop.ch"
#line 935 "dchop.ch"
            break ;
#line 935 "dchop.ch"
#line 936 "dchop.ch"
        case cplus::GOTO : 
#line 936 "dchop.ch"
#line 936 "dchop.ch"
            (ident=SonTree(paramTree, 1));
#line 936 "dchop.ch"
#line 936 "dchop.ch"
#line 936 "dchop.ch"
        _Case117 : 
#line 936 "dchop.ch"
#line 936 "dchop.ch"
            ;
#line 936 "dchop.ch"
#line 937 "dchop.ch"
            PrintString("goto");
#line 937 "dchop.ch"
#line 937 "dchop.ch"
            DumpBrainyValue(ident);
#line 937 "dchop.ch"
#line 937 "dchop.ch"
#line 937 "dchop.ch"
            SepBefore();
#line 937 "dchop.ch"
#line 937 "dchop.ch"
#line 937 "dchop.ch"
            PrintString(";");
#line 937 "dchop.ch"
#line 938 "dchop.ch"
            (oldPostComment=paramTree);
#line 938 "dchop.ch"
#line 938 "dchop.ch"
#line 939 "dchop.ch"
            comm(paramTree, POST);
#line 939 "dchop.ch"
#line 940 "dchop.ch"
            LNewLine(1);
#line 940 "dchop.ch"
#line 940 "dchop.ch"
#line 941 "dchop.ch"
            break ;
#line 941 "dchop.ch"
#line 942 "dchop.ch"
        case cplus::LABEL : 
#line 942 "dchop.ch"
#line 942 "dchop.ch"
            (ident=SonTree(paramTree, 1));
#line 942 "dchop.ch"
#line 942 "dchop.ch"
#line 942 "dchop.ch"
            (stat=SonTree(paramTree, 2));
#line 942 "dchop.ch"
#line 942 "dchop.ch"
#line 942 "dchop.ch"
        _Case118 : 
#line 942 "dchop.ch"
#line 942 "dchop.ch"
            ;
#line 942 "dchop.ch"
#line 943 "dchop.ch"
            (postComment=stat);
#line 943 "dchop.ch"
#line 943 "dchop.ch"
#line 944 "dchop.ch"
            UnMark();
#line 944 "dchop.ch"
#line 945 "dchop.ch"
            DumpBrainyValue(ident);
#line 945 "dchop.ch"
#line 945 "dchop.ch"
#line 945 "dchop.ch"
            Space(1);
#line 945 "dchop.ch"
#line 945 "dchop.ch"
#line 945 "dchop.ch"
            PrintString(":");
#line 945 "dchop.ch"
#line 945 "dchop.ch"
            Space(1);
#line 945 "dchop.ch"
#line 945 "dchop.ch"
#line 945 "dchop.ch"
            LNewLine(1);
#line 945 "dchop.ch"
#line 945 "dchop.ch"
#line 946 "dchop.ch"
            Tab();
#line 946 "dchop.ch"
#line 946 "dchop.ch"
#line 947 "dchop.ch"
            Mark();
#line 947 "dchop.ch"
#line 949 "dchop.ch"
            Mark();
#line 949 "dchop.ch"
            decomp(stat);
#line 949 "dchop.ch"
#line 949 "dchop.ch"
            UnMark();
#line 949 "dchop.ch"
#line 949 "dchop.ch"
#line 951 "dchop.ch"
            if ( !Sequence(stat, stat) ) {
#line 951 "dchop.ch"
#line 952 "dchop.ch"
                                                control_stat1(stat);
#line 952 "dchop.ch"
#line 952 "dchop.ch"
                                             } else 
#line 953 "dchop.ch"
            {
#line 953 "dchop.ch"
#line 954 "dchop.ch"
                Space(1);
#line 954 "dchop.ch"
#line 954 "dchop.ch"
#line 954 "dchop.ch"
            }
#line 954 "dchop.ch"
#line 956 "dchop.ch"
            break ;
#line 956 "dchop.ch"
#line 957 "dchop.ch"
        case cplus::IF : 
#line 957 "dchop.ch"
#line 957 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 957 "dchop.ch"
#line 957 "dchop.ch"
#line 957 "dchop.ch"
            (stat1=SonTree(paramTree, 2));
#line 957 "dchop.ch"
#line 957 "dchop.ch"
#line 957 "dchop.ch"
            (stat2=SonTree(paramTree, 3));
#line 957 "dchop.ch"
#line 957 "dchop.ch"
#line 957 "dchop.ch"
        _Case119 : 
#line 957 "dchop.ch"
#line 957 "dchop.ch"
            ;
#line 957 "dchop.ch"
#line 958 "dchop.ch"
            statementf = 0 ;
#line 958 "dchop.ch"
#line 959 "dchop.ch"
            PrintString("if (");
#line 959 "dchop.ch"
#line 960 "dchop.ch"
            Mark();
#line 960 "dchop.ch"
            Space(1);
#line 960 "dchop.ch"
#line 960 "dchop.ch"
            decomp(exp);
#line 960 "dchop.ch"
#line 960 "dchop.ch"
            Space(1);
#line 960 "dchop.ch"
#line 960 "dchop.ch"
            UnMark();
#line 960 "dchop.ch"
#line 960 "dchop.ch"
#line 962 "dchop.ch"
            PrintString(")");
#line 962 "dchop.ch"
#line 962 "dchop.ch"
            Space(1);
#line 962 "dchop.ch"
#line 962 "dchop.ch"
#line 963 "dchop.ch"
            statementf = 1 ;
#line 963 "dchop.ch"
#line 966 "dchop.ch"
            if ( !(((_inter = (PPTREE)stat1,1) && 
#line 966 "dchop.ch"
                        (NumberTree(_inter) == cplus::COMPOUND) &&
#line 966 "dchop.ch"
                        1)) ) {
#line 966 "dchop.ch"
#line 967 "dchop.ch"
                                (postComment=stat1);
#line 967 "dchop.ch"
#line 967 "dchop.ch"
#line 968 "dchop.ch"
                                LNewLine(1);
#line 968 "dchop.ch"
#line 968 "dchop.ch"
#line 969 "dchop.ch"
                                Tab();
#line 969 "dchop.ch"
#line 969 "dchop.ch"
#line 970 "dchop.ch"
                                Mark();
#line 970 "dchop.ch"
                                decomp(stat1);
#line 970 "dchop.ch"
#line 970 "dchop.ch"
                                UnMark();
#line 970 "dchop.ch"
#line 970 "dchop.ch"
#line 972 "dchop.ch"
                                if ( !Sequence(stat1, stat1) ) {
#line 972 "dchop.ch"
#line 973 "dchop.ch"
                                                                    control_stat1(stat1);
#line 973 "dchop.ch"
#line 973 "dchop.ch"
                                                                   } else 
#line 974 "dchop.ch"
                                {
#line 974 "dchop.ch"
#line 975 "dchop.ch"
                                    Space(1);
#line 975 "dchop.ch"
#line 975 "dchop.ch"
#line 975 "dchop.ch"
                                }
#line 975 "dchop.ch"
#line 975 "dchop.ch"
                              } else 
#line 975 "dchop.ch"
#line 978 "dchop.ch"
                decomp(stat1);
#line 978 "dchop.ch"
#line 978 "dchop.ch"
#line 978 "dchop.ch"
#line 981 "dchop.ch"
            if ( !((!stat2)) ) {
#line 981 "dchop.ch"
#line 982 "dchop.ch"
                                    if ( !(((_inter = (PPTREE)stat1,1) && 
#line 982 "dchop.ch"
                                                (NumberTree(_inter) == cplus::COMPOUND) &&
#line 982 "dchop.ch"
                                                1)) || ansiMode ) 
#line 982 "dchop.ch"
#line 983 "dchop.ch"
                                        LNewLine(1);
#line 983 "dchop.ch"
#line 983 "dchop.ch"
                                    else 
#line 983 "dchop.ch"
#line 985 "dchop.ch"
                                        Space(1);
#line 985 "dchop.ch"
#line 985 "dchop.ch"
#line 985 "dchop.ch"
#line 986 "dchop.ch"
                                    PrintString("else");
#line 986 "dchop.ch"
#line 986 "dchop.ch"
                                    Space(1);
#line 986 "dchop.ch"
#line 986 "dchop.ch"
#line 987 "dchop.ch"
                                    if ( ansiMode && !(((_inter = (PPTREE)stat2,1) && 
#line 987 "dchop.ch"
                                                            (NumberTree(_inter) == cplus::IF) &&
#line 987 "dchop.ch"
                                                            1)) ) 
#line 987 "dchop.ch"
#line 988 "dchop.ch"
                                        LNewLine(1);
#line 988 "dchop.ch"
#line 988 "dchop.ch"
#line 989 "dchop.ch"
                                    if ( !(((_inter = (PPTREE)stat2,1) && 
#line 989 "dchop.ch"
                                                (NumberTree(_inter) == cplus::COMPOUND) &&
#line 989 "dchop.ch"
                                                1)) && !(((_inter = (PPTREE)stat2,1) && 
#line 989 "dchop.ch"
                                                            (NumberTree(_inter) == cplus::IF) &&
#line 989 "dchop.ch"
                                                            1)) ) {
#line 989 "dchop.ch"
#line 990 "dchop.ch"
                                                                    (postComment=stat2);
#line 990 "dchop.ch"
#line 990 "dchop.ch"
#line 991 "dchop.ch"
                                                                    LNewLine(1);
#line 991 "dchop.ch"
#line 991 "dchop.ch"
#line 992 "dchop.ch"
                                                                    Tab();
#line 992 "dchop.ch"
#line 992 "dchop.ch"
#line 993 "dchop.ch"
                                                                    Mark();
#line 993 "dchop.ch"
                                                                    decomp(stat2);
#line 993 "dchop.ch"
#line 993 "dchop.ch"
                                                                    UnMark();
#line 993 "dchop.ch"
#line 993 "dchop.ch"
#line 995 "dchop.ch"
                                                                    if ( !Sequence(stat2, stat2) ) {
#line 995 "dchop.ch"
#line 996 "dchop.ch"
control_stat1(stat2);
#line 996 "dchop.ch"
#line 997 "dchop.ch"
LNewLine(1);
#line 997 "dchop.ch"
#line 997 "dchop.ch"
#line 997 "dchop.ch"
                                                                                                       } else 
#line 998 "dchop.ch"
                                                                    {
#line 998 "dchop.ch"
#line 999 "dchop.ch"
                                                                        Space(1);
#line 999 "dchop.ch"
#line 999 "dchop.ch"
#line 999 "dchop.ch"
                                                                    }
#line 999 "dchop.ch"
#line 999 "dchop.ch"
                                                                  } else 
#line 1001 "dchop.ch"
                                    {
#line 1001 "dchop.ch"
#line 1002 "dchop.ch"
                                        (postComment=stat2);
#line 1002 "dchop.ch"
#line 1002 "dchop.ch"
#line 1003 "dchop.ch"
                                        decomp(stat2);
#line 1003 "dchop.ch"
#line 1003 "dchop.ch"
#line 1004 "dchop.ch"
                                        if ( !Sequence(stat2, stat2) ) {
#line 1004 "dchop.ch"
#line 1005 "dchop.ch"
control_stat1(stat2);
#line 1005 "dchop.ch"
#line 1005 "dchop.ch"
                                                                           } else 
#line 1006 "dchop.ch"
                                        {
#line 1006 "dchop.ch"
#line 1007 "dchop.ch"
                                            Space(1);
#line 1007 "dchop.ch"
#line 1007 "dchop.ch"
#line 1007 "dchop.ch"
                                        }
#line 1007 "dchop.ch"
#line 1007 "dchop.ch"
                                    }
#line 1007 "dchop.ch"
#line 1007 "dchop.ch"
                                 }
#line 1007 "dchop.ch"
#line 1011 "dchop.ch"
            break ;
#line 1011 "dchop.ch"
#line 1014 "dchop.ch"
        case cplus::STAT_VOID : 
#line 1014 "dchop.ch"
#line 1014 "dchop.ch"
        _Case120 : 
#line 1014 "dchop.ch"
#line 1014 "dchop.ch"
            ;
#line 1014 "dchop.ch"
#line 1013 "dchop.ch"
            {
#line 1013 "dchop.ch"
#line 1014 "dchop.ch"
                SepBefore();
#line 1014 "dchop.ch"
#line 1014 "dchop.ch"
#line 1014 "dchop.ch"
                PrintString(";");
#line 1014 "dchop.ch"
#line 1014 "dchop.ch"
            }
#line 1014 "dchop.ch"
#line 1016 "dchop.ch"
            (oldPostComment=paramTree);
#line 1016 "dchop.ch"
#line 1016 "dchop.ch"
#line 1017 "dchop.ch"
            comm(paramTree, POST);
#line 1017 "dchop.ch"
#line 1018 "dchop.ch"
            break ;
#line 1018 "dchop.ch"
#line 1019 "dchop.ch"
        case cplus::RETURN : 
#line 1019 "dchop.ch"
#line 1019 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 1019 "dchop.ch"
#line 1019 "dchop.ch"
#line 1019 "dchop.ch"
        _Case121 : 
#line 1019 "dchop.ch"
#line 1019 "dchop.ch"
            ;
#line 1019 "dchop.ch"
#line 1020 "dchop.ch"
            statementf = 0 ;
#line 1020 "dchop.ch"
#line 1021 "dchop.ch"
            PrintString("return");
#line 1021 "dchop.ch"
#line 1021 "dchop.ch"
            Space(1);
#line 1021 "dchop.ch"
#line 1021 "dchop.ch"
#line 1021 "dchop.ch"
            decomp(exp);
#line 1021 "dchop.ch"
#line 1021 "dchop.ch"
#line 1023 "dchop.ch"
            {
#line 1023 "dchop.ch"
#line 1023 "dchop.ch"
                SepBefore();
#line 1023 "dchop.ch"
#line 1023 "dchop.ch"
#line 1023 "dchop.ch"
                PrintString(";");
#line 1023 "dchop.ch"
#line 1024 "dchop.ch"
            }
#line 1024 "dchop.ch"
#line 1025 "dchop.ch"
            (oldPostComment=paramTree);
#line 1025 "dchop.ch"
#line 1025 "dchop.ch"
#line 1026 "dchop.ch"
            comm(paramTree, POST);
#line 1026 "dchop.ch"
#line 1027 "dchop.ch"
            LNewLine(1);
#line 1027 "dchop.ch"
#line 1027 "dchop.ch"
#line 1028 "dchop.ch"
            break ;
#line 1028 "dchop.ch"
#line 1029 "dchop.ch"
        case cplus::SWITCH : 
#line 1029 "dchop.ch"
#line 1029 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 1029 "dchop.ch"
#line 1029 "dchop.ch"
#line 1029 "dchop.ch"
            (list=SonTree(paramTree, 2));
#line 1029 "dchop.ch"
#line 1029 "dchop.ch"
#line 1029 "dchop.ch"
        _Case122 : 
#line 1029 "dchop.ch"
#line 1029 "dchop.ch"
            ;
#line 1029 "dchop.ch"
#line 1030 "dchop.ch"
            (param=paramTree);
#line 1030 "dchop.ch"
#line 1030 "dchop.ch"
#line 1031 "dchop.ch"
            statementf = 0 ;
#line 1031 "dchop.ch"
#line 1032 "dchop.ch"
            PrintString("switch (");
#line 1032 "dchop.ch"
#line 1033 "dchop.ch"
            Mark();
#line 1033 "dchop.ch"
            Space(1);
#line 1033 "dchop.ch"
#line 1033 "dchop.ch"
            decomp(exp);
#line 1033 "dchop.ch"
#line 1033 "dchop.ch"
            Space(1);
#line 1033 "dchop.ch"
#line 1033 "dchop.ch"
            UnMark();
#line 1033 "dchop.ch"
#line 1033 "dchop.ch"
#line 1035 "dchop.ch"
            PrintString(")");
#line 1035 "dchop.ch"
#line 1035 "dchop.ch"
            Space(1);
#line 1035 "dchop.ch"
#line 1035 "dchop.ch"
#line 1036 "dchop.ch"
            if ( ansiMode ) 
#line 1036 "dchop.ch"
#line 1037 "dchop.ch"
                LNewLine(1);
#line 1037 "dchop.ch"
#line 1037 "dchop.ch"
#line 1038 "dchop.ch"
            if ( !(ansiMode && braceAlign) ) {
#line 1038 "dchop.ch"
#line 1039 "dchop.ch"
                                                    PrintString("{");
#line 1039 "dchop.ch"
#line 1039 "dchop.ch"
                                                    LNewLine(1);
#line 1039 "dchop.ch"
#line 1039 "dchop.ch"
#line 1039 "dchop.ch"
                                                 }
#line 1039 "dchop.ch"
#line 1041 "dchop.ch"
            statementf = 1 ;
#line 1041 "dchop.ch"
#line 1042 "dchop.ch"
            Tab();
#line 1042 "dchop.ch"
#line 1042 "dchop.ch"
#line 1043 "dchop.ch"
            Mark();
#line 1043 "dchop.ch"
            if ( ansiMode && braceAlign ) {
#line 1043 "dchop.ch"
#line 1044 "dchop.ch"
                                                PrintString("{");
#line 1044 "dchop.ch"
#line 1044 "dchop.ch"
                                                LNewLine(1);
#line 1044 "dchop.ch"
#line 1044 "dchop.ch"
#line 1044 "dchop.ch"
                                            }
#line 1044 "dchop.ch"
            while ( !((!list)) ) {
#line 1044 "dchop.ch"
#line 1047 "dchop.ch"
                                    (stat1=(son=(list?list.Nextl():(PPTREE)0)));
#line 1047 "dchop.ch"
#line 1047 "dchop.ch"
#line 1048 "dchop.ch"
                                    comm(son, PRE);
#line 1048 "dchop.ch"
#line 1049 "dchop.ch"
                                    if ( ((_inter = (PPTREE)son,1) && 
#line 1049 "dchop.ch"
                                            (NumberTree(_inter) == cplus::DEFAULT) &&
#line 1049 "dchop.ch"
                                            ((stat=SonTree(_inter,1)),1) &&
#line 1049 "dchop.ch"
                                            1) ) {
#line 1049 "dchop.ch"
#line 1050 "dchop.ch"
                                                    PrintString("default :");
#line 1050 "dchop.ch"
#line 1050 "dchop.ch"
                                                    Space(1);
#line 1050 "dchop.ch"
#line 1050 "dchop.ch"
#line 1050 "dchop.ch"
                                                 } else 
#line 1051 "dchop.ch"
                                    {
#line 1051 "dchop.ch"
#line 1052 "dchop.ch"
                                        statementf = 0 ;
#line 1052 "dchop.ch"
#line 1053 "dchop.ch"
                                        ((_inter = (PPTREE)son,1) && 
#line 1053 "dchop.ch"
                                            ((exp=SonTree(_inter,1)),1) &&
#line 1053 "dchop.ch"
                                            ((stat=SonTree(_inter,2)),1) &&
#line 1053 "dchop.ch"
                                            1);
#line 1053 "dchop.ch"
                                        ;
#line 1053 "dchop.ch"
#line 1054 "dchop.ch"
                                        PrintString("case ");
#line 1054 "dchop.ch"
#line 1054 "dchop.ch"
                                        decomp(exp);
#line 1054 "dchop.ch"
#line 1054 "dchop.ch"
#line 1054 "dchop.ch"
                                        Space(1);
#line 1054 "dchop.ch"
#line 1054 "dchop.ch"
#line 1054 "dchop.ch"
                                        PrintString(":");
#line 1054 "dchop.ch"
#line 1054 "dchop.ch"
                                        Space(1);
#line 1054 "dchop.ch"
#line 1054 "dchop.ch"
#line 1055 "dchop.ch"
                                        statementf = oldStatement ;
#line 1055 "dchop.ch"
#line 1055 "dchop.ch"
                                    }
#line 1055 "dchop.ch"
#line 1060 "dchop.ch"
                                    (son=sontree(stat, 1));
#line 1060 "dchop.ch"
#line 1060 "dchop.ch"
#line 1061 "dchop.ch"
                                    if ( !sontree(stat, 2) && singleSwitchIndent ) {
#line 1061 "dchop.ch"
#line 1062 "dchop.ch"
switch ( NumberTree(son) ) {
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    case cplus::COMPOUND : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    _Case147 : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        goto _Case148 ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    case cplus::CASE : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    _Case148 : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        goto _Case149 ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    case cplus::DEFAULT : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    _Case149 : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        goto _Case150 ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    case cplus::IF : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    _Case150 : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        goto _Case151 ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    case cplus::WHILE : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    _Case151 : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        goto _Case152 ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    case cplus::FOR : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    _Case152 : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        goto _Case153 ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    case cplus::DO : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    _Case153 : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        goto _Case154 ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    case cplus::SWITCH : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    _Case154 : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        goto _Case155 ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    case cplus::IF_DIR : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    _Case155 : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        goto _Case156 ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    case cplus::IFDEF_DIR : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    _Case156 : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        goto _Case157 ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    case cplus::IFNDEF_DIR : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    _Case157 : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        goto _Case158 ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    case cplus::NO_PRETTY : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    _Case158 : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        goto _Case159 ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    case cplus::ATTRIBUTS : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    _Case159 : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        goto _Case160 ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    case cplus::EXCEPTION : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    _Case160 : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        goto _Case161 ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    case cplus::EXCEPTION_ANSI : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
    _Case161 : 
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        ;
#line 1062 "dchop.ch"
#line 1062 "dchop.ch"
        goto _Case162 ;
#line 1062 "dchop.ch"
#line 1079 "dchop.ch"
    case cplus::CATCH_ANSI : 
#line 1079 "dchop.ch"
#line 1079 "dchop.ch"
    _Case162 : 
#line 1079 "dchop.ch"
#line 1079 "dchop.ch"
        ;
#line 1079 "dchop.ch"
#line 1079 "dchop.ch"
        oneInstruct = 0 ;
#line 1079 "dchop.ch"
#line 1080 "dchop.ch"
        break ;
#line 1080 "dchop.ch"
#line 1088 "dchop.ch"
    default : 
#line 1088 "dchop.ch"
#line 1088 "dchop.ch"
    _Case163 : 
#line 1088 "dchop.ch"
#line 1088 "dchop.ch"
        ;
#line 1088 "dchop.ch"
#line 1088 "dchop.ch"
        if ( son && !IsComm(son, PRE) ) 
#line 1088 "dchop.ch"
#line 1089 "dchop.ch"
            oneInstruct = 1 ;
#line 1089 "dchop.ch"
        else 
#line 1089 "dchop.ch"
#line 1091 "dchop.ch"
            oneInstruct = 0 ;
#line 1091 "dchop.ch"
#line 1091 "dchop.ch"
}
#line 1091 "dchop.ch"
#line 1091 "dchop.ch"
#line 1091 "dchop.ch"
                                                                                        } else 
#line 1091 "dchop.ch"
#line 1094 "dchop.ch"
                                        oneInstruct = 0 ;
#line 1094 "dchop.ch"
#line 1094 "dchop.ch"
#line 1095 "dchop.ch"
                                    if ( !oneInstruct ) {
#line 1095 "dchop.ch"
#line 1096 "dchop.ch"
                                                            LNewLine(1);
#line 1096 "dchop.ch"
#line 1096 "dchop.ch"
#line 1097 "dchop.ch"
                                                            if ( !(ansiMode && braceAlign) || !(((_inter = (PPTREE)son,1) && 
#line 1097 "dchop.ch"
(NumberTree(_inter) == cplus::COMPOUND) &&
#line 1097 "dchop.ch"
1)                                                                                                ) ) 
#line 1097 "dchop.ch"
#line 1099 "dchop.ch"
                                                                Tab();
#line 1099 "dchop.ch"
#line 1099 "dchop.ch"
#line 1099 "dchop.ch"
                                                          }
#line 1099 "dchop.ch"
#line 1102 "dchop.ch"
                                    Mark();
#line 1102 "dchop.ch"
                                    while ( !((!stat)) ) {
#line 1102 "dchop.ch"
#line 1103 "dchop.ch"
                                                            (son=(stat?stat.Nextl():(PPTREE)0));
#line 1103 "dchop.ch"
#line 1103 "dchop.ch"
#line 1104 "dchop.ch"
                                                            (postComment=son);
#line 1104 "dchop.ch"
#line 1104 "dchop.ch"
#line 1105 "dchop.ch"
                                                            decomp(son);
#line 1105 "dchop.ch"
#line 1105 "dchop.ch"
#line 1106 "dchop.ch"
                                                            if ( !Sequence(son, sontree(stat, 1)) ) {
#line 1106 "dchop.ch"
#line 1107 "dchop.ch"
control_stat1(son);
#line 1107 "dchop.ch"
#line 1108 "dchop.ch"
LNewLine(1);
#line 1108 "dchop.ch"
#line 1108 "dchop.ch"
#line 1108 "dchop.ch"
                                                                                                          } else 
#line 1109 "dchop.ch"
                                                            {
#line 1109 "dchop.ch"
#line 1110 "dchop.ch"
                                                                Space(1);
#line 1110 "dchop.ch"
#line 1110 "dchop.ch"
#line 1110 "dchop.ch"
                                                            }
#line 1110 "dchop.ch"
#line 1110 "dchop.ch"
                                                           }
#line 1110 "dchop.ch"
                                    UnMark();
#line 1110 "dchop.ch"
#line 1110 "dchop.ch"
#line 1114 "dchop.ch"
                                    comm(stat1, POST);
#line 1114 "dchop.ch"
#line 1114 "dchop.ch"
                                   }
#line 1114 "dchop.ch"
            if ( ansiMode && braceAlign ) {
#line 1114 "dchop.ch"
#line 1117 "dchop.ch"
                                                PrintString("}");
#line 1117 "dchop.ch"
#line 1117 "dchop.ch"
                                                LNewLine(1);
#line 1117 "dchop.ch"
#line 1117 "dchop.ch"
#line 1117 "dchop.ch"
                                            }
#line 1117 "dchop.ch"
            UnMark();
#line 1117 "dchop.ch"
#line 1117 "dchop.ch"
#line 1120 "dchop.ch"
            if ( !(ansiMode && braceAlign) ) {
#line 1120 "dchop.ch"
#line 1121 "dchop.ch"
                                                    PrintString("}");
#line 1121 "dchop.ch"
#line 1121 "dchop.ch"
                                                    LNewLine(1);
#line 1121 "dchop.ch"
#line 1121 "dchop.ch"
#line 1121 "dchop.ch"
                                                 }
#line 1121 "dchop.ch"
#line 1123 "dchop.ch"
            break ;
#line 1123 "dchop.ch"
#line 1124 "dchop.ch"
        case cplus::WHILE : 
#line 1124 "dchop.ch"
#line 1124 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 1124 "dchop.ch"
#line 1124 "dchop.ch"
#line 1124 "dchop.ch"
            (stat=SonTree(paramTree, 2));
#line 1124 "dchop.ch"
#line 1124 "dchop.ch"
#line 1124 "dchop.ch"
        _Case123 : 
#line 1124 "dchop.ch"
#line 1124 "dchop.ch"
            ;
#line 1124 "dchop.ch"
#line 1125 "dchop.ch"
            statementf = 0 ;
#line 1125 "dchop.ch"
#line 1126 "dchop.ch"
            PrintString("while (");
#line 1126 "dchop.ch"
#line 1127 "dchop.ch"
            Mark();
#line 1127 "dchop.ch"
            Space(1);
#line 1127 "dchop.ch"
#line 1127 "dchop.ch"
            decomp(exp);
#line 1127 "dchop.ch"
#line 1127 "dchop.ch"
            Space(1);
#line 1127 "dchop.ch"
#line 1127 "dchop.ch"
            UnMark();
#line 1127 "dchop.ch"
#line 1127 "dchop.ch"
#line 1129 "dchop.ch"
            PrintString(")");
#line 1129 "dchop.ch"
#line 1129 "dchop.ch"
            Space(1);
#line 1129 "dchop.ch"
#line 1129 "dchop.ch"
#line 1130 "dchop.ch"
            statementf = 1 ;
#line 1130 "dchop.ch"
#line 1131 "dchop.ch"
            if ( !(((_inter = (PPTREE)stat,1) && 
#line 1131 "dchop.ch"
                        (NumberTree(_inter) == cplus::COMPOUND) &&
#line 1131 "dchop.ch"
                        1)) ) {
#line 1131 "dchop.ch"
#line 1132 "dchop.ch"
                                (postComment=stat);
#line 1132 "dchop.ch"
#line 1132 "dchop.ch"
#line 1133 "dchop.ch"
                                LNewLine(1);
#line 1133 "dchop.ch"
#line 1133 "dchop.ch"
#line 1134 "dchop.ch"
                                Tab();
#line 1134 "dchop.ch"
#line 1134 "dchop.ch"
#line 1135 "dchop.ch"
                                Mark();
#line 1135 "dchop.ch"
                                decomp(stat);
#line 1135 "dchop.ch"
#line 1135 "dchop.ch"
                                UnMark();
#line 1135 "dchop.ch"
#line 1135 "dchop.ch"
#line 1137 "dchop.ch"
                                if ( !Sequence(stat, stat) ) {
#line 1137 "dchop.ch"
#line 1138 "dchop.ch"
                                                                    control_stat1(stat);
#line 1138 "dchop.ch"
#line 1138 "dchop.ch"
                                                                 } else 
#line 1139 "dchop.ch"
                                {
#line 1139 "dchop.ch"
#line 1140 "dchop.ch"
                                    Space(1);
#line 1140 "dchop.ch"
#line 1140 "dchop.ch"
#line 1140 "dchop.ch"
                                }
#line 1140 "dchop.ch"
#line 1140 "dchop.ch"
                              } else 
#line 1142 "dchop.ch"
            {
#line 1142 "dchop.ch"
#line 1143 "dchop.ch"
                decomp(stat);
#line 1143 "dchop.ch"
#line 1143 "dchop.ch"
#line 1143 "dchop.ch"
            }
#line 1143 "dchop.ch"
#line 1145 "dchop.ch"
            break ;
#line 1145 "dchop.ch"
#line 1146 "dchop.ch"
        case cplus::EXCEPTION_ANSI : 
#line 1146 "dchop.ch"
#line 1146 "dchop.ch"
            (stat=SonTree(paramTree, 1));
#line 1146 "dchop.ch"
#line 1146 "dchop.ch"
#line 1146 "dchop.ch"
            (list=SonTree(paramTree, 2));
#line 1146 "dchop.ch"
#line 1146 "dchop.ch"
#line 1146 "dchop.ch"
        _Case124 : 
#line 1146 "dchop.ch"
#line 1146 "dchop.ch"
            ;
#line 1146 "dchop.ch"
#line 1147 "dchop.ch"
            PrintString("try");
#line 1147 "dchop.ch"
#line 1148 "dchop.ch"
            if ( !(((_inter = (PPTREE)stat,1) && 
#line 1148 "dchop.ch"
                        (NumberTree(_inter) == cplus::COMPOUND) &&
#line 1148 "dchop.ch"
                        1)) ) {
#line 1148 "dchop.ch"
#line 1149 "dchop.ch"
                                (postComment=stat);
#line 1149 "dchop.ch"
#line 1149 "dchop.ch"
#line 1150 "dchop.ch"
                                LNewLine(1);
#line 1150 "dchop.ch"
#line 1150 "dchop.ch"
#line 1151 "dchop.ch"
                                Tab();
#line 1151 "dchop.ch"
#line 1151 "dchop.ch"
#line 1152 "dchop.ch"
                                Mark();
#line 1152 "dchop.ch"
                                decomp(stat);
#line 1152 "dchop.ch"
#line 1152 "dchop.ch"
                                UnMark();
#line 1152 "dchop.ch"
#line 1152 "dchop.ch"
#line 1154 "dchop.ch"
                                if ( !Sequence(stat, stat) ) {
#line 1154 "dchop.ch"
#line 1155 "dchop.ch"
                                                                    control_stat1(stat);
#line 1155 "dchop.ch"
#line 1155 "dchop.ch"
                                                                 } else 
#line 1156 "dchop.ch"
                                {
#line 1156 "dchop.ch"
#line 1157 "dchop.ch"
                                    Space(1);
#line 1157 "dchop.ch"
#line 1157 "dchop.ch"
#line 1157 "dchop.ch"
                                }
#line 1157 "dchop.ch"
#line 1157 "dchop.ch"
                              } else 
#line 1159 "dchop.ch"
            {
#line 1159 "dchop.ch"
#line 1160 "dchop.ch"
                decomp(stat);
#line 1160 "dchop.ch"
#line 1160 "dchop.ch"
#line 1160 "dchop.ch"
            }
#line 1160 "dchop.ch"
#line 1162 "dchop.ch"
            DecompList(list, "", "", 1);
#line 1162 "dchop.ch"
#line 1163 "dchop.ch"
            break ;
#line 1163 "dchop.ch"
#line 1164 "dchop.ch"
        case cplus::CATCH_ANSI : 
#line 1164 "dchop.ch"
#line 1164 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 1164 "dchop.ch"
#line 1164 "dchop.ch"
#line 1164 "dchop.ch"
            (stat=SonTree(paramTree, 2));
#line 1164 "dchop.ch"
#line 1164 "dchop.ch"
#line 1164 "dchop.ch"
        _Case125 : 
#line 1164 "dchop.ch"
#line 1164 "dchop.ch"
            ;
#line 1164 "dchop.ch"
#line 1165 "dchop.ch"
            statementf = 0 ;
#line 1165 "dchop.ch"
#line 1166 "dchop.ch"
            PrintString("catch (");
#line 1166 "dchop.ch"
#line 1167 "dchop.ch"
            Mark();
#line 1167 "dchop.ch"
            Space(1);
#line 1167 "dchop.ch"
#line 1167 "dchop.ch"
            decomp(exp);
#line 1167 "dchop.ch"
#line 1167 "dchop.ch"
            Space(1);
#line 1167 "dchop.ch"
#line 1167 "dchop.ch"
            UnMark();
#line 1167 "dchop.ch"
#line 1167 "dchop.ch"
#line 1169 "dchop.ch"
            PrintString(")");
#line 1169 "dchop.ch"
#line 1169 "dchop.ch"
            Space(1);
#line 1169 "dchop.ch"
#line 1169 "dchop.ch"
#line 1170 "dchop.ch"
            statementf = 1 ;
#line 1170 "dchop.ch"
#line 1171 "dchop.ch"
            if ( !(((_inter = (PPTREE)stat,1) && 
#line 1171 "dchop.ch"
                        (NumberTree(_inter) == cplus::COMPOUND) &&
#line 1171 "dchop.ch"
                        1)) ) {
#line 1171 "dchop.ch"
#line 1172 "dchop.ch"
                                (postComment=stat);
#line 1172 "dchop.ch"
#line 1172 "dchop.ch"
#line 1173 "dchop.ch"
                                LNewLine(1);
#line 1173 "dchop.ch"
#line 1173 "dchop.ch"
#line 1174 "dchop.ch"
                                Tab();
#line 1174 "dchop.ch"
#line 1174 "dchop.ch"
#line 1175 "dchop.ch"
                                Mark();
#line 1175 "dchop.ch"
                                decomp(stat);
#line 1175 "dchop.ch"
#line 1175 "dchop.ch"
                                UnMark();
#line 1175 "dchop.ch"
#line 1175 "dchop.ch"
#line 1177 "dchop.ch"
                                if ( !Sequence(stat, stat) ) {
#line 1177 "dchop.ch"
#line 1178 "dchop.ch"
                                                                    control_stat1(stat);
#line 1178 "dchop.ch"
#line 1178 "dchop.ch"
                                                                 } else 
#line 1179 "dchop.ch"
                                {
#line 1179 "dchop.ch"
#line 1180 "dchop.ch"
                                    Space(1);
#line 1180 "dchop.ch"
#line 1180 "dchop.ch"
#line 1180 "dchop.ch"
                                }
#line 1180 "dchop.ch"
#line 1180 "dchop.ch"
                              } else 
#line 1182 "dchop.ch"
            {
#line 1182 "dchop.ch"
#line 1183 "dchop.ch"
                decomp(stat);
#line 1183 "dchop.ch"
#line 1183 "dchop.ch"
#line 1183 "dchop.ch"
            }
#line 1183 "dchop.ch"
#line 1185 "dchop.ch"
            break ;
#line 1185 "dchop.ch"
#line 1186 "dchop.ch"
        case cplus::THROW_ANSI : 
#line 1186 "dchop.ch"
#line 1186 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 1186 "dchop.ch"
#line 1186 "dchop.ch"
#line 1186 "dchop.ch"
        _Case126 : 
#line 1186 "dchop.ch"
#line 1186 "dchop.ch"
            ;
#line 1186 "dchop.ch"
#line 1187 "dchop.ch"
            statementf = 0 ;
#line 1187 "dchop.ch"
#line 1188 "dchop.ch"
            PrintString("throw");
#line 1188 "dchop.ch"
#line 1188 "dchop.ch"
            Space(1);
#line 1188 "dchop.ch"
#line 1188 "dchop.ch"
#line 1188 "dchop.ch"
            decomp(exp);
#line 1188 "dchop.ch"
#line 1188 "dchop.ch"
#line 1190 "dchop.ch"
            {
#line 1190 "dchop.ch"
#line 1190 "dchop.ch"
                SepBefore();
#line 1190 "dchop.ch"
#line 1190 "dchop.ch"
#line 1190 "dchop.ch"
                PrintString(";");
#line 1190 "dchop.ch"
#line 1191 "dchop.ch"
            }
#line 1191 "dchop.ch"
#line 1192 "dchop.ch"
            (oldPostComment=paramTree);
#line 1192 "dchop.ch"
#line 1192 "dchop.ch"
#line 1193 "dchop.ch"
            comm(paramTree, POST);
#line 1193 "dchop.ch"
#line 1194 "dchop.ch"
            LNewLine(1);
#line 1194 "dchop.ch"
#line 1194 "dchop.ch"
#line 1195 "dchop.ch"
            break ;
#line 1195 "dchop.ch"
#line 1196 "dchop.ch"
        case cplus::TIDENT : 
#line 1196 "dchop.ch"
#line 1196 "dchop.ch"
            (ident=SonTree(paramTree, 1));
#line 1196 "dchop.ch"
#line 1196 "dchop.ch"
#line 1196 "dchop.ch"
        _Case127 : 
#line 1196 "dchop.ch"
#line 1196 "dchop.ch"
            ;
#line 1196 "dchop.ch"
#line 1197 "dchop.ch"
            decomp(ident);
#line 1197 "dchop.ch"
#line 1197 "dchop.ch"
#line 1198 "dchop.ch"
            break ;
#line 1198 "dchop.ch"
#line 1199 "dchop.ch"
        case cplus::INCLUDE_DIR : 
#line 1199 "dchop.ch"
#line 1199 "dchop.ch"
            (param=SonTree(paramTree, 1));
#line 1199 "dchop.ch"
#line 1199 "dchop.ch"
#line 1199 "dchop.ch"
        _Case128 : 
#line 1199 "dchop.ch"
#line 1199 "dchop.ch"
            ;
#line 1199 "dchop.ch"
#line 1200 "dchop.ch"
            gotocol(0);
#line 1200 "dchop.ch"
#line 1201 "dchop.ch"
            PrintString("#include ");
#line 1201 "dchop.ch"
#line 1202 "dchop.ch"
            if ( ((_inter = (PPTREE)param,1) && 
#line 1202 "dchop.ch"
                    (NumberTree(_inter) == cplus::STRING) &&
#line 1202 "dchop.ch"
                    1) ) {
#line 1202 "dchop.ch"
#line 1203 "dchop.ch"
                            decomp(param);
#line 1203 "dchop.ch"
#line 1203 "dchop.ch"
#line 1203 "dchop.ch"
                         } else 
#line 1204 "dchop.ch"
            {
#line 1204 "dchop.ch"
#line 1205 "dchop.ch"
                PrintString("<");
#line 1205 "dchop.ch"
#line 1205 "dchop.ch"
                DumpBrainyValue(param);
#line 1205 "dchop.ch"
#line 1205 "dchop.ch"
#line 1205 "dchop.ch"
                PrintString(">");
#line 1205 "dchop.ch"
#line 1205 "dchop.ch"
            }
#line 1205 "dchop.ch"
#line 1207 "dchop.ch"
            (oldPostComment=paramTree);
#line 1207 "dchop.ch"
#line 1207 "dchop.ch"
#line 1208 "dchop.ch"
            comm(paramTree, POST);
#line 1208 "dchop.ch"
#line 1209 "dchop.ch"
            if ( !LastInTopList(paramTree) ) 
#line 1209 "dchop.ch"
#line 1210 "dchop.ch"
                LNewLine(1);
#line 1210 "dchop.ch"
#line 1210 "dchop.ch"
#line 1211 "dchop.ch"
            break ;
#line 1211 "dchop.ch"
#line 1212 "dchop.ch"
        case cplus::DEFINE_DIR : 
#line 1212 "dchop.ch"
#line 1212 "dchop.ch"
            (ident=SonTree(paramTree, 1));
#line 1212 "dchop.ch"
#line 1212 "dchop.ch"
#line 1212 "dchop.ch"
            (param=SonTree(paramTree, 2));
#line 1212 "dchop.ch"
#line 1212 "dchop.ch"
#line 1212 "dchop.ch"
            (val=SonTree(paramTree, 3));
#line 1212 "dchop.ch"
#line 1212 "dchop.ch"
#line 1212 "dchop.ch"
        _Case129 : 
#line 1212 "dchop.ch"
#line 1212 "dchop.ch"
            ;
#line 1212 "dchop.ch"
#line 1213 "dchop.ch"
            gotocol(0);
#line 1213 "dchop.ch"
#line 1215 "dchop.ch"
            Mark();
#line 1215 "dchop.ch"
            PrintString("#define ");
#line 1215 "dchop.ch"
            DumpBrainyValue(ident);
#line 1215 "dchop.ch"
#line 1215 "dchop.ch"
            if ( !((!param)) ) {
#line 1215 "dchop.ch"
#line 1217 "dchop.ch"
                                    PrintString("(");
#line 1217 "dchop.ch"
#line 1218 "dchop.ch"
                                    while ( !((!param)) ) {
#line 1218 "dchop.ch"
#line 1219 "dchop.ch"
                                                                (son=(param?param.Nextl():(PPTREE)0));
#line 1219 "dchop.ch"
#line 1219 "dchop.ch"
#line 1220 "dchop.ch"
                                                                decomp(son);
#line 1220 "dchop.ch"
#line 1220 "dchop.ch"
#line 1221 "dchop.ch"
                                                                if ( !((!param)) ) {
#line 1221 "dchop.ch"
#line 1222 "dchop.ch"
PrintString(",");
#line 1222 "dchop.ch"
#line 1222 "dchop.ch"
Space(1);
#line 1222 "dchop.ch"
#line 1222 "dchop.ch"
#line 1222 "dchop.ch"
                                                                                     }
#line 1222 "dchop.ch"
#line 1222 "dchop.ch"
                                                            }
#line 1222 "dchop.ch"
#line 1225 "dchop.ch"
                                    PrintString(")");
#line 1225 "dchop.ch"
#line 1225 "dchop.ch"
                                 }
#line 1225 "dchop.ch"
            Space(1);
#line 1225 "dchop.ch"
#line 1225 "dchop.ch"
            if ( !(((_inter = (PPTREE)val,1) && 
#line 1225 "dchop.ch"
                        (NumberTree(_inter) == LIST) &&
#line 1225 "dchop.ch"
                        1)) ) {
#line 1225 "dchop.ch"
#line 1229 "dchop.ch"
                                DumpBrainyValue(val);
#line 1229 "dchop.ch"
#line 1229 "dchop.ch"
#line 1230 "dchop.ch"
                                comm(val, POST);
#line 1230 "dchop.ch"
#line 1231 "dchop.ch"
                                if ( !LastInTopList(paramTree) ) 
#line 1231 "dchop.ch"
#line 1232 "dchop.ch"
                                    LNewLine(1);
#line 1232 "dchop.ch"
#line 1232 "dchop.ch"
#line 1232 "dchop.ch"
                              } else 
#line 1233 "dchop.ch"
            {
#line 1233 "dchop.ch"
#line 1234 "dchop.ch"
                while ( !((!val)) ) {
#line 1234 "dchop.ch"
#line 1235 "dchop.ch"
                                        (son=(val?val.Nextl():(PPTREE)0));
#line 1235 "dchop.ch"
#line 1235 "dchop.ch"
#line 1236 "dchop.ch"
                                        DumpBrainyValue(son);
#line 1236 "dchop.ch"
#line 1236 "dchop.ch"
#line 1237 "dchop.ch"
                                        comm(son, POST);
#line 1237 "dchop.ch"
#line 1238 "dchop.ch"
                                        if ( !((!val)) ) 
#line 1238 "dchop.ch"
#line 1239 "dchop.ch"
                                            LNewLine(1);
#line 1239 "dchop.ch"
#line 1239 "dchop.ch"
#line 1239 "dchop.ch"
                                      }
#line 1239 "dchop.ch"
#line 1241 "dchop.ch"
                if ( !LastInTopList(paramTree) ) 
#line 1241 "dchop.ch"
#line 1242 "dchop.ch"
                    LNewLine(1);
#line 1242 "dchop.ch"
#line 1242 "dchop.ch"
#line 1242 "dchop.ch"
            }
#line 1242 "dchop.ch"
            UnMark();
#line 1242 "dchop.ch"
#line 1242 "dchop.ch"
#line 1245 "dchop.ch"
            break ;
#line 1245 "dchop.ch"
#line 1246 "dchop.ch"
        case cplus::UNDEF : 
#line 1246 "dchop.ch"
#line 1246 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 1246 "dchop.ch"
#line 1246 "dchop.ch"
#line 1246 "dchop.ch"
        _Case130 : 
#line 1246 "dchop.ch"
#line 1246 "dchop.ch"
            ;
#line 1246 "dchop.ch"
#line 1247 "dchop.ch"
            gotocol(0);
#line 1247 "dchop.ch"
#line 1248 "dchop.ch"
            PrintString("#undef");
#line 1248 "dchop.ch"
#line 1248 "dchop.ch"
            DumpBrainyValue(exp);
#line 1248 "dchop.ch"
#line 1248 "dchop.ch"
#line 1249 "dchop.ch"
            break ;
#line 1249 "dchop.ch"
#line 1250 "dchop.ch"
        case cplus::PRAGMA : 
#line 1250 "dchop.ch"
#line 1250 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 1250 "dchop.ch"
#line 1250 "dchop.ch"
#line 1250 "dchop.ch"
        _Case131 : 
#line 1250 "dchop.ch"
#line 1250 "dchop.ch"
            ;
#line 1250 "dchop.ch"
#line 1251 "dchop.ch"
            gotocol(0);
#line 1251 "dchop.ch"
#line 1252 "dchop.ch"
            PrintString("#pragma ");
#line 1252 "dchop.ch"
#line 1252 "dchop.ch"
            DumpBrainyValue(exp);
#line 1252 "dchop.ch"
#line 1252 "dchop.ch"
#line 1253 "dchop.ch"
            break ;
#line 1253 "dchop.ch"
#line 1254 "dchop.ch"
        case cplus::CONFIG : 
#line 1254 "dchop.ch"
#line 1254 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 1254 "dchop.ch"
#line 1254 "dchop.ch"
#line 1254 "dchop.ch"
        _Case132 : 
#line 1254 "dchop.ch"
#line 1254 "dchop.ch"
            ;
#line 1254 "dchop.ch"
#line 1255 "dchop.ch"
            gotocol(0);
#line 1255 "dchop.ch"
#line 1256 "dchop.ch"
            PrintString("#pragma config ");
#line 1256 "dchop.ch"
#line 1256 "dchop.ch"
            decomp(exp);
#line 1256 "dchop.ch"
#line 1256 "dchop.ch"
#line 1257 "dchop.ch"
            break ;
#line 1257 "dchop.ch"
#line 1258 "dchop.ch"
        case cplus::SIMPLIFY : 
#line 1258 "dchop.ch"
#line 1258 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 1258 "dchop.ch"
#line 1258 "dchop.ch"
#line 1258 "dchop.ch"
        _Case133 : 
#line 1258 "dchop.ch"
#line 1258 "dchop.ch"
            ;
#line 1258 "dchop.ch"
#line 1259 "dchop.ch"
            gotocol(0);
#line 1259 "dchop.ch"
#line 1260 "dchop.ch"
            PrintString("#pragma simplify ");
#line 1260 "dchop.ch"
#line 1260 "dchop.ch"
            decomp(exp);
#line 1260 "dchop.ch"
#line 1260 "dchop.ch"
#line 1261 "dchop.ch"
            break ;
#line 1261 "dchop.ch"
#line 1262 "dchop.ch"
        case cplus::TAB_VALUE : 
#line 1262 "dchop.ch"
#line 1262 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 1262 "dchop.ch"
#line 1262 "dchop.ch"
#line 1262 "dchop.ch"
        _Case134 : 
#line 1262 "dchop.ch"
#line 1262 "dchop.ch"
            ;
#line 1262 "dchop.ch"
#line 1263 "dchop.ch"
            PrintString("tab ");
#line 1263 "dchop.ch"
#line 1263 "dchop.ch"
            DumpBrainyValue(exp);
#line 1263 "dchop.ch"
#line 1263 "dchop.ch"
#line 1264 "dchop.ch"
            break ;
#line 1264 "dchop.ch"
#line 1265 "dchop.ch"
        case cplus::MODE_VALUE : 
#line 1265 "dchop.ch"
#line 1265 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 1265 "dchop.ch"
#line 1265 "dchop.ch"
#line 1265 "dchop.ch"
        _Case135 : 
#line 1265 "dchop.ch"
#line 1265 "dchop.ch"
            ;
#line 1265 "dchop.ch"
#line 1266 "dchop.ch"
            PrintString("mode ");
#line 1266 "dchop.ch"
#line 1266 "dchop.ch"
            DumpBrainyValue(exp);
#line 1266 "dchop.ch"
#line 1266 "dchop.ch"
#line 1267 "dchop.ch"
            break ;
#line 1267 "dchop.ch"
#line 1268 "dchop.ch"
        case cplus::BRACE_ALIGN_VALUE : 
#line 1268 "dchop.ch"
#line 1268 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 1268 "dchop.ch"
#line 1268 "dchop.ch"
#line 1268 "dchop.ch"
        _Case136 : 
#line 1268 "dchop.ch"
#line 1268 "dchop.ch"
            ;
#line 1268 "dchop.ch"
#line 1269 "dchop.ch"
            PrintString("brace_align ");
#line 1269 "dchop.ch"
#line 1269 "dchop.ch"
            DumpBrainyValue(exp);
#line 1269 "dchop.ch"
#line 1269 "dchop.ch"
#line 1270 "dchop.ch"
            break ;
#line 1270 "dchop.ch"
#line 1271 "dchop.ch"
        case cplus::SINGLE_SWITCH_INDENT_VALUE : 
#line 1271 "dchop.ch"
#line 1271 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 1271 "dchop.ch"
#line 1271 "dchop.ch"
#line 1271 "dchop.ch"
        _Case137 : 
#line 1271 "dchop.ch"
#line 1271 "dchop.ch"
            ;
#line 1271 "dchop.ch"
#line 1272 "dchop.ch"
            PrintString("single_switch_indent ");
#line 1272 "dchop.ch"
#line 1272 "dchop.ch"
            DumpBrainyValue(exp);
#line 1272 "dchop.ch"
#line 1272 "dchop.ch"
#line 1273 "dchop.ch"
            break ;
#line 1273 "dchop.ch"
#line 1274 "dchop.ch"
        case cplus::MARGIN_VALUE : 
#line 1274 "dchop.ch"
#line 1274 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 1274 "dchop.ch"
#line 1274 "dchop.ch"
#line 1274 "dchop.ch"
        _Case138 : 
#line 1274 "dchop.ch"
#line 1274 "dchop.ch"
            ;
#line 1274 "dchop.ch"
#line 1275 "dchop.ch"
            PrintString("margin ");
#line 1275 "dchop.ch"
#line 1275 "dchop.ch"
            DumpBrainyValue(exp);
#line 1275 "dchop.ch"
#line 1275 "dchop.ch"
#line 1276 "dchop.ch"
            break ;
#line 1276 "dchop.ch"
#line 1277 "dchop.ch"
        case cplus::ERROR : 
#line 1277 "dchop.ch"
#line 1277 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 1277 "dchop.ch"
#line 1277 "dchop.ch"
#line 1277 "dchop.ch"
        _Case139 : 
#line 1277 "dchop.ch"
#line 1277 "dchop.ch"
            ;
#line 1277 "dchop.ch"
#line 1278 "dchop.ch"
            gotocol(0);
#line 1278 "dchop.ch"
#line 1279 "dchop.ch"
            PrintString("#error ");
#line 1279 "dchop.ch"
#line 1279 "dchop.ch"
            DumpBrainyValue(exp);
#line 1279 "dchop.ch"
#line 1279 "dchop.ch"
#line 1280 "dchop.ch"
            break ;
#line 1280 "dchop.ch"
#line 1281 "dchop.ch"
        case cplus::NO_PRETTY : 
#line 1281 "dchop.ch"
#line 1281 "dchop.ch"
            (list=SonTree(paramTree, 1));
#line 1281 "dchop.ch"
#line 1281 "dchop.ch"
#line 1281 "dchop.ch"
        _Case140 : 
#line 1281 "dchop.ch"
#line 1281 "dchop.ch"
            ;
#line 1281 "dchop.ch"
#line 1282 "dchop.ch"
            GotoCol(0);
#line 1282 "dchop.ch"
#line 1284 "dchop.ch"
            Mark();
#line 1284 "dchop.ch"
            PrintString("#pragma nopretty");
#line 1284 "dchop.ch"
            LNewLine(1);
#line 1284 "dchop.ch"
#line 1284 "dchop.ch"
            while ( !((!list)) ) {
#line 1284 "dchop.ch"
#line 1286 "dchop.ch"
                                    (son=(list?list.Nextl():(PPTREE)0));
#line 1286 "dchop.ch"
#line 1286 "dchop.ch"
#line 1287 "dchop.ch"
                                    DumpBrainyValue(son);
#line 1287 "dchop.ch"
#line 1287 "dchop.ch"
#line 1287 "dchop.ch"
                                    LNewLine(1);
#line 1287 "dchop.ch"
#line 1287 "dchop.ch"
#line 1287 "dchop.ch"
                                   }
#line 1287 "dchop.ch"
            LNewLine(1);
#line 1287 "dchop.ch"
#line 1287 "dchop.ch"
            PrintString("#pragma pretty");
#line 1287 "dchop.ch"
            if ( !LastInTopList(paramTree) ) 
#line 1287 "dchop.ch"
#line 1292 "dchop.ch"
                LNewLine(1);
#line 1292 "dchop.ch"
#line 1292 "dchop.ch"
            UnMark();
#line 1292 "dchop.ch"
#line 1292 "dchop.ch"
#line 1294 "dchop.ch"
            break ;
#line 1294 "dchop.ch"
#line 1295 "dchop.ch"
        case cplus::IFDEF_DIR : 
#line 1295 "dchop.ch"
#line 1295 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 1295 "dchop.ch"
#line 1295 "dchop.ch"
#line 1295 "dchop.ch"
            (stat1=SonTree(paramTree, 2));
#line 1295 "dchop.ch"
#line 1295 "dchop.ch"
#line 1295 "dchop.ch"
            (stat2=SonTree(paramTree, 3));
#line 1295 "dchop.ch"
#line 1295 "dchop.ch"
#line 1295 "dchop.ch"
        _Case141 : 
#line 1295 "dchop.ch"
#line 1295 "dchop.ch"
            ;
#line 1295 "dchop.ch"
#line 1295 "dchop.ch"
            goto _Case142 ;
#line 1295 "dchop.ch"
#line 1296 "dchop.ch"
        case cplus::IFNDEF_DIR : 
#line 1296 "dchop.ch"
#line 1296 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 1296 "dchop.ch"
#line 1296 "dchop.ch"
#line 1296 "dchop.ch"
            (stat1=SonTree(paramTree, 2));
#line 1296 "dchop.ch"
#line 1296 "dchop.ch"
#line 1296 "dchop.ch"
            (stat2=SonTree(paramTree, 3));
#line 1296 "dchop.ch"
#line 1296 "dchop.ch"
#line 1296 "dchop.ch"
        _Case142 : 
#line 1296 "dchop.ch"
#line 1296 "dchop.ch"
            ;
#line 1296 "dchop.ch"
#line 1296 "dchop.ch"
            goto _Case143 ;
#line 1296 "dchop.ch"
#line 1297 "dchop.ch"
        case cplus::IF_DIR : 
#line 1297 "dchop.ch"
#line 1297 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 1297 "dchop.ch"
#line 1297 "dchop.ch"
#line 1297 "dchop.ch"
            (stat1=SonTree(paramTree, 2));
#line 1297 "dchop.ch"
#line 1297 "dchop.ch"
#line 1297 "dchop.ch"
            (stat2=SonTree(paramTree, 3));
#line 1297 "dchop.ch"
#line 1297 "dchop.ch"
#line 1297 "dchop.ch"
        _Case143 : 
#line 1297 "dchop.ch"
#line 1297 "dchop.ch"
            ;
#line 1297 "dchop.ch"
#line 1298 "dchop.ch"
            gotocol(0);
#line 1298 "dchop.ch"
#line 1299 "dchop.ch"
            switch ( NumberTree(paramTree) ) {
#line 1299 "dchop.ch"
#line 1301 "dchop.ch"
                case cplus::IFDEF_DIR : 
#line 1301 "dchop.ch"
#line 1301 "dchop.ch"
                _Case164 : 
#line 1301 "dchop.ch"
#line 1301 "dchop.ch"
                    ;
#line 1301 "dchop.ch"
#line 1301 "dchop.ch"
                    PrintString("#ifdef ");
#line 1301 "dchop.ch"
#line 1302 "dchop.ch"
                    break ;
#line 1302 "dchop.ch"
#line 1304 "dchop.ch"
                case cplus::IFNDEF_DIR : 
#line 1304 "dchop.ch"
#line 1304 "dchop.ch"
                _Case165 : 
#line 1304 "dchop.ch"
#line 1304 "dchop.ch"
                    ;
#line 1304 "dchop.ch"
#line 1304 "dchop.ch"
                    PrintString("#ifndef ");
#line 1304 "dchop.ch"
#line 1305 "dchop.ch"
                    break ;
#line 1305 "dchop.ch"
#line 1307 "dchop.ch"
                case cplus::IF_DIR : 
#line 1307 "dchop.ch"
#line 1307 "dchop.ch"
                _Case166 : 
#line 1307 "dchop.ch"
#line 1307 "dchop.ch"
                    ;
#line 1307 "dchop.ch"
#line 1307 "dchop.ch"
                    PrintString("#if ");
#line 1307 "dchop.ch"
#line 1308 "dchop.ch"
                    break ;
#line 1308 "dchop.ch"
            }
#line 1308 "dchop.ch"
#line 1308 "dchop.ch"
#line 1310 "dchop.ch"
            decomp(exp);
#line 1310 "dchop.ch"
#line 1310 "dchop.ch"
#line 1310 "dchop.ch"
            LNewLine(1);
#line 1310 "dchop.ch"
#line 1310 "dchop.ch"
#line 1311 "dchop.ch"
            while ( !((!stat1)) ) {
#line 1311 "dchop.ch"
#line 1312 "dchop.ch"
                                        (son=(stat1?stat1.Nextl():(PPTREE)0));
#line 1312 "dchop.ch"
#line 1312 "dchop.ch"
#line 1313 "dchop.ch"
                                        (postComment=son);
#line 1313 "dchop.ch"
#line 1313 "dchop.ch"
#line 1314 "dchop.ch"
                                        decomp(son);
#line 1314 "dchop.ch"
#line 1314 "dchop.ch"
#line 1315 "dchop.ch"
                                        if ( !Sequence(son, sontree(stat1, 1)) ) {
#line 1315 "dchop.ch"
#line 1316 "dchop.ch"
control_stat1(son);
#line 1316 "dchop.ch"
#line 1317 "dchop.ch"
LNewLine(1);
#line 1317 "dchop.ch"
#line 1317 "dchop.ch"
#line 1317 "dchop.ch"
                                                                                       } else 
#line 1318 "dchop.ch"
                                        {
#line 1318 "dchop.ch"
#line 1319 "dchop.ch"
                                            Space(1);
#line 1319 "dchop.ch"
#line 1319 "dchop.ch"
#line 1319 "dchop.ch"
                                        }
#line 1319 "dchop.ch"
#line 1319 "dchop.ch"
                                    }
#line 1319 "dchop.ch"
#line 1322 "dchop.ch"
            follow_if_dir(stat2, paramTree);
#line 1322 "dchop.ch"
#line 1323 "dchop.ch"
            break ;
#line 1323 "dchop.ch"
#line 1324 "dchop.ch"
        case cplus::CAST : 
#line 1324 "dchop.ch"
#line 1324 "dchop.ch"
            (type=SonTree(paramTree, 1));
#line 1324 "dchop.ch"
#line 1324 "dchop.ch"
#line 1324 "dchop.ch"
            (exp=SonTree(paramTree, 2));
#line 1324 "dchop.ch"
#line 1324 "dchop.ch"
#line 1324 "dchop.ch"
        _Case144 : 
#line 1324 "dchop.ch"
#line 1324 "dchop.ch"
            ;
#line 1324 "dchop.ch"
#line 1325 "dchop.ch"
            PrintString("(");
#line 1325 "dchop.ch"
#line 1325 "dchop.ch"
            decomp(type);
#line 1325 "dchop.ch"
#line 1325 "dchop.ch"
#line 1325 "dchop.ch"
            PrintString(")");
#line 1325 "dchop.ch"
#line 1325 "dchop.ch"
            decomp(exp);
#line 1325 "dchop.ch"
#line 1325 "dchop.ch"
#line 1326 "dchop.ch"
            break ;
#line 1326 "dchop.ch"
#line 1327 "dchop.ch"
        case cplus::ATTRIBUTS : 
#line 1327 "dchop.ch"
#line 1327 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 1327 "dchop.ch"
#line 1327 "dchop.ch"
#line 1327 "dchop.ch"
            (list=SonTree(paramTree, 2));
#line 1327 "dchop.ch"
#line 1327 "dchop.ch"
#line 1327 "dchop.ch"
            (list1=SonTree(paramTree, 3));
#line 1327 "dchop.ch"
#line 1327 "dchop.ch"
#line 1327 "dchop.ch"
        _Case145 : 
#line 1327 "dchop.ch"
#line 1327 "dchop.ch"
            ;
#line 1327 "dchop.ch"
#line 1328 "dchop.ch"
            while ( !((!list)) ) {
#line 1328 "dchop.ch"
#line 1329 "dchop.ch"
                                    (son=(list?list.Nextl():(PPTREE)0));
#line 1329 "dchop.ch"
#line 1329 "dchop.ch"
#line 1330 "dchop.ch"
                                    TraitAttribut(son);
#line 1330 "dchop.ch"
#line 1330 "dchop.ch"
                                   }
#line 1330 "dchop.ch"
#line 1332 "dchop.ch"
            decomp(exp);
#line 1332 "dchop.ch"
#line 1332 "dchop.ch"
#line 1333 "dchop.ch"
            while ( !((!list1)) ) {
#line 1333 "dchop.ch"
#line 1334 "dchop.ch"
                                        (son=(list1?list1.Nextl():(PPTREE)0));
#line 1334 "dchop.ch"
#line 1334 "dchop.ch"
#line 1335 "dchop.ch"
                                        if ( ((_inter = (PPTREE)son,1) && 
#line 1335 "dchop.ch"
                                                (NumberTree(_inter) == cplus::NEWLINE) &&
#line 1335 "dchop.ch"
                                                1) ) {
#line 1335 "dchop.ch"
#line 1336 "dchop.ch"
                                                        comm(paramTree, POST);
#line 1336 "dchop.ch"
#line 1337 "dchop.ch"
                                                        (oldPostComment=paramTree);
#line 1337 "dchop.ch"
#line 1337 "dchop.ch"
#line 1337 "dchop.ch"
                                                     }
#line 1337 "dchop.ch"
#line 1339 "dchop.ch"
                                        TraitAttribut(son);
#line 1339 "dchop.ch"
#line 1339 "dchop.ch"
                                    }
#line 1339 "dchop.ch"
#line 1341 "dchop.ch"
            break ;
#line 1341 "dchop.ch"
#line 1342 "dchop.ch"
        default : 
#line 1342 "dchop.ch"
#line 1342 "dchop.ch"
        _Case146 : 
#line 1342 "dchop.ch"
#line 1342 "dchop.ch"
            ;
#line 1342 "dchop.ch"
#line 1342 "dchop.ch"
            break ;
#line 1342 "dchop.ch"
    }
#line 1342 "dchop.ch"
#line 1342 "dchop.ch"
#line 1346 "dchop.ch"
    switch ( NumberTree(paramTree) ) {
#line 1346 "dchop.ch"
#line 1347 "dchop.ch"
        case cplus::EXTERNAL : 
#line 1347 "dchop.ch"
#line 1347 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 1347 "dchop.ch"
#line 1347 "dchop.ch"
#line 1347 "dchop.ch"
            (stat1=SonTree(paramTree, 2));
#line 1347 "dchop.ch"
#line 1347 "dchop.ch"
#line 1347 "dchop.ch"
        _Case167 : 
#line 1347 "dchop.ch"
#line 1347 "dchop.ch"
            ;
#line 1347 "dchop.ch"
#line 1348 "dchop.ch"
            PrintString("extern ");
#line 1348 "dchop.ch"
#line 1348 "dchop.ch"
            decomp(exp1);
#line 1348 "dchop.ch"
#line 1348 "dchop.ch"
#line 1348 "dchop.ch"
            Space(1);
#line 1348 "dchop.ch"
#line 1348 "dchop.ch"
#line 1348 "dchop.ch"
            decomp(stat1);
#line 1348 "dchop.ch"
#line 1348 "dchop.ch"
#line 1349 "dchop.ch"
            break ;
#line 1349 "dchop.ch"
#line 1350 "dchop.ch"
        case cplus::ASM : 
#line 1350 "dchop.ch"
#line 1350 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 1350 "dchop.ch"
#line 1350 "dchop.ch"
#line 1350 "dchop.ch"
        _Case168 : 
#line 1350 "dchop.ch"
#line 1350 "dchop.ch"
            ;
#line 1350 "dchop.ch"
#line 1351 "dchop.ch"
            PrintString("asm(");
#line 1351 "dchop.ch"
#line 1351 "dchop.ch"
            decomp(exp1);
#line 1351 "dchop.ch"
#line 1351 "dchop.ch"
#line 1351 "dchop.ch"
            PrintString(")");
#line 1351 "dchop.ch"
#line 1352 "dchop.ch"
            break ;
#line 1352 "dchop.ch"
#line 1353 "dchop.ch"
        case cplus::TYP_AFF_CALL : 
#line 1353 "dchop.ch"
#line 1353 "dchop.ch"
            (declarator=SonTree(paramTree, 1));
#line 1353 "dchop.ch"
#line 1353 "dchop.ch"
#line 1353 "dchop.ch"
            (exp=SonTree(paramTree, 2));
#line 1353 "dchop.ch"
#line 1353 "dchop.ch"
#line 1353 "dchop.ch"
        _Case169 : 
#line 1353 "dchop.ch"
#line 1353 "dchop.ch"
            ;
#line 1353 "dchop.ch"
#line 1354 "dchop.ch"
            statementf = 0 ;
#line 1354 "dchop.ch"
#line 1355 "dchop.ch"
            decomp(declarator);
#line 1355 "dchop.ch"
#line 1355 "dchop.ch"
#line 1355 "dchop.ch"
            PrintString("(");
#line 1355 "dchop.ch"
#line 1355 "dchop.ch"
            decomp(exp);
#line 1355 "dchop.ch"
#line 1355 "dchop.ch"
#line 1355 "dchop.ch"
            PrintString(")");
#line 1355 "dchop.ch"
#line 1356 "dchop.ch"
            break ;
#line 1356 "dchop.ch"
#line 1357 "dchop.ch"
        case cplus::DESTRUCT : 
#line 1357 "dchop.ch"
#line 1357 "dchop.ch"
            (ident=SonTree(paramTree, 1));
#line 1357 "dchop.ch"
#line 1357 "dchop.ch"
#line 1357 "dchop.ch"
        _Case170 : 
#line 1357 "dchop.ch"
#line 1357 "dchop.ch"
            ;
#line 1357 "dchop.ch"
#line 1358 "dchop.ch"
            SepBefore();
#line 1358 "dchop.ch"
#line 1358 "dchop.ch"
#line 1358 "dchop.ch"
            PrintString("~");
#line 1358 "dchop.ch"
#line 1358 "dchop.ch"
            decomp(ident);
#line 1358 "dchop.ch"
#line 1358 "dchop.ch"
#line 1359 "dchop.ch"
            break ;
#line 1359 "dchop.ch"
#line 1360 "dchop.ch"
        case cplus::QUALIFIED : 
#line 1360 "dchop.ch"
#line 1360 "dchop.ch"
            (ident=SonTree(paramTree, 1));
#line 1360 "dchop.ch"
#line 1360 "dchop.ch"
#line 1360 "dchop.ch"
            (exp=SonTree(paramTree, 2));
#line 1360 "dchop.ch"
#line 1360 "dchop.ch"
#line 1360 "dchop.ch"
        _Case171 : 
#line 1360 "dchop.ch"
#line 1360 "dchop.ch"
            ;
#line 1360 "dchop.ch"
#line 1361 "dchop.ch"
            if ( !((!ident)) ) {
#line 1361 "dchop.ch"
#line 1362 "dchop.ch"
                                    decomp(ident);
#line 1362 "dchop.ch"
#line 1362 "dchop.ch"
#line 1362 "dchop.ch"
                                 } else 
#line 1363 "dchop.ch"
            {
#line 1363 "dchop.ch"
#line 1364 "dchop.ch"
                SepBefore();
#line 1364 "dchop.ch"
#line 1364 "dchop.ch"
#line 1364 "dchop.ch"
            }
#line 1364 "dchop.ch"
#line 1366 "dchop.ch"
            PrintString("::");
#line 1366 "dchop.ch"
#line 1366 "dchop.ch"
            decomp(exp);
#line 1366 "dchop.ch"
#line 1366 "dchop.ch"
#line 1367 "dchop.ch"
            break ;
#line 1367 "dchop.ch"
#line 1368 "dchop.ch"
        case cplus::PROTECT : 
#line 1368 "dchop.ch"
#line 1368 "dchop.ch"
            (name=SonTree(paramTree, 1));
#line 1368 "dchop.ch"
#line 1368 "dchop.ch"
#line 1368 "dchop.ch"
            (exp=SonTree(paramTree, 2));
#line 1368 "dchop.ch"
#line 1368 "dchop.ch"
#line 1368 "dchop.ch"
        _Case172 : 
#line 1368 "dchop.ch"
#line 1368 "dchop.ch"
            ;
#line 1368 "dchop.ch"
#line 1369 "dchop.ch"
            DumpBrainyValue(name);
#line 1369 "dchop.ch"
#line 1369 "dchop.ch"
#line 1369 "dchop.ch"
            decomp(exp);
#line 1369 "dchop.ch"
#line 1369 "dchop.ch"
#line 1370 "dchop.ch"
            break ;
#line 1370 "dchop.ch"
#line 1371 "dchop.ch"
        case cplus::PROTECT_MEMB : 
#line 1371 "dchop.ch"
#line 1371 "dchop.ch"
            (name=SonTree(paramTree, 1));
#line 1371 "dchop.ch"
#line 1371 "dchop.ch"
#line 1371 "dchop.ch"
            (list=SonTree(paramTree, 2));
#line 1371 "dchop.ch"
#line 1371 "dchop.ch"
#line 1371 "dchop.ch"
        _Case173 : 
#line 1371 "dchop.ch"
#line 1371 "dchop.ch"
            ;
#line 1371 "dchop.ch"
#line 1372 "dchop.ch"
            {
#line 1372 "dchop.ch"
#line 1373 "dchop.ch"
                LNewLine(2);
#line 1373 "dchop.ch"
#line 1373 "dchop.ch"
#line 1374 "dchop.ch"
#if 0
#line 1374 "dchop.ch"
#line 1375 "dchop.ch"
                gotocol(0);
#line 1375 "dchop.ch"
#endif
#line 1375 "dchop.ch"
#line 1378 "dchop.ch"
                Mark();
#line 1378 "dchop.ch"
                DumpBrainyValue(name);
#line 1378 "dchop.ch"
#line 1378 "dchop.ch"
                SepBefore();
#line 1378 "dchop.ch"
#line 1378 "dchop.ch"
                PrintString(":");
#line 1378 "dchop.ch"
                LNewLine(2);
#line 1378 "dchop.ch"
#line 1378 "dchop.ch"
                DecompilerListeExtern(list);
#line 1378 "dchop.ch"
                UnMark();
#line 1378 "dchop.ch"
#line 1378 "dchop.ch"
#line 1381 "dchop.ch"
                break ;
#line 1381 "dchop.ch"
#line 1381 "dchop.ch"
            }
#line 1381 "dchop.ch"
#line 1381 "dchop.ch"
            goto _Case174 ;
#line 1381 "dchop.ch"
#line 1383 "dchop.ch"
        case cplus::COMPOUND_EXT : 
#line 1383 "dchop.ch"
#line 1383 "dchop.ch"
            (list=SonTree(paramTree, 1));
#line 1383 "dchop.ch"
#line 1383 "dchop.ch"
#line 1383 "dchop.ch"
        _Case174 : 
#line 1383 "dchop.ch"
#line 1383 "dchop.ch"
            ;
#line 1383 "dchop.ch"
#line 1384 "dchop.ch"
            if ( ansiMode ) 
#line 1384 "dchop.ch"
#line 1385 "dchop.ch"
                LNewLine(1);
#line 1385 "dchop.ch"
#line 1385 "dchop.ch"
#line 1386 "dchop.ch"
            PrintString("{");
#line 1386 "dchop.ch"
#line 1386 "dchop.ch"
            LNewLine(1);
#line 1386 "dchop.ch"
#line 1386 "dchop.ch"
#line 1387 "dchop.ch"
            DecompilerListeExtern(list);
#line 1387 "dchop.ch"
#line 1388 "dchop.ch"
            LNewLine(1);
#line 1388 "dchop.ch"
#line 1388 "dchop.ch"
#line 1389 "dchop.ch"
            PrintString("}");
#line 1389 "dchop.ch"
#line 1390 "dchop.ch"
            (oldPostComment=paramTree);
#line 1390 "dchop.ch"
#line 1390 "dchop.ch"
#line 1391 "dchop.ch"
            comm(paramTree, POST);
#line 1391 "dchop.ch"
#line 1392 "dchop.ch"
            LNewLine(1);
#line 1392 "dchop.ch"
#line 1392 "dchop.ch"
#line 1393 "dchop.ch"
            break ;
#line 1393 "dchop.ch"
#line 1394 "dchop.ch"
        case cplus::BASE_LIST : 
#line 1394 "dchop.ch"
#line 1394 "dchop.ch"
            (list=SonTree(paramTree, 1));
#line 1394 "dchop.ch"
#line 1394 "dchop.ch"
#line 1394 "dchop.ch"
        _Case175 : 
#line 1394 "dchop.ch"
#line 1394 "dchop.ch"
            ;
#line 1394 "dchop.ch"
#line 1395 "dchop.ch"
            if ( !((!list)) ) {
#line 1395 "dchop.ch"
#line 1396 "dchop.ch"
                                    Space(1);
#line 1396 "dchop.ch"
#line 1396 "dchop.ch"
#line 1396 "dchop.ch"
                                    PrintString(":");
#line 1396 "dchop.ch"
#line 1396 "dchop.ch"
                                    Space(1);
#line 1396 "dchop.ch"
#line 1396 "dchop.ch"
#line 1397 "dchop.ch"
                                    while ( !((!list)) ) {
#line 1397 "dchop.ch"
#line 1398 "dchop.ch"
                                                            (son=(list?list.Nextl():(PPTREE)0));
#line 1398 "dchop.ch"
#line 1398 "dchop.ch"
#line 1399 "dchop.ch"
                                                            decomp(son);
#line 1399 "dchop.ch"
#line 1399 "dchop.ch"
#line 1400 "dchop.ch"
                                                            if ( !((!list)) ) {
#line 1400 "dchop.ch"
#line 1401 "dchop.ch"
PrintString(",");
#line 1401 "dchop.ch"
#line 1401 "dchop.ch"
SepAfter();
#line 1401 "dchop.ch"
#line 1401 "dchop.ch"
#line 1401 "dchop.ch"
                                                                                }
#line 1401 "dchop.ch"
#line 1401 "dchop.ch"
                                                           }
#line 1401 "dchop.ch"
#line 1401 "dchop.ch"
                                }
#line 1401 "dchop.ch"
#line 1405 "dchop.ch"
            break ;
#line 1405 "dchop.ch"
#line 1406 "dchop.ch"
        case cplus::CLASS_DECL : 
#line 1406 "dchop.ch"
#line 1406 "dchop.ch"
            (stat1=SonTree(paramTree, 1));
#line 1406 "dchop.ch"
#line 1406 "dchop.ch"
#line 1406 "dchop.ch"
        _Case176 : 
#line 1406 "dchop.ch"
#line 1406 "dchop.ch"
            ;
#line 1406 "dchop.ch"
#line 1407 "dchop.ch"
            if ( ansiMode ) 
#line 1407 "dchop.ch"
#line 1408 "dchop.ch"
                LNewLine(1);
#line 1408 "dchop.ch"
#line 1408 "dchop.ch"
#line 1409 "dchop.ch"
            SepBefore();
#line 1409 "dchop.ch"
#line 1409 "dchop.ch"
#line 1409 "dchop.ch"
            PrintString("{");
#line 1409 "dchop.ch"
#line 1409 "dchop.ch"
            LNewLine(1);
#line 1409 "dchop.ch"
#line 1409 "dchop.ch"
#line 1410 "dchop.ch"
            DecompilerListeExtern(stat1);
#line 1410 "dchop.ch"
#line 1411 "dchop.ch"
            LNewLine(1);
#line 1411 "dchop.ch"
#line 1411 "dchop.ch"
#line 1412 "dchop.ch"
            PrintString("}");
#line 1412 "dchop.ch"
#line 1413 "dchop.ch"
            break ;
#line 1413 "dchop.ch"
#line 1414 "dchop.ch"
        case cplus::CLASS : 
#line 1414 "dchop.ch"
#line 1414 "dchop.ch"
            (name=SonTree(paramTree, 1));
#line 1414 "dchop.ch"
#line 1414 "dchop.ch"
#line 1414 "dchop.ch"
            (ident=SonTree(paramTree, 2));
#line 1414 "dchop.ch"
#line 1414 "dchop.ch"
#line 1414 "dchop.ch"
            (init=SonTree(paramTree, 3));
#line 1414 "dchop.ch"
#line 1414 "dchop.ch"
#line 1414 "dchop.ch"
            (stat1=SonTree(paramTree, 4));
#line 1414 "dchop.ch"
#line 1414 "dchop.ch"
#line 1414 "dchop.ch"
        _Case177 : 
#line 1414 "dchop.ch"
#line 1414 "dchop.ch"
            ;
#line 1414 "dchop.ch"
#line 1415 "dchop.ch"
            inClass = 1 ;
#line 1415 "dchop.ch"
#line 1416 "dchop.ch"
            DumpBrainyValue(name);
#line 1416 "dchop.ch"
#line 1416 "dchop.ch"
#line 1417 "dchop.ch"
            if ( !((!ident)) ) 
#line 1417 "dchop.ch"
#line 1418 "dchop.ch"
                decomp(ident);
#line 1418 "dchop.ch"
#line 1418 "dchop.ch"
#line 1419 "dchop.ch"
            decomp(init);
#line 1419 "dchop.ch"
#line 1419 "dchop.ch"
#line 1419 "dchop.ch"
            decomp(stat1);
#line 1419 "dchop.ch"
#line 1419 "dchop.ch"
#line 1420 "dchop.ch"
            break ;
#line 1420 "dchop.ch"
#line 1421 "dchop.ch"
        case cplus::MEMBER_DECLARATOR : 
#line 1421 "dchop.ch"
#line 1421 "dchop.ch"
            (name=SonTree(paramTree, 1));
#line 1421 "dchop.ch"
#line 1421 "dchop.ch"
#line 1421 "dchop.ch"
            (exp=SonTree(paramTree, 2));
#line 1421 "dchop.ch"
#line 1421 "dchop.ch"
#line 1421 "dchop.ch"
        _Case178 : 
#line 1421 "dchop.ch"
#line 1421 "dchop.ch"
            ;
#line 1421 "dchop.ch"
#line 1422 "dchop.ch"
            decomp(name);
#line 1422 "dchop.ch"
#line 1422 "dchop.ch"
#line 1422 "dchop.ch"
            PrintString("*");
#line 1422 "dchop.ch"
#line 1422 "dchop.ch"
            SepAfter();
#line 1422 "dchop.ch"
#line 1422 "dchop.ch"
#line 1422 "dchop.ch"
            decomp(exp);
#line 1422 "dchop.ch"
#line 1422 "dchop.ch"
#line 1423 "dchop.ch"
            break ;
#line 1423 "dchop.ch"
#line 1424 "dchop.ch"
        case cplus::TYP_REF : 
#line 1424 "dchop.ch"
#line 1424 "dchop.ch"
            (declarator=SonTree(paramTree, 1));
#line 1424 "dchop.ch"
#line 1424 "dchop.ch"
#line 1424 "dchop.ch"
        _Case179 : 
#line 1424 "dchop.ch"
#line 1424 "dchop.ch"
            ;
#line 1424 "dchop.ch"
#line 1425 "dchop.ch"
            SepBefore();
#line 1425 "dchop.ch"
#line 1425 "dchop.ch"
#line 1425 "dchop.ch"
            PrintString("&");
#line 1425 "dchop.ch"
#line 1425 "dchop.ch"
            decomp(declarator);
#line 1425 "dchop.ch"
#line 1425 "dchop.ch"
#line 1426 "dchop.ch"
            break ;
#line 1426 "dchop.ch"
#line 1427 "dchop.ch"
        case cplus::DOT_MEMB : 
#line 1427 "dchop.ch"
#line 1427 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 1427 "dchop.ch"
#line 1427 "dchop.ch"
#line 1427 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 1427 "dchop.ch"
#line 1427 "dchop.ch"
#line 1427 "dchop.ch"
        _Case180 : 
#line 1427 "dchop.ch"
#line 1427 "dchop.ch"
            ;
#line 1427 "dchop.ch"
#line 1428 "dchop.ch"
            decomp(exp1);
#line 1428 "dchop.ch"
#line 1428 "dchop.ch"
#line 1428 "dchop.ch"
            Space(1);
#line 1428 "dchop.ch"
#line 1428 "dchop.ch"
#line 1428 "dchop.ch"
            PrintString(".*");
#line 1428 "dchop.ch"
#line 1428 "dchop.ch"
            Space(1);
#line 1428 "dchop.ch"
#line 1428 "dchop.ch"
#line 1428 "dchop.ch"
            decomp(exp2);
#line 1428 "dchop.ch"
#line 1428 "dchop.ch"
#line 1429 "dchop.ch"
            break ;
#line 1429 "dchop.ch"
#line 1430 "dchop.ch"
        case cplus::ARROW_MEMB : 
#line 1430 "dchop.ch"
#line 1430 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 1430 "dchop.ch"
#line 1430 "dchop.ch"
#line 1430 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 1430 "dchop.ch"
#line 1430 "dchop.ch"
#line 1430 "dchop.ch"
        _Case181 : 
#line 1430 "dchop.ch"
#line 1430 "dchop.ch"
            ;
#line 1430 "dchop.ch"
#line 1431 "dchop.ch"
            decomp(exp1);
#line 1431 "dchop.ch"
#line 1431 "dchop.ch"
#line 1431 "dchop.ch"
            Space(1);
#line 1431 "dchop.ch"
#line 1431 "dchop.ch"
#line 1431 "dchop.ch"
            PrintString("->*");
#line 1431 "dchop.ch"
#line 1431 "dchop.ch"
            Space(1);
#line 1431 "dchop.ch"
#line 1431 "dchop.ch"
#line 1431 "dchop.ch"
            decomp(exp2);
#line 1431 "dchop.ch"
#line 1431 "dchop.ch"
#line 1432 "dchop.ch"
            break ;
#line 1432 "dchop.ch"
#line 1433 "dchop.ch"
        case cplus::NEW : 
#line 1433 "dchop.ch"
#line 1433 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 1433 "dchop.ch"
#line 1433 "dchop.ch"
#line 1433 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 1433 "dchop.ch"
#line 1433 "dchop.ch"
#line 1433 "dchop.ch"
            (init=SonTree(paramTree, 3));
#line 1433 "dchop.ch"
#line 1433 "dchop.ch"
#line 1433 "dchop.ch"
        _Case182 : 
#line 1433 "dchop.ch"
#line 1433 "dchop.ch"
            ;
#line 1433 "dchop.ch"
#line 1434 "dchop.ch"
            if ( init ) 
#line 1434 "dchop.ch"
#line 1435 "dchop.ch"
                ((_inter = (PPTREE)init,1) && 
#line 1435 "dchop.ch"
                    ((init=SonTree(_inter,1)),1) &&
#line 1435 "dchop.ch"
                    1);
#line 1435 "dchop.ch"
                ;
#line 1435 "dchop.ch"
#line 1436 "dchop.ch"
            PrintString("new");
#line 1436 "dchop.ch"
#line 1437 "dchop.ch"
            if ( !((!exp1)) ) {
#line 1437 "dchop.ch"
#line 1438 "dchop.ch"
                                    SepBefore();
#line 1438 "dchop.ch"
#line 1438 "dchop.ch"
#line 1438 "dchop.ch"
                                    PrintString("(");
#line 1438 "dchop.ch"
#line 1438 "dchop.ch"
                                    decomp(exp1);
#line 1438 "dchop.ch"
#line 1438 "dchop.ch"
#line 1438 "dchop.ch"
                                    PrintString(")");
#line 1438 "dchop.ch"
#line 1438 "dchop.ch"
                                    SepAfter();
#line 1438 "dchop.ch"
#line 1438 "dchop.ch"
#line 1438 "dchop.ch"
                                }
#line 1438 "dchop.ch"
#line 1440 "dchop.ch"
            if ( !(((_inter = (PPTREE)exp2,1) && 
#line 1440 "dchop.ch"
                        (NumberTree(_inter) == cplus::NEW_DECLARATOR) &&
#line 1440 "dchop.ch"
                        1)) ) {
#line 1440 "dchop.ch"
#line 1441 "dchop.ch"
                                PrintString("(");
#line 1441 "dchop.ch"
#line 1441 "dchop.ch"
                                SepAfter();
#line 1441 "dchop.ch"
#line 1441 "dchop.ch"
#line 1441 "dchop.ch"
                                decomp(exp2);
#line 1441 "dchop.ch"
#line 1441 "dchop.ch"
#line 1441 "dchop.ch"
                                SepBefore();
#line 1441 "dchop.ch"
#line 1441 "dchop.ch"
#line 1441 "dchop.ch"
                                PrintString(")");
#line 1441 "dchop.ch"
#line 1441 "dchop.ch"
                              } else 
#line 1441 "dchop.ch"
#line 1443 "dchop.ch"
                decomp(exp2);
#line 1443 "dchop.ch"
#line 1443 "dchop.ch"
#line 1443 "dchop.ch"
#line 1444 "dchop.ch"
            if ( !((!init)) ) {
#line 1444 "dchop.ch"
#line 1445 "dchop.ch"
                                    PrintString("(");
#line 1445 "dchop.ch"
#line 1446 "dchop.ch"
                                    while ( !((!init)) ) {
#line 1446 "dchop.ch"
#line 1447 "dchop.ch"
                                                            (son=(init?init.Nextl():(PPTREE)0));
#line 1447 "dchop.ch"
#line 1447 "dchop.ch"
#line 1448 "dchop.ch"
                                                            decomp(son);
#line 1448 "dchop.ch"
#line 1448 "dchop.ch"
#line 1449 "dchop.ch"
                                                            if ( !((!init)) ) {
#line 1449 "dchop.ch"
#line 1450 "dchop.ch"
PrintString(",");
#line 1450 "dchop.ch"
#line 1450 "dchop.ch"
Space(1);
#line 1450 "dchop.ch"
#line 1450 "dchop.ch"
#line 1450 "dchop.ch"
                                                                                }
#line 1450 "dchop.ch"
#line 1450 "dchop.ch"
                                                           }
#line 1450 "dchop.ch"
#line 1453 "dchop.ch"
                                    PrintString(")");
#line 1453 "dchop.ch"
#line 1453 "dchop.ch"
                                }
#line 1453 "dchop.ch"
#line 1455 "dchop.ch"
            break ;
#line 1455 "dchop.ch"
#line 1456 "dchop.ch"
        case cplus::DELETE : 
#line 1456 "dchop.ch"
#line 1456 "dchop.ch"
            (exp1=SonTree(paramTree, 1));
#line 1456 "dchop.ch"
#line 1456 "dchop.ch"
#line 1456 "dchop.ch"
            (exp2=SonTree(paramTree, 2));
#line 1456 "dchop.ch"
#line 1456 "dchop.ch"
#line 1456 "dchop.ch"
        _Case183 : 
#line 1456 "dchop.ch"
#line 1456 "dchop.ch"
            ;
#line 1456 "dchop.ch"
#line 1457 "dchop.ch"
            PrintString("delete");
#line 1457 "dchop.ch"
#line 1458 "dchop.ch"
            if ( !((!exp1)) ) {
#line 1458 "dchop.ch"
#line 1459 "dchop.ch"
                                    Space(1);
#line 1459 "dchop.ch"
#line 1459 "dchop.ch"
#line 1459 "dchop.ch"
                                    PrintString("[");
#line 1459 "dchop.ch"
#line 1460 "dchop.ch"
                                    if ( ((_inter = (PPTREE)exp1,1) && 
#line 1460 "dchop.ch"
                                            (NumberTree(_inter) == cplus::TYP_ARRAY) &&
#line 1460 "dchop.ch"
                                            ((exp1=SonTree(_inter,2)),1) &&
#line 1460 "dchop.ch"
                                            1) && !((!exp1)) ) 
#line 1460 "dchop.ch"
#line 1461 "dchop.ch"
                                        decomp(exp1);
#line 1461 "dchop.ch"
#line 1461 "dchop.ch"
#line 1462 "dchop.ch"
                                    PrintString("]");
#line 1462 "dchop.ch"
#line 1462 "dchop.ch"
                                    Space(1);
#line 1462 "dchop.ch"
#line 1462 "dchop.ch"
#line 1462 "dchop.ch"
                                }
#line 1462 "dchop.ch"
#line 1464 "dchop.ch"
            decomp(exp2);
#line 1464 "dchop.ch"
#line 1464 "dchop.ch"
#line 1465 "dchop.ch"
            break ;
#line 1465 "dchop.ch"
#line 1466 "dchop.ch"
        case cplus::OPERATOR : 
#line 1466 "dchop.ch"
#line 1466 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 1466 "dchop.ch"
#line 1466 "dchop.ch"
#line 1466 "dchop.ch"
        _Case184 : 
#line 1466 "dchop.ch"
#line 1466 "dchop.ch"
            ;
#line 1466 "dchop.ch"
#line 1467 "dchop.ch"
            PrintString("operator");
#line 1467 "dchop.ch"
#line 1468 "dchop.ch"
            if ( !(((_inter = (PPTREE)exp,1) && 
#line 1468 "dchop.ch"
                        (NumberTree(_inter) == cplus::FOR_DECLARATION) &&
#line 1468 "dchop.ch"
                        1)) ) {
#line 1468 "dchop.ch"
#line 1469 "dchop.ch"
                                DumpBrainyValue(exp);
#line 1469 "dchop.ch"
#line 1469 "dchop.ch"
#line 1469 "dchop.ch"
                                Space(1);
#line 1469 "dchop.ch"
#line 1469 "dchop.ch"
#line 1469 "dchop.ch"
                              } else 
#line 1470 "dchop.ch"
            {
#line 1470 "dchop.ch"
#line 1471 "dchop.ch"
                decomp(exp);
#line 1471 "dchop.ch"
#line 1471 "dchop.ch"
#line 1471 "dchop.ch"
            }
#line 1471 "dchop.ch"
#line 1473 "dchop.ch"
            break ;
#line 1473 "dchop.ch"
#line 1474 "dchop.ch"
        case cplus::CTOR_INIT : 
#line 1474 "dchop.ch"
#line 1474 "dchop.ch"
            (ident=SonTree(paramTree, 1));
#line 1474 "dchop.ch"
#line 1474 "dchop.ch"
#line 1474 "dchop.ch"
            (exp=SonTree(paramTree, 2));
#line 1474 "dchop.ch"
#line 1474 "dchop.ch"
#line 1474 "dchop.ch"
        _Case185 : 
#line 1474 "dchop.ch"
#line 1474 "dchop.ch"
            ;
#line 1474 "dchop.ch"
#line 1475 "dchop.ch"
            decomp(ident);
#line 1475 "dchop.ch"
#line 1475 "dchop.ch"
#line 1475 "dchop.ch"
            PrintString("(");
#line 1475 "dchop.ch"
#line 1475 "dchop.ch"
            decomp(exp);
#line 1475 "dchop.ch"
#line 1475 "dchop.ch"
#line 1475 "dchop.ch"
            PrintString(")");
#line 1475 "dchop.ch"
#line 1476 "dchop.ch"
            break ;
#line 1476 "dchop.ch"
#line 1477 "dchop.ch"
        case cplus::MACRO : 
#line 1477 "dchop.ch"
#line 1477 "dchop.ch"
            (ident=SonTree(paramTree, 1));
#line 1477 "dchop.ch"
#line 1477 "dchop.ch"
#line 1477 "dchop.ch"
            (list=SonTree(paramTree, 2));
#line 1477 "dchop.ch"
#line 1477 "dchop.ch"
#line 1477 "dchop.ch"
        _Case186 : 
#line 1477 "dchop.ch"
#line 1477 "dchop.ch"
            ;
#line 1477 "dchop.ch"
#line 1478 "dchop.ch"
            decomp(ident);
#line 1478 "dchop.ch"
#line 1478 "dchop.ch"
#line 1478 "dchop.ch"
            PrintString("(");
#line 1478 "dchop.ch"
#line 1479 "dchop.ch"
            if ( !((!list)) ) 
#line 1479 "dchop.ch"
#line 1480 "dchop.ch"
                decomp(list);
#line 1480 "dchop.ch"
#line 1480 "dchop.ch"
#line 1481 "dchop.ch"
            PrintString(")");
#line 1481 "dchop.ch"
#line 1482 "dchop.ch"
            (oldPostComment=paramTree);
#line 1482 "dchop.ch"
#line 1482 "dchop.ch"
#line 1483 "dchop.ch"
            comm(paramTree, POST);
#line 1483 "dchop.ch"
#line 1484 "dchop.ch"
            LNewLine(1);
#line 1484 "dchop.ch"
#line 1484 "dchop.ch"
#line 1485 "dchop.ch"
            break ;
#line 1485 "dchop.ch"
#line 1486 "dchop.ch"
        case cplus::MESSAGE_MAP : 
#line 1486 "dchop.ch"
#line 1486 "dchop.ch"
            (list=SonTree(paramTree, 1));
#line 1486 "dchop.ch"
#line 1486 "dchop.ch"
#line 1486 "dchop.ch"
        _Case187 : 
#line 1486 "dchop.ch"
#line 1486 "dchop.ch"
            ;
#line 1486 "dchop.ch"
#line 1487 "dchop.ch"
            (son=(list?list.Nextl():(PPTREE)0));
#line 1487 "dchop.ch"
#line 1487 "dchop.ch"
#line 1488 "dchop.ch"
            decomp(son);
#line 1488 "dchop.ch"
#line 1488 "dchop.ch"
#line 1488 "dchop.ch"
            Tab();
#line 1488 "dchop.ch"
#line 1488 "dchop.ch"
#line 1489 "dchop.ch"
            Mark();
#line 1489 "dchop.ch"
            while ( !((!list)) ) {
#line 1489 "dchop.ch"
#line 1490 "dchop.ch"
                                    (son=(list?list.Nextl():(PPTREE)0));
#line 1490 "dchop.ch"
#line 1490 "dchop.ch"
#line 1491 "dchop.ch"
                                    decomp(son);
#line 1491 "dchop.ch"
#line 1491 "dchop.ch"
#line 1491 "dchop.ch"
                                   }
#line 1491 "dchop.ch"
            UnMark();
#line 1491 "dchop.ch"
#line 1491 "dchop.ch"
#line 1494 "dchop.ch"
            PrintString("END_MESSAGE_MAP()");
#line 1494 "dchop.ch"
#line 1495 "dchop.ch"
            (oldPostComment=paramTree);
#line 1495 "dchop.ch"
#line 1495 "dchop.ch"
#line 1496 "dchop.ch"
            comm(paramTree, POST);
#line 1496 "dchop.ch"
#line 1497 "dchop.ch"
            LNewLine(2);
#line 1497 "dchop.ch"
#line 1497 "dchop.ch"
#line 1498 "dchop.ch"
            break ;
#line 1498 "dchop.ch"
#line 1499 "dchop.ch"
        case cplus::CATCH : 
#line 1499 "dchop.ch"
#line 1499 "dchop.ch"
            (exp=SonTree(paramTree, 1));
#line 1499 "dchop.ch"
#line 1499 "dchop.ch"
#line 1499 "dchop.ch"
            (stat=SonTree(paramTree, 2));
#line 1499 "dchop.ch"
#line 1499 "dchop.ch"
#line 1499 "dchop.ch"
        _Case188 : 
#line 1499 "dchop.ch"
#line 1499 "dchop.ch"
            ;
#line 1499 "dchop.ch"
#line 1500 "dchop.ch"
            decomp(exp);
#line 1500 "dchop.ch"
#line 1500 "dchop.ch"
#line 1500 "dchop.ch"
            LNewLine(1);
#line 1500 "dchop.ch"
#line 1500 "dchop.ch"
#line 1501 "dchop.ch"
            decomp(stat);
#line 1501 "dchop.ch"
#line 1501 "dchop.ch"
#line 1502 "dchop.ch"
            (oldPostComment=paramTree);
#line 1502 "dchop.ch"
#line 1502 "dchop.ch"
#line 1503 "dchop.ch"
            comm(paramTree, POST);
#line 1503 "dchop.ch"
#line 1504 "dchop.ch"
            LNewLine(1);
#line 1504 "dchop.ch"
#line 1504 "dchop.ch"
#line 1505 "dchop.ch"
            break ;
#line 1505 "dchop.ch"
#line 1506 "dchop.ch"
        case cplus::EXCEPTION : 
#line 1506 "dchop.ch"
#line 1506 "dchop.ch"
            (stat=SonTree(paramTree, 1));
#line 1506 "dchop.ch"
#line 1506 "dchop.ch"
#line 1506 "dchop.ch"
            (list=SonTree(paramTree, 2));
#line 1506 "dchop.ch"
#line 1506 "dchop.ch"
#line 1506 "dchop.ch"
        _Case189 : 
#line 1506 "dchop.ch"
#line 1506 "dchop.ch"
            ;
#line 1506 "dchop.ch"
#line 1507 "dchop.ch"
            if ( !IsComm(paramTree, PRE) ) 
#line 1507 "dchop.ch"
#line 1508 "dchop.ch"
                LNewLine(2);
#line 1508 "dchop.ch"
#line 1508 "dchop.ch"
#line 1509 "dchop.ch"
            PrintString("TRY ");
#line 1509 "dchop.ch"
#line 1509 "dchop.ch"
            LNewLine(1);
#line 1509 "dchop.ch"
#line 1509 "dchop.ch"
#line 1510 "dchop.ch"
            decomp(stat);
#line 1510 "dchop.ch"
#line 1510 "dchop.ch"
#line 1510 "dchop.ch"
            LNewLine(1);
#line 1510 "dchop.ch"
#line 1510 "dchop.ch"
#line 1511 "dchop.ch"
            decomp(list);
#line 1511 "dchop.ch"
#line 1511 "dchop.ch"
#line 1512 "dchop.ch"
            if ( !strcmp(BrainyValue(list), "CATCH_ALL") ) 
#line 1512 "dchop.ch"
#line 1513 "dchop.ch"
                PrintString("END_CATCH_ALL");
#line 1513 "dchop.ch"
            else 
#line 1513 "dchop.ch"
#line 1515 "dchop.ch"
                PrintString("END_CATCH");
#line 1515 "dchop.ch"
#line 1515 "dchop.ch"
#line 1516 "dchop.ch"
            (oldPostComment=paramTree);
#line 1516 "dchop.ch"
#line 1516 "dchop.ch"
#line 1517 "dchop.ch"
            comm(paramTree, POST);
#line 1517 "dchop.ch"
#line 1518 "dchop.ch"
            if ( LastInList(paramTree) ) 
#line 1518 "dchop.ch"
#line 1519 "dchop.ch"
                LNewLine(1);
#line 1519 "dchop.ch"
#line 1519 "dchop.ch"
            else 
#line 1519 "dchop.ch"
#line 1521 "dchop.ch"
                LNewLine(2);
#line 1521 "dchop.ch"
#line 1521 "dchop.ch"
#line 1521 "dchop.ch"
#line 1522 "dchop.ch"
            break ;
#line 1522 "dchop.ch"
#line 1523 "dchop.ch"
        default : 
#line 1523 "dchop.ch"
#line 1523 "dchop.ch"
        _Case190 : 
#line 1523 "dchop.ch"
#line 1523 "dchop.ch"
            ;
#line 1523 "dchop.ch"
#line 1523 "dchop.ch"
            break ;
#line 1523 "dchop.ch"
    }
#line 1523 "dchop.ch"
#line 1523 "dchop.ch"
#line 1525 "dchop.ch"
    statementf = oldStatement ;
#line 1525 "dchop.ch"
#line 1526 "dchop.ch"
    inClass = oldInClass ;
#line 1526 "dchop.ch"
#line 1527 "dchop.ch"
    return oldPostComment ;
#line 1527 "dchop.ch"
#line 1528 "dchop.ch"
}
#line 1528 "dchop.ch"

#line 1530 "dchop.ch"
#line 1530 "dchop.ch"
int DecompCplus::middleInList ( PTREE exp )
#line 1530 "dchop.ch"
{
#line 1530 "dchop.ch"
    register PPTREE _inter ;
#line 1530 "dchop.ch"
#line 1530 "dchop.ch"
#line 1532 "dchop.ch"
    PTREE   exp1 ;
#line 1532 "dchop.ch"
#line 1532 "dchop.ch"
#line 1534 "dchop.ch"
    (exp1=SFatherTree(FatherTree(exp),LIST));
#line 1534 "dchop.ch"
#line 1534 "dchop.ch"
#line 1535 "dchop.ch"
    if ( ((_inter = (PPTREE)exp1,1) && 
#line 1535 "dchop.ch"
            (NumberTree(_inter) == LIST) &&
#line 1535 "dchop.ch"
            1) ) {
#line 1535 "dchop.ch"
#line 1536 "dchop.ch"
                    (exp1=FatherTree(exp1));
#line 1536 "dchop.ch"
#line 1536 "dchop.ch"
#line 1537 "dchop.ch"
                    if ( ((_inter = (PPTREE)exp1,1) && 
#line 1537 "dchop.ch"
                            (NumberTree(_inter) == LIST) &&
#line 1537 "dchop.ch"
                            1) ) {
#line 1537 "dchop.ch"
#line 1538 "dchop.ch"
                                    return 1 ;
#line 1538 "dchop.ch"
#line 1538 "dchop.ch"
                                 }
#line 1538 "dchop.ch"
#line 1538 "dchop.ch"
                 }
#line 1538 "dchop.ch"
#line 1541 "dchop.ch"
    return 0 ;
#line 1541 "dchop.ch"
#line 1542 "dchop.ch"
}
#line 1542 "dchop.ch"

#line 1544 "dchop.ch"
#line 1544 "dchop.ch"
int DecompCplus::LastInList ( PTREE exp )
#line 1544 "dchop.ch"
{
#line 1544 "dchop.ch"
    register PPTREE _inter ;
#line 1544 "dchop.ch"
#line 1544 "dchop.ch"
#line 1546 "dchop.ch"
    PTREE   exp1 ;
#line 1546 "dchop.ch"
#line 1546 "dchop.ch"
#line 1548 "dchop.ch"
    (exp1=SFatherTree(FatherTree(exp),LIST));
#line 1548 "dchop.ch"
#line 1548 "dchop.ch"
#line 1549 "dchop.ch"
    if ( ((_inter = (PPTREE)exp1,1) && 
#line 1549 "dchop.ch"
            (NumberTree(_inter) == LIST) &&
#line 1549 "dchop.ch"
            (!SonTree(_inter,2)) &&
#line 1549 "dchop.ch"
            1) ) 
#line 1549 "dchop.ch"
#line 1550 "dchop.ch"
        return 1 ;
#line 1550 "dchop.ch"
#line 1551 "dchop.ch"
    return 0 ;
#line 1551 "dchop.ch"
#line 1552 "dchop.ch"
}
#line 1552 "dchop.ch"

#line 1554 "dchop.ch"
#line 1554 "dchop.ch"
int DecompCplus::LastInTopList ( PTREE exp )
#line 1554 "dchop.ch"
{
#line 1554 "dchop.ch"
    register PPTREE _inter ;
#line 1554 "dchop.ch"
#line 1554 "dchop.ch"
#line 1556 "dchop.ch"
    PTREE   exp1 ;
#line 1556 "dchop.ch"
#line 1556 "dchop.ch"
#line 1558 "dchop.ch"
    (exp1=SFatherTree(FatherTree(exp),LIST));
#line 1558 "dchop.ch"
#line 1558 "dchop.ch"
#line 1559 "dchop.ch"
    if ( ((_inter = (PPTREE)exp1,1) && 
#line 1559 "dchop.ch"
            (NumberTree(_inter) == LIST) &&
#line 1559 "dchop.ch"
            (!SonTree(_inter,2)) &&
#line 1559 "dchop.ch"
            1) ) {
#line 1559 "dchop.ch"
#line 1560 "dchop.ch"
                    while ( ((_inter = (PPTREE)exp1,1) && 
#line 1560 "dchop.ch"
                                (NumberTree(_inter) == LIST) &&
#line 1560 "dchop.ch"
                                1) ) 
#line 1560 "dchop.ch"
#line 1561 "dchop.ch"
                        (exp1=FatherTree(exp1));
#line 1561 "dchop.ch"
#line 1561 "dchop.ch"
#line 1562 "dchop.ch"
                    if ( ((_inter = (PPTREE)exp1,1) && 
#line 1562 "dchop.ch"
                            (NumberTree(_inter) == cplus::LANGUAGE) &&
#line 1562 "dchop.ch"
                            1) ) 
#line 1562 "dchop.ch"
#line 1563 "dchop.ch"
                        return 1 ;
#line 1563 "dchop.ch"
#line 1563 "dchop.ch"
                 }
#line 1563 "dchop.ch"
#line 1565 "dchop.ch"
    return 0 ;
#line 1565 "dchop.ch"
#line 1566 "dchop.ch"
}
#line 1566 "dchop.ch"

#line 1568 "dchop.ch"
#line 1568 "dchop.ch"
void DecompCplus::DecompilerListeExternSimp ( PTREE list )
#line 1568 "dchop.ch"
{
#line 1568 "dchop.ch"
    register PPTREE _inter ;
#line 1568 "dchop.ch"
#line 1568 "dchop.ch"
#line 1570 "dchop.ch"
    PTREE   son, father ;
#line 1570 "dchop.ch"
#line 1570 "dchop.ch"
#line 1571 "dchop.ch"
    int typeBlock = - 1, oldTypeBlock = - 1 ;
#line 1571 "dchop.ch"
#line 1573 "dchop.ch"
    while ( !((!list)) ) {
#line 1573 "dchop.ch"
#line 1574 "dchop.ch"
                            (father=FatherTree(list));
#line 1574 "dchop.ch"
#line 1574 "dchop.ch"
#line 1575 "dchop.ch"
                            (son=(list?list.Nextl():(PPTREE)0));
#line 1575 "dchop.ch"
#line 1575 "dchop.ch"
#line 1576 "dchop.ch"
                            typeBlock = TypeOfBlock(son);
#line 1576 "dchop.ch"
#line 1577 "dchop.ch"
                            if ( typeBlock != oldTypeBlock && oldTypeBlock != - 1 ) {
#line 1577 "dchop.ch"
#line 1578 "dchop.ch"
LNewLine(2);
#line 1578 "dchop.ch"
#line 1578 "dchop.ch"
#line 1578 "dchop.ch"
                                                                                         } else 
#line 1579 "dchop.ch"
                            if ( !(((_inter = (PPTREE)father,1) && 
#line 1579 "dchop.ch"
                                        (NumberTree(_inter) == cplus::LANGUAGE) &&
#line 1579 "dchop.ch"
                                        1)) ) {
#line 1579 "dchop.ch"
#line 1580 "dchop.ch"
                                                LNewLine(1);
#line 1580 "dchop.ch"
#line 1580 "dchop.ch"
#line 1580 "dchop.ch"
                                              }
#line 1580 "dchop.ch"
#line 1582 "dchop.ch"
                            oldTypeBlock = typeBlock ;
#line 1582 "dchop.ch"
#line 1583 "dchop.ch"
                            decomp(son);
#line 1583 "dchop.ch"
#line 1583 "dchop.ch"
#line 1583 "dchop.ch"
                           }
#line 1583 "dchop.ch"
#line 1585 "dchop.ch"
}
#line 1585 "dchop.ch"

#line 1587 "dchop.ch"
#line 1587 "dchop.ch"
void DecompCplus::DecompilerListeExtern ( PTREE list )
#line 1587 "dchop.ch"
{
#line 1587 "dchop.ch"
#line 1589 "dchop.ch"
    Tab();
#line 1589 "dchop.ch"
#line 1589 "dchop.ch"
#line 1590 "dchop.ch"
    Mark();
#line 1590 "dchop.ch"
    DecompilerListeExternSimp(list);
#line 1590 "dchop.ch"
    UnMark();
#line 1590 "dchop.ch"
#line 1590 "dchop.ch"
#line 1592 "dchop.ch"
}
#line 1592 "dchop.ch"

extern void copy () ;

#line 1599 "dchop.ch"
#line 1599 "dchop.ch"
void DecompCplus::ChopTree ( PTREE tree, int funcAlone )
#line 1599 "dchop.ch"
{
#line 1599 "dchop.ch"
#line 1601 "dchop.ch"
    copy();
#line 1601 "dchop.ch"
#line 1602 "dchop.ch"
    if ( simplifyExpression ) 
#line 1602 "dchop.ch"
#line 1603 "dchop.ch"
        clean_tree(tree);
#line 1603 "dchop.ch"
#line 1604 "dchop.ch"
    Treat(tree);
#line 1604 "dchop.ch"
#line 1605 "dchop.ch"
    Decomp(tree, funcAlone);
#line 1605 "dchop.ch"
#line 1608 "dchop.ch"
    AddRef(tree);
#line 1608 "dchop.ch"
#line 1609 "dchop.ch"
}
#line 1609 "dchop.ch"

#line 1613 "dchop.ch"
#line 1613 "dchop.ch"
void DecompCplus::copy ()
#line 1613 "dchop.ch"
{
#line 1613 "dchop.ch"
#line 1616 "dchop.ch"
    char    *str ;
#line 1616 "dchop.ch"
#line 1618 "dchop.ch"
    str = "\n\r C++ prettyPrinter version 3.0, CopyRight(C) 1989-96 Eric Lavillonniere \n\r";
#line 1618 "dchop.ch"
#line 1620 "dchop.ch"
    write(2, str, strlen(str));
#line 1620 "dchop.ch"
#line 1621 "dchop.ch"
    str = " C++ prettyPrinter comes with ABSOLUTELY NO WARRANTY.\n\r";
#line 1621 "dchop.ch"
#line 1622 "dchop.ch"
    write(2, str, strlen(str));
#line 1622 "dchop.ch"
#line 1623 "dchop.ch"
    str = " This is free software, and you are welcome to redistribute it \n\r";
#line 1623 "dchop.ch"
#line 1625 "dchop.ch"
    write(2, str, strlen(str));
#line 1625 "dchop.ch"
#line 1626 "dchop.ch"
    str = " under certain conditions.\n\r";
#line 1626 "dchop.ch"
#line 1627 "dchop.ch"
    write(2, str, strlen(str));
#line 1627 "dchop.ch"
#line 1628 "dchop.ch"
    str = " For details see file COPYING in C++ prettyPrinter directory.\n\r\n\r";
#line 1628 "dchop.ch"
#line 1630 "dchop.ch"
    write(2, str, strlen(str));
#line 1630 "dchop.ch"
#line 1631 "dchop.ch"
}
#line 1631 "dchop.ch"
/*Well done my boy */ 
#line 1631 "dchop.ch"

