/*************************************************************************/
/*                                                                       */
/*        Produced by MetaGen version 2.0  -    1989-1995                 */
/*       Syntaxic Analyzer Meta Generator developped by                  */
/*                  Eric Lavillonniere                                   */
/*                                                                       */
/*************************************************************************/

#include "token.h"
#include "chopb.h"



#line 607 "chopb.met"
#undef toupper
#line 607 "chopb.met"
static int toupper(int y) {int x=y; x=x>='a' && x<='z' ? x-'a'+'A' : x;return x;}
#line 607 "chopb.met"
static string [200];
#line 607 "chopb.met"

#line 607 "chopb.met"
int chopb::SortKeyWord (int defaultValue)
#line 607 "chopb.met"
{
#line 607 "chopb.met"
    register int Value;
#line 607 "chopb.met"
    Value = strcmp(lexEl.string,"long");
#line 607 "chopb.met"
    if (Value > 0) {
#line 607 "chopb.met"
        Value = strcmp(lexEl.string,"struct");
#line 607 "chopb.met"
        if (Value > 0) {
#line 607 "chopb.met"
            Value = strcmp(lexEl.string,"unsigned");
#line 607 "chopb.met"
            if (Value > 0) {
#line 607 "chopb.met"
                Value = strcmp(lexEl.string,"void");
#line 607 "chopb.met"
                if (Value > 0) {
#line 607 "chopb.met"
                    Value = strcmp(lexEl.string,"while");
#line 607 "chopb.met"
                    if (Value > 0) {
#line 607 "chopb.met"
                        return(defaultValue);
#line 607 "chopb.met"
                    } else if (Value < 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"volatile")) {
#line 607 "chopb.met"
                            return(VOLATILE) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else 
#line 607 "chopb.met"
                        return(WHILE);
#line 607 "chopb.met"
                } else if (Value < 0) {
#line 607 "chopb.met"
                    Value = strcmp(lexEl.string,"value");
#line 607 "chopb.met"
                    if (Value > 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"virtual")) {
#line 607 "chopb.met"
                            return(VIRTUAL) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else if (Value < 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"va_arg")) {
#line 607 "chopb.met"
                            return(VA_ARG) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else 
#line 607 "chopb.met"
                        return(VALUE);
#line 607 "chopb.met"
                } else 
#line 607 "chopb.met"
                    return(VOID);
#line 607 "chopb.met"
            } else if (Value < 0) {
#line 607 "chopb.met"
                Value = strcmp(lexEl.string,"try");
#line 607 "chopb.met"
                if (Value > 0) {
#line 607 "chopb.met"
                    Value = strcmp(lexEl.string,"union");
#line 607 "chopb.met"
                    if (Value > 0) {
#line 607 "chopb.met"
                        return(defaultValue);
#line 607 "chopb.met"
                    } else if (Value < 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"typedef")) {
#line 607 "chopb.met"
                            return(TYPEDEF) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else 
#line 607 "chopb.met"
                        return(UNION);
#line 607 "chopb.met"
                } else if (Value < 0) {
#line 607 "chopb.met"
                    Value = strcmp(lexEl.string,"template");
#line 607 "chopb.met"
                    if (Value > 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"throw")) {
#line 607 "chopb.met"
                            return(THROW) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else if (Value < 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"switch")) {
#line 607 "chopb.met"
                            return(SWITCH) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else 
#line 607 "chopb.met"
                        return(TEMPLATE);
#line 607 "chopb.met"
                } else 
#line 607 "chopb.met"
                    return(TRY);
#line 607 "chopb.met"
            } else 
#line 607 "chopb.met"
                return(UNSIGNED);
#line 607 "chopb.met"
        } else if (Value < 0) {
#line 607 "chopb.met"
            Value = strcmp(lexEl.string,"public");
#line 607 "chopb.met"
            if (Value > 0) {
#line 607 "chopb.met"
                Value = strcmp(lexEl.string,"signed");
#line 607 "chopb.met"
                if (Value > 0) {
#line 607 "chopb.met"
                    Value = strcmp(lexEl.string,"static");
#line 607 "chopb.met"
                    if (Value > 0) {
#line 607 "chopb.met"
                        return(defaultValue);
#line 607 "chopb.met"
                    } else if (Value < 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"sizeof")) {
#line 607 "chopb.met"
                            return(SIZEOF) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else 
#line 607 "chopb.met"
                        return(STATIC);
#line 607 "chopb.met"
                } else if (Value < 0) {
#line 607 "chopb.met"
                    Value = strcmp(lexEl.string,"return");
#line 607 "chopb.met"
                    if (Value > 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"short")) {
#line 607 "chopb.met"
                            return(SHORT) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else if (Value < 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"register")) {
#line 607 "chopb.met"
                            return(REGISTER) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else 
#line 607 "chopb.met"
                        return(RETURN);
#line 607 "chopb.met"
                } else 
#line 607 "chopb.met"
                    return(SIGNED);
#line 607 "chopb.met"
            } else if (Value < 0) {
#line 607 "chopb.met"
                Value = strcmp(lexEl.string,"parse");
#line 607 "chopb.met"
                if (Value > 0) {
#line 607 "chopb.met"
                    Value = strcmp(lexEl.string,"protected");
#line 607 "chopb.met"
                    if (Value > 0) {
#line 607 "chopb.met"
                        return(defaultValue);
#line 607 "chopb.met"
                    } else if (Value < 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"private")) {
#line 607 "chopb.met"
                            return(PRIVATE) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else 
#line 607 "chopb.met"
                        return(PROTECTED);
#line 607 "chopb.met"
                } else if (Value < 0) {
#line 607 "chopb.met"
                    Value = strcmp(lexEl.string,"nextl");
#line 607 "chopb.met"
                    if (Value > 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"operator")) {
#line 607 "chopb.met"
                            return(OPERATOR) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else if (Value < 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"new")) {
#line 607 "chopb.met"
                            return(NEW) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else 
#line 607 "chopb.met"
                        return(NEXTL);
#line 607 "chopb.met"
                } else 
#line 607 "chopb.met"
                    return(PARSE);
#line 607 "chopb.met"
            } else 
#line 607 "chopb.met"
                return(PUBLIC);
#line 607 "chopb.met"
        } else 
#line 607 "chopb.met"
            return(STRUCT);
#line 607 "chopb.met"
    } else if (Value < 0) {
#line 607 "chopb.met"
        Value = strcmp(lexEl.string,"else");
#line 607 "chopb.met"
        if (Value > 0) {
#line 607 "chopb.met"
            Value = strcmp(lexEl.string,"friend");
#line 607 "chopb.met"
            if (Value > 0) {
#line 607 "chopb.met"
                Value = strcmp(lexEl.string,"inline");
#line 607 "chopb.met"
                if (Value > 0) {
#line 607 "chopb.met"
                    Value = strcmp(lexEl.string,"language");
#line 607 "chopb.met"
                    if (Value > 0) {
#line 607 "chopb.met"
                        return(defaultValue);
#line 607 "chopb.met"
                    } else if (Value < 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"int")) {
#line 607 "chopb.met"
                            return(INT) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else 
#line 607 "chopb.met"
                        return(LANGUAGE);
#line 607 "chopb.met"
                } else if (Value < 0) {
#line 607 "chopb.met"
                    Value = strcmp(lexEl.string,"if");
#line 607 "chopb.met"
                    if (Value > 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"in")) {
#line 607 "chopb.met"
                            return(IN) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else if (Value < 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"goto")) {
#line 607 "chopb.met"
                            return(GOTO) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else 
#line 607 "chopb.met"
                        return(IF);
#line 607 "chopb.met"
                } else 
#line 607 "chopb.met"
                    return(INLINE);
#line 607 "chopb.met"
            } else if (Value < 0) {
#line 607 "chopb.met"
                Value = strcmp(lexEl.string,"for");
#line 607 "chopb.met"
                if (Value > 0) {
#line 607 "chopb.met"
                    Value = strcmp(lexEl.string,"foreach");
#line 607 "chopb.met"
                    if (Value > 0) {
#line 607 "chopb.met"
                        return(defaultValue);
#line 607 "chopb.met"
                    } else if (Value < 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"forallsons")) {
#line 607 "chopb.met"
                            return(FORALLSONS) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else 
#line 607 "chopb.met"
                        return(FOREACH);
#line 607 "chopb.met"
                } else if (Value < 0) {
#line 607 "chopb.met"
                    Value = strcmp(lexEl.string,"extern");
#line 607 "chopb.met"
                    if (Value > 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"float")) {
#line 607 "chopb.met"
                            return(FLOAT) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else if (Value < 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"enum")) {
#line 607 "chopb.met"
                            return(ENUM) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else 
#line 607 "chopb.met"
                        return(EXTERN);
#line 607 "chopb.met"
                } else 
#line 607 "chopb.met"
                    return(FOR);
#line 607 "chopb.met"
            } else 
#line 607 "chopb.met"
                return(FRIEND);
#line 607 "chopb.met"
        } else if (Value < 0) {
#line 607 "chopb.met"
            Value = strcmp(lexEl.string,"class");
#line 607 "chopb.met"
            if (Value > 0) {
#line 607 "chopb.met"
                Value = strcmp(lexEl.string,"delete");
#line 607 "chopb.met"
                if (Value > 0) {
#line 607 "chopb.met"
                    Value = strcmp(lexEl.string,"double");
#line 607 "chopb.met"
                    if (Value > 0) {
#line 607 "chopb.met"
                        return(defaultValue);
#line 607 "chopb.met"
                    } else if (Value < 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"do")) {
#line 607 "chopb.met"
                            return(DO) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else 
#line 607 "chopb.met"
                        return(DOUBLE);
#line 607 "chopb.met"
                } else if (Value < 0) {
#line 607 "chopb.met"
                    Value = strcmp(lexEl.string,"continue");
#line 607 "chopb.met"
                    if (Value > 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"default")) {
#line 607 "chopb.met"
                            return(DEFAULT) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else if (Value < 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"const")) {
#line 607 "chopb.met"
                            return(CONST) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else 
#line 607 "chopb.met"
                        return(CONTINUE);
#line 607 "chopb.met"
                } else 
#line 607 "chopb.met"
                    return(DELETE);
#line 607 "chopb.met"
            } else if (Value < 0) {
#line 607 "chopb.met"
                Value = strcmp(lexEl.string,"break");
#line 607 "chopb.met"
                if (Value > 0) {
#line 607 "chopb.met"
                    Value = strcmp(lexEl.string,"catch");
#line 607 "chopb.met"
                    if (Value > 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"char")) {
#line 607 "chopb.met"
                            return(CHAR) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else if (Value < 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"case")) {
#line 607 "chopb.met"
                            return(CASE) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else 
#line 607 "chopb.met"
                        return(CATCH);
#line 607 "chopb.met"
                } else if (Value < 0) {
#line 607 "chopb.met"
                    Value = strcmp(lexEl.string,"asm");
#line 607 "chopb.met"
                    if (Value > 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"auto")) {
#line 607 "chopb.met"
                            return(AUTO) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else if (Value < 0) {
#line 607 "chopb.met"
                        if(!strcmp(lexEl.string,"(")) {
#line 607 "chopb.met"
                            return(POUV) ;
#line 607 "chopb.met"
                        }
#line 607 "chopb.met"
                    } else 
#line 607 "chopb.met"
                        return(ASM);
#line 607 "chopb.met"
                } else 
#line 607 "chopb.met"
                    return(BREAK);
#line 607 "chopb.met"
            } else 
#line 607 "chopb.met"
                return(CLASS);
#line 607 "chopb.met"
        } else 
#line 607 "chopb.met"
            return(ELSE);
#line 607 "chopb.met"
    } else 
#line 607 "chopb.met"
        return(LONG);
#line 607 "chopb.met"
    return(defaultValue);
#line 607 "chopb.met"
}
#line 607 "chopb.met"

#line 607 "chopb.met"
int chopb::UpSortKeyWord(int value) 
#line 607 "chopb.met"
{
#line 607 "chopb.met"
    register char * ptSource=lexEl.string;
#line 607 "chopb.met"
    for (;*ptSource;ptSource++) *ptSource = toupper(*ptSource);
#line 607 "chopb.met"
    PUT_COORD_CALL;
#line 607 "chopb.met"
    return SortKeyWord (value);
#line 607 "chopb.met"
}
#line 607 "chopb.met"
#line 267 "cplus.met"
int chopb::Lex ()
#line 267 "cplus.met"
{
#line 267 "cplus.met"
    if ( lastContextPos && !lastContextPos -> nbRef )
#line 267 "cplus.met"
        FreePos(lastContextPos);
#line 267 "cplus.met"
    lastContextPos = (PFILE_POSITION)0 ;
#line 267 "cplus.met"
    if ( tokenAhead)
#line 267 "cplus.met"
        ExtUnputBuf();
#line 267 "cplus.met"
    #ifdef DUMP_COORD
#line 267 "cplus.met"
    if(!lexCallLex && dumpCoord) store_pos_as_comment(line,col,0);
#line 267 "cplus.met"
    #endif
#line 267 "cplus.met"
    
#line 267 "cplus.met"
    char * _ptString ;
#line 267 "cplus.met"
    int _nbCharact ;
#line 267 "cplus.met"
    int _bidon = (oldLine = line,oldCol = col );
#line 267 "cplus.met"
    int _bidon1 = (oldLineEntry = line, oldColEntry = col );
#line 267 "cplus.met"
    tokenAhead = 0;
#line 267 "cplus.met"
    if(LexMeta() != -1){tokenAhead =1; return 1;}
#line 267 "cplus.met"
#line 270 "cplus.met"
    if (! (keepCarriage)){
#line 270 "cplus.met"
#line 271 "cplus.met"
#line 272 "cplus.met"
        ptStockBuf = -1;
#line 272 "cplus.met"
        while ((c == '\t')||(c == ' ')||(c == '\r')||(c == '\n')||(c == ''))
#line 272 "cplus.met"
            NextChar() ;
#line 272 "cplus.met"
        ptStockBuf = -1;
#line 272 "cplus.met"
        *lexEl.string = '\0';
#line 272 "cplus.met"
        _nbCharact = 0;
#line 272 "cplus.met"
        tokenAhead = 0;
#line 272 "cplus.met"
        _ptString = lexEl.string ;
#line 272 "cplus.met"
        oldLine=line,oldCol=col;
#line 272 "cplus.met"
        if ( !lexCallLex) {
#line 272 "cplus.met"
            PUT_COORD_CALL;
#line 272 "cplus.met"
        }
#line 272 "cplus.met"
#line 272 "cplus.met"
#line 272 "cplus.met"
    } else {
#line 272 "cplus.met"
#line 275 "cplus.met"
#line 276 "cplus.met"
        ptStockBuf = -1;
#line 276 "cplus.met"
        while ((c == '\t')||(c == ' ')||(c == ''))
#line 276 "cplus.met"
            NextChar() ;
#line 276 "cplus.met"
        ptStockBuf = -1;
#line 276 "cplus.met"
        *lexEl.string = '\0';
#line 276 "cplus.met"
        _nbCharact = 0;
#line 276 "cplus.met"
        tokenAhead = 0;
#line 276 "cplus.met"
        _ptString = lexEl.string ;
#line 276 "cplus.met"
        oldLine=line,oldCol=col;
#line 276 "cplus.met"
        if ( !lexCallLex) {
#line 276 "cplus.met"
            PUT_COORD_CALL;
#line 276 "cplus.met"
        }
#line 276 "cplus.met"
#line 276 "cplus.met"
    }
#line 276 "cplus.met"
#line 278 "cplus.met"
    switch(c) {
#line 278 "cplus.met"
        case '*' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            switch(c) {
#line 278 "cplus.met"
                case '=' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    lexEl.Value = chopb::ETOIEGAL;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                    firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                case '*' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    if (GetStringS("=",1)) {
#line 278 "cplus.met"
                        lexEl.Value = chopb::ETOIETOIEGAL;
#line 278 "cplus.met"
                        *_ptString = '\0' ;
#line 278 "cplus.met"
                        firstOnLine = 0;
#line 278 "cplus.met"
                        tokenAhead = 1;
#line 278 "cplus.met"
                        PUT_COORD_CALL;
#line 278 "cplus.met"
                        return(1);
#line 278 "cplus.met"
                    } else {
#line 278 "cplus.met"
                        UnputChar(1);
#line 278 "cplus.met"
                        goto _exitDumpToken49;
#line 278 "cplus.met"
                    }
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                _exitDumpToken49 :;
#line 278 "cplus.met"
                default :
#line 278 "cplus.met"
                    lexEl.Value = chopb::ETOI;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
            }
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        case '&' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            switch(c) {
#line 278 "cplus.met"
                case '=' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    lexEl.Value = chopb::ETCOEGAL;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                    firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                case '&' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    lexEl.Value = chopb::ETCOETCO;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                    firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                _exitDumpToken52 :;
#line 278 "cplus.met"
                default :
#line 278 "cplus.met"
                    lexEl.Value = chopb::ETCO;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
            }
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        case '~' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            lexEl.Value = chopb::TILD;
#line 278 "cplus.met"
            *_ptString = '\0' ;
#line 278 "cplus.met"
            firstOnLine = 0;
#line 278 "cplus.met"
            tokenAhead = 1;
#line 278 "cplus.met"
            PUT_COORD_CALL;
#line 278 "cplus.met"
            return(1);
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        case '(' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            lexEl.Value = chopb::POUV;
#line 278 "cplus.met"
            *_ptString = '\0' ;
#line 278 "cplus.met"
            firstOnLine = 0;
#line 278 "cplus.met"
            tokenAhead = 1;
#line 278 "cplus.met"
            PUT_COORD_CALL;
#line 278 "cplus.met"
            return(1);
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        case ')' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            lexEl.Value = chopb::PFER;
#line 278 "cplus.met"
            *_ptString = '\0' ;
#line 278 "cplus.met"
            firstOnLine = 0;
#line 278 "cplus.met"
            tokenAhead = 1;
#line 278 "cplus.met"
            PUT_COORD_CALL;
#line 278 "cplus.met"
            return(1);
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        case '+' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            switch(c) {
#line 278 "cplus.met"
                case '=' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    lexEl.Value = chopb::PLUSEGAL;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                    firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                case '+' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    lexEl.Value = chopb::PLUSPLUS;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                    firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                _exitDumpToken58 :;
#line 278 "cplus.met"
                default :
#line 278 "cplus.met"
                    lexEl.Value = chopb::PLUS;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
            }
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        case '-' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            switch(c) {
#line 278 "cplus.met"
                case '=' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    lexEl.Value = chopb::TIREEGAL;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                    firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                case '-' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    lexEl.Value = chopb::TIRETIRE;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                    firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                case '>' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    switch(c) {
#line 278 "cplus.met"
                        case '*' :
#line 278 "cplus.met"
                            NextChar();
#line 278 "cplus.met"
                            lexEl.Value = chopb::TIRESUPEETOI;
#line 278 "cplus.met"
                            *_ptString = '\0' ;
#line 278 "cplus.met"
                            firstOnLine = 0;
#line 278 "cplus.met"
                            tokenAhead = 1;
#line 278 "cplus.met"
                            PUT_COORD_CALL;
#line 278 "cplus.met"
                            return(1);
#line 278 "cplus.met"
                            break;
#line 278 "cplus.met"
                        _exitDumpToken64 :;
#line 278 "cplus.met"
                        default :
#line 278 "cplus.met"
                            lexEl.Value = chopb::TIRESUPE;
#line 278 "cplus.met"
                            *_ptString = '\0' ;
#line 278 "cplus.met"
                        firstOnLine = 0;
#line 278 "cplus.met"
                            tokenAhead = 1;
#line 278 "cplus.met"
                            PUT_COORD_CALL;
#line 278 "cplus.met"
                        
#line 278 "cplus.met"
                            return(1);
#line 278 "cplus.met"
                    }
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                _exitDumpToken61 :;
#line 278 "cplus.met"
                default :
#line 278 "cplus.met"
                    lexEl.Value = chopb::TIRE;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
            }
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        case ':' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            switch(c) {
#line 278 "cplus.met"
                case ':' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    lexEl.Value = chopb::DPOIDPOI;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                    firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                _exitDumpToken66 :;
#line 278 "cplus.met"
                default :
#line 278 "cplus.met"
                    lexEl.Value = chopb::DPOI;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
            }
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        case ',' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            lexEl.Value = chopb::VIRG;
#line 278 "cplus.met"
            *_ptString = '\0' ;
#line 278 "cplus.met"
            firstOnLine = 0;
#line 278 "cplus.met"
            tokenAhead = 1;
#line 278 "cplus.met"
            PUT_COORD_CALL;
#line 278 "cplus.met"
            return(1);
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        case '=' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            switch(c) {
#line 278 "cplus.met"
                case '=' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    lexEl.Value = chopb::EGALEGAL;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                    firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                _exitDumpToken69 :;
#line 278 "cplus.met"
                default :
#line 278 "cplus.met"
                    lexEl.Value = chopb::EGAL;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
            }
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        case '.' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            switch(c) {
#line 278 "cplus.met"
                case '.' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    if (GetStringS(".",1)) {
#line 278 "cplus.met"
                        lexEl.Value = chopb::POINPOINPOIN;
#line 278 "cplus.met"
                        *_ptString = '\0' ;
#line 278 "cplus.met"
                        firstOnLine = 0;
#line 278 "cplus.met"
                        tokenAhead = 1;
#line 278 "cplus.met"
                        PUT_COORD_CALL;
#line 278 "cplus.met"
                        return(1);
#line 278 "cplus.met"
                    } else {
#line 278 "cplus.met"
                        UnputChar(1);
#line 278 "cplus.met"
                        goto _exitDumpToken71;
#line 278 "cplus.met"
                    }
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                case '*' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    lexEl.Value = chopb::POINETOI;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                    firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                _exitDumpToken71 :;
#line 278 "cplus.met"
                default :
#line 278 "cplus.met"
                    UnputChar(1);
#line 278 "cplus.met"
                goto _exitDumpToken0;
#line 278 "cplus.met"
            }
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        case '%' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            switch(c) {
#line 278 "cplus.met"
                case '=' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    lexEl.Value = chopb::POURCEGAL;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                    firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                _exitDumpToken74 :;
#line 278 "cplus.met"
                default :
#line 278 "cplus.met"
                    lexEl.Value = chopb::POURC;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
            }
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        case '<' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            switch(c) {
#line 278 "cplus.met"
                case '<' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    switch(c) {
#line 278 "cplus.met"
                        case '=' :
#line 278 "cplus.met"
                            NextChar();
#line 278 "cplus.met"
                            lexEl.Value = chopb::INFEINFEEGAL;
#line 278 "cplus.met"
                            *_ptString = '\0' ;
#line 278 "cplus.met"
                            firstOnLine = 0;
#line 278 "cplus.met"
                            tokenAhead = 1;
#line 278 "cplus.met"
                            PUT_COORD_CALL;
#line 278 "cplus.met"
                            return(1);
#line 278 "cplus.met"
                            break;
#line 278 "cplus.met"
                        _exitDumpToken77 :;
#line 278 "cplus.met"
                        default :
#line 278 "cplus.met"
                            lexEl.Value = chopb::INFEINFE;
#line 278 "cplus.met"
                            *_ptString = '\0' ;
#line 278 "cplus.met"
                        firstOnLine = 0;
#line 278 "cplus.met"
                            tokenAhead = 1;
#line 278 "cplus.met"
                            PUT_COORD_CALL;
#line 278 "cplus.met"
                        
#line 278 "cplus.met"
                            return(1);
#line 278 "cplus.met"
                    }
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                case '=' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    lexEl.Value = chopb::INFEEGAL;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                    firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                case '>' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    lexEl.Value = chopb::INFESUPE;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                    firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                case 'S' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    if ( c== 'E') {
#line 278 "cplus.met"
                        NextChar();
#line 278 "cplus.met"
                        if ( c== 'P') {
#line 278 "cplus.met"
                            NextChar();
#line 278 "cplus.met"
                            switch(c) {
#line 278 "cplus.met"
                                case 'A' :
#line 278 "cplus.met"
                                    NextChar();
#line 278 "cplus.met"
                                    if (GetStringS(">",1)) {
#line 278 "cplus.met"
                                        lexEl.Value = chopb::INFESEPASUPE;
#line 278 "cplus.met"
                                        *_ptString = '\0' ;
#line 278 "cplus.met"
                                        firstOnLine = 0;
#line 278 "cplus.met"
                                        tokenAhead = 1;
#line 278 "cplus.met"
                                        PUT_COORD_CALL;
#line 278 "cplus.met"
                                        return(1);
#line 278 "cplus.met"
                                    } else {
#line 278 "cplus.met"
                                        UnputChar(1);
#line 278 "cplus.met"
                                        goto _exitDumpToken83;
#line 278 "cplus.met"
                                    }
#line 278 "cplus.met"
                                    break;
#line 278 "cplus.met"
                                case 'B' :
#line 278 "cplus.met"
                                    NextChar();
#line 278 "cplus.met"
                                    if (GetStringS(">",1)) {
#line 278 "cplus.met"
                                        lexEl.Value = chopb::INFESEPBSUPE;
#line 278 "cplus.met"
                                        *_ptString = '\0' ;
#line 278 "cplus.met"
                                        firstOnLine = 0;
#line 278 "cplus.met"
                                        tokenAhead = 1;
#line 278 "cplus.met"
                                        PUT_COORD_CALL;
#line 278 "cplus.met"
                                        return(1);
#line 278 "cplus.met"
                                    } else {
#line 278 "cplus.met"
                                        UnputChar(1);
#line 278 "cplus.met"
                                        goto _exitDumpToken83;
#line 278 "cplus.met"
                                    }
#line 278 "cplus.met"
                                    break;
#line 278 "cplus.met"
                                case 'O' :
#line 278 "cplus.met"
                                    NextChar();
#line 278 "cplus.met"
                                    if (GetStringS(">",1)) {
#line 278 "cplus.met"
                                        lexEl.Value = chopb::INFESEPOSUPE;
#line 278 "cplus.met"
                                        *_ptString = '\0' ;
#line 278 "cplus.met"
                                        firstOnLine = 0;
#line 278 "cplus.met"
                                        tokenAhead = 1;
#line 278 "cplus.met"
                                        PUT_COORD_CALL;
#line 278 "cplus.met"
                                        return(1);
#line 278 "cplus.met"
                                    } else {
#line 278 "cplus.met"
                                        UnputChar(1);
#line 278 "cplus.met"
                                        goto _exitDumpToken83;
#line 278 "cplus.met"
                                    }
#line 278 "cplus.met"
                                    break;
#line 278 "cplus.met"
                                _exitDumpToken83 :;
#line 278 "cplus.met"
                                default :
#line 278 "cplus.met"
                                    UnputChar(3);
#line 278 "cplus.met"
                                goto _exitDumpToken76;
#line 278 "cplus.met"
                            }
#line 278 "cplus.met"
                        } else {
#line 278 "cplus.met"
                            UnputChar(2);
#line 278 "cplus.met"
                            goto _exitDumpToken76;
#line 278 "cplus.met"
                        }
#line 278 "cplus.met"
                    } else {
#line 278 "cplus.met"
                        UnputChar(1);
#line 278 "cplus.met"
                        goto _exitDumpToken76;
#line 278 "cplus.met"
                    }
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                _exitDumpToken76 :;
#line 278 "cplus.met"
                default :
#line 278 "cplus.met"
                    lexEl.Value = chopb::INFE;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
            }
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        case '>' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            switch(c) {
#line 278 "cplus.met"
                case '>' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    switch(c) {
#line 278 "cplus.met"
                        case '=' :
#line 278 "cplus.met"
                            NextChar();
#line 278 "cplus.met"
                            lexEl.Value = chopb::SUPESUPEEGAL;
#line 278 "cplus.met"
                            *_ptString = '\0' ;
#line 278 "cplus.met"
                            firstOnLine = 0;
#line 278 "cplus.met"
                            tokenAhead = 1;
#line 278 "cplus.met"
                            PUT_COORD_CALL;
#line 278 "cplus.met"
                            return(1);
#line 278 "cplus.met"
                            break;
#line 278 "cplus.met"
                        _exitDumpToken88 :;
#line 278 "cplus.met"
                        default :
#line 278 "cplus.met"
                            lexEl.Value = chopb::SUPESUPE;
#line 278 "cplus.met"
                            *_ptString = '\0' ;
#line 278 "cplus.met"
                        firstOnLine = 0;
#line 278 "cplus.met"
                            tokenAhead = 1;
#line 278 "cplus.met"
                            PUT_COORD_CALL;
#line 278 "cplus.met"
                        
#line 278 "cplus.met"
                            return(1);
#line 278 "cplus.met"
                    }
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                case '=' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    lexEl.Value = chopb::SUPEEGAL;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                    firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                _exitDumpToken87 :;
#line 278 "cplus.met"
                default :
#line 278 "cplus.met"
                    lexEl.Value = chopb::SUPE;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
            }
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        case '|' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            switch(c) {
#line 278 "cplus.met"
                case '=' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    lexEl.Value = chopb::VBAREGAL;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                    firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                case '|' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    lexEl.Value = chopb::VBARVBAR;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                    firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                _exitDumpToken91 :;
#line 278 "cplus.met"
                default :
#line 278 "cplus.met"
                    lexEl.Value = chopb::VBAR;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
            }
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        case '^' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            switch(c) {
#line 278 "cplus.met"
                case '=' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    lexEl.Value = chopb::CHAPEGAL;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                    firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                _exitDumpToken94 :;
#line 278 "cplus.met"
                default :
#line 278 "cplus.met"
                    lexEl.Value = chopb::CHAP;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
            }
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        case '{' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            switch(c) {
#line 278 "cplus.met"
                case '{' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    lexEl.Value = chopb::AOUVAOUV;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                    firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                _exitDumpToken96 :;
#line 278 "cplus.met"
                default :
#line 278 "cplus.met"
                    lexEl.Value = chopb::AOUV;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
            }
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        case '}' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            switch(c) {
#line 278 "cplus.met"
                case '}' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    lexEl.Value = chopb::AFERAFER;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                    firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                _exitDumpToken98 :;
#line 278 "cplus.met"
                default :
#line 278 "cplus.met"
                    lexEl.Value = chopb::AFER;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
            }
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        case '?' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            lexEl.Value = chopb::INTE;
#line 278 "cplus.met"
            *_ptString = '\0' ;
#line 278 "cplus.met"
            firstOnLine = 0;
#line 278 "cplus.met"
            tokenAhead = 1;
#line 278 "cplus.met"
            PUT_COORD_CALL;
#line 278 "cplus.met"
            return(1);
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        case ';' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            lexEl.Value = chopb::PVIR;
#line 278 "cplus.met"
            *_ptString = '\0' ;
#line 278 "cplus.met"
            firstOnLine = 0;
#line 278 "cplus.met"
            tokenAhead = 1;
#line 278 "cplus.met"
            PUT_COORD_CALL;
#line 278 "cplus.met"
            return(1);
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        case '[' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            lexEl.Value = chopb::COUV;
#line 278 "cplus.met"
            *_ptString = '\0' ;
#line 278 "cplus.met"
            firstOnLine = 0;
#line 278 "cplus.met"
            tokenAhead = 1;
#line 278 "cplus.met"
            PUT_COORD_CALL;
#line 278 "cplus.met"
            return(1);
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        case ']' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            lexEl.Value = chopb::CFER;
#line 278 "cplus.met"
            *_ptString = '\0' ;
#line 278 "cplus.met"
            firstOnLine = 0;
#line 278 "cplus.met"
            tokenAhead = 1;
#line 278 "cplus.met"
            PUT_COORD_CALL;
#line 278 "cplus.met"
            return(1);
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        case '!' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            switch(c) {
#line 278 "cplus.met"
                case '=' :
#line 278 "cplus.met"
                    NextChar();
#line 278 "cplus.met"
                    lexEl.Value = chopb::EXCLEGAL;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                    firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
                    break;
#line 278 "cplus.met"
                _exitDumpToken104 :;
#line 278 "cplus.met"
                default :
#line 278 "cplus.met"
                    lexEl.Value = chopb::EXCL;
#line 278 "cplus.met"
                    *_ptString = '\0' ;
#line 278 "cplus.met"
                firstOnLine = 0;
#line 278 "cplus.met"
                    tokenAhead = 1;
#line 278 "cplus.met"
                    PUT_COORD_CALL;
#line 278 "cplus.met"
                
#line 278 "cplus.met"
                    return(1);
#line 278 "cplus.met"
            }
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        case '@' :
#line 278 "cplus.met"
            NextChar();
#line 278 "cplus.met"
            lexEl.Value = chopb::ARRO;
#line 278 "cplus.met"
            *_ptString = '\0' ;
#line 278 "cplus.met"
            firstOnLine = 0;
#line 278 "cplus.met"
            tokenAhead = 1;
#line 278 "cplus.met"
            PUT_COORD_CALL;
#line 278 "cplus.met"
            return(1);
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
        _exitDumpToken0 :;
#line 278 "cplus.met"
        default :
#line 278 "cplus.met"
            break;
#line 278 "cplus.met"
    }
#line 278 "cplus.met"
    if(ptStockBuf > -1) UnputBuf ();
#line 278 "cplus.met"
    *lexEl.string = '\0';
#line 278 "cplus.met"
    _nbCharact = 0;
#line 278 "cplus.met"
    tokenAhead = 0;
#line 278 "cplus.met"
    if ( lastContextPos && !lastContextPos->nbRef) FreePos(lastContextPos);
#line 278 "cplus.met"
    lastContextPos = (PFILE_POSITION) 0 ;
#line 278 "cplus.met"
    _ptString = lexEl.string ;
#line 278 "cplus.met"
#line 279 "cplus.met"
    switch (c) {
#line 279 "cplus.met"
#line 280 "cplus.met"
        case 'a' :
#line 280 "cplus.met"
        case 'b' :
#line 280 "cplus.met"
        case 'c' :
#line 280 "cplus.met"
        case 'd' :
#line 280 "cplus.met"
        case 'e' :
#line 280 "cplus.met"
        case 'f' :
#line 280 "cplus.met"
        case 'g' :
#line 280 "cplus.met"
        case 'h' :
#line 280 "cplus.met"
        case 'i' :
#line 280 "cplus.met"
        case 'j' :
#line 280 "cplus.met"
        case 'k' :
#line 280 "cplus.met"
        case 'l' :
#line 280 "cplus.met"
        case 'm' :
#line 280 "cplus.met"
        case 'n' :
#line 280 "cplus.met"
        case 'o' :
#line 280 "cplus.met"
        case 'p' :
#line 280 "cplus.met"
        case 'q' :
#line 280 "cplus.met"
        case 'r' :
#line 280 "cplus.met"
        case 's' :
#line 280 "cplus.met"
        case 't' :
#line 280 "cplus.met"
        case 'u' :
#line 280 "cplus.met"
        case 'v' :
#line 280 "cplus.met"
        case 'w' :
#line 280 "cplus.met"
        case 'x' :
#line 280 "cplus.met"
        case 'y' :
#line 280 "cplus.met"
        case 'z' :
#line 280 "cplus.met"
        case 'A' :
#line 280 "cplus.met"
        case 'B' :
#line 280 "cplus.met"
        case 'C' :
#line 280 "cplus.met"
        case 'D' :
#line 280 "cplus.met"
        case 'E' :
#line 280 "cplus.met"
        case 'F' :
#line 280 "cplus.met"
        case 'G' :
#line 280 "cplus.met"
        case 'H' :
#line 280 "cplus.met"
        case 'I' :
#line 280 "cplus.met"
        case 'J' :
#line 280 "cplus.met"
        case 'K' :
#line 280 "cplus.met"
        case 'L' :
#line 280 "cplus.met"
        case 'M' :
#line 280 "cplus.met"
        case 'N' :
#line 280 "cplus.met"
        case 'O' :
#line 280 "cplus.met"
        case 'P' :
#line 280 "cplus.met"
        case 'Q' :
#line 280 "cplus.met"
        case 'R' :
#line 280 "cplus.met"
        case 'S' :
#line 280 "cplus.met"
        case 'T' :
#line 280 "cplus.met"
        case 'U' :
#line 280 "cplus.met"
        case 'V' :
#line 280 "cplus.met"
        case 'W' :
#line 280 "cplus.met"
        case 'X' :
#line 280 "cplus.met"
        case 'Y' :
#line 280 "cplus.met"
        case 'Z' :
#line 280 "cplus.met"
        case '_' :
#line 280 "cplus.met"
#line 281 "cplus.met"
#line 283 "cplus.met"
            while ((('a' <= c && c <= 'z')||('A' <= c && c <= 'Z')||(c == '_')||('0' <= c && c <= '9'))) { 
#line 283 "cplus.met"
#line 284 "cplus.met"
                {
#line 284 "cplus.met"
                    if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 284 "cplus.met"
                    NextChar();
#line 284 "cplus.met"
                }
#line 284 "cplus.met"
            } 
#line 284 "cplus.met"
#line 285 "cplus.met"
            {
#line 285 "cplus.met"
                *_ptString = '\0' ;
#line 285 "cplus.met"
                firstOnLine = 0 ; 
#line 285 "cplus.met"
                tokenAhead =1;
#line 285 "cplus.met"
                lexEl.Value = (SortKeyWord (IDENT));
#line 285 "cplus.met"
                PUT_COORD_CALL;
#line 285 "cplus.met"
                return(1);
#line 285 "cplus.met"
            }
#line 285 "cplus.met"
            break ;
#line 285 "cplus.met"
#line 287 "cplus.met"
        case '"' :
#line 287 "cplus.met"
            NextChar();
#line 287 "cplus.met"
#line 289 "cplus.met"
            while (c != EOF) { 
#line 289 "cplus.met"
#line 291 "cplus.met"
                switch (c) {
#line 291 "cplus.met"
#line 292 "cplus.met"
                    case '"' :
#line 292 "cplus.met"
                        NextChar();
#line 292 "cplus.met"
#line 293 "cplus.met"
#line 294 "cplus.met"
                        {
#line 294 "cplus.met"
                            *_ptString = '\0' ;
#line 294 "cplus.met"
                            firstOnLine = 0 ; 
#line 294 "cplus.met"
                            tokenAhead =1;
#line 294 "cplus.met"
                            lexEl.Value=STRING;
#line 294 "cplus.met"
                            PUT_COORD_CALL;
#line 294 "cplus.met"
                            return(1);
#line 294 "cplus.met"
                        }
#line 294 "cplus.met"
                        break ;
#line 294 "cplus.met"
#line 296 "cplus.met"
                    case '\\' :
#line 296 "cplus.met"
                        NextChar();
#line 296 "cplus.met"
#line 297 "cplus.met"
#line 298 "cplus.met"
                        {
#line 298 "cplus.met"
                            if (_nbCharact + strlen("\\") < MAXLENGTH) 
#line 298 "cplus.met"
                                strcpy(_ptString,"\\");
#line 298 "cplus.met"
                            _nbCharact += strlen("\\");_ptString = lexEl.string + _nbCharact;
#line 298 "cplus.met"
                        
#line 298 "cplus.met"
                        }
#line 298 "cplus.met"
#line 299 "cplus.met"
                        if (! (((c == '\r')))){
#line 299 "cplus.met"
#line 302 "cplus.met"
                            {
#line 302 "cplus.met"
                                if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 302 "cplus.met"
                                NextChar();
#line 302 "cplus.met"
                            }
#line 302 "cplus.met"
                        } else {
#line 302 "cplus.met"
#line 305 "cplus.met"
                            if (!(c != EOF&& NextChar())) ;
#line 305 "cplus.met"
                        }
#line 305 "cplus.met"
                        break ;
#line 305 "cplus.met"
#line 307 "cplus.met"
                    default : 
#line 307 "cplus.met"
                         if (c!= EOF) {
#line 307 "cplus.met"
#line 307 "cplus.met"
                            {
#line 307 "cplus.met"
                                if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 307 "cplus.met"
                                NextChar();
#line 307 "cplus.met"
                            }
#line 307 "cplus.met"
                        }
#line 307 "cplus.met"
                        break ;
#line 307 "cplus.met"
                }
#line 307 "cplus.met"
            } 
#line 307 "cplus.met"
            break ;
#line 307 "cplus.met"
#line 309 "cplus.met"
        case '\'' :
#line 309 "cplus.met"
            NextChar();
#line 309 "cplus.met"
#line 311 "cplus.met"
            while (c != EOF) { 
#line 311 "cplus.met"
#line 313 "cplus.met"
                switch (c) {
#line 313 "cplus.met"
#line 314 "cplus.met"
                    case '\\' :
#line 314 "cplus.met"
                        NextChar();
#line 314 "cplus.met"
#line 315 "cplus.met"
#line 316 "cplus.met"
                        {
#line 316 "cplus.met"
                            if (_nbCharact + strlen("\\") < MAXLENGTH) 
#line 316 "cplus.met"
                                strcpy(_ptString,"\\");
#line 316 "cplus.met"
                            _nbCharact += strlen("\\");_ptString = lexEl.string + _nbCharact;
#line 316 "cplus.met"
                        
#line 316 "cplus.met"
                        }
#line 316 "cplus.met"
#line 317 "cplus.met"
                        {
#line 317 "cplus.met"
                            if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 317 "cplus.met"
                            NextChar();
#line 317 "cplus.met"
                        }
#line 317 "cplus.met"
                        break ;
#line 317 "cplus.met"
#line 319 "cplus.met"
                    case '\'' :
#line 319 "cplus.met"
                        NextChar();
#line 319 "cplus.met"
#line 320 "cplus.met"
#line 321 "cplus.met"
                        {
#line 321 "cplus.met"
                            *_ptString = '\0' ;
#line 321 "cplus.met"
                            firstOnLine = 0 ; 
#line 321 "cplus.met"
                            tokenAhead =1;
#line 321 "cplus.met"
                            lexEl.Value=CHARACT;
#line 321 "cplus.met"
                            PUT_COORD_CALL;
#line 321 "cplus.met"
                            return(1);
#line 321 "cplus.met"
                        }
#line 321 "cplus.met"
                        break ;
#line 321 "cplus.met"
#line 323 "cplus.met"
                    default : 
#line 323 "cplus.met"
                         if (c!= EOF) {
#line 323 "cplus.met"
#line 323 "cplus.met"
                            {
#line 323 "cplus.met"
                                if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 323 "cplus.met"
                                NextChar();
#line 323 "cplus.met"
                            }
#line 323 "cplus.met"
                        }
#line 323 "cplus.met"
                        break ;
#line 323 "cplus.met"
                }
#line 323 "cplus.met"
            } 
#line 323 "cplus.met"
            break ;
#line 323 "cplus.met"
#line 325 "cplus.met"
        case '1' :
#line 325 "cplus.met"
        case '2' :
#line 325 "cplus.met"
        case '3' :
#line 325 "cplus.met"
        case '4' :
#line 325 "cplus.met"
        case '5' :
#line 325 "cplus.met"
        case '6' :
#line 325 "cplus.met"
        case '7' :
#line 325 "cplus.met"
        case '8' :
#line 325 "cplus.met"
        case '9' :
#line 325 "cplus.met"
#line 327 "cplus.met"
#line 329 "cplus.met"
            while ((('0' <= c && c <= '9'))) { 
#line 329 "cplus.met"
#line 330 "cplus.met"
                {
#line 330 "cplus.met"
                    if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 330 "cplus.met"
                    NextChar();
#line 330 "cplus.met"
                }
#line 330 "cplus.met"
            } 
#line 330 "cplus.met"
#line 331 "cplus.met"
            switch (c) {
#line 331 "cplus.met"
#line 332 "cplus.met"
                case 'l' :
#line 332 "cplus.met"
                case 'L' :
#line 332 "cplus.met"
                    NextChar();
#line 332 "cplus.met"
#line 333 "cplus.met"
                    switch (c) {
#line 333 "cplus.met"
#line 334 "cplus.met"
                        case 'u' :
#line 334 "cplus.met"
                        case 'U' :
#line 334 "cplus.met"
                            NextChar();
#line 334 "cplus.met"
#line 334 "cplus.met"
                            {
#line 334 "cplus.met"
                                *_ptString = '\0' ;
#line 334 "cplus.met"
                                firstOnLine = 0 ; 
#line 334 "cplus.met"
                                tokenAhead =1;
#line 334 "cplus.met"
                                lexEl.Value=ULINTEGER;
#line 334 "cplus.met"
                                PUT_COORD_CALL;
#line 334 "cplus.met"
                                return(1);
#line 334 "cplus.met"
                            }
#line 334 "cplus.met"
                            break ;
#line 334 "cplus.met"
#line 335 "cplus.met"
                        default : 
#line 335 "cplus.met"
                             if (c!= EOF) {
#line 335 "cplus.met"
#line 335 "cplus.met"
                                {
#line 335 "cplus.met"
                                    *_ptString = '\0' ;
#line 335 "cplus.met"
                                    firstOnLine = 0 ; 
#line 335 "cplus.met"
                                    tokenAhead =1;
#line 335 "cplus.met"
                                    lexEl.Value=LINTEGER;
#line 335 "cplus.met"
                                    PUT_COORD_CALL;
#line 335 "cplus.met"
                                    return(1);
#line 335 "cplus.met"
                                }
#line 335 "cplus.met"
                            }
#line 335 "cplus.met"
                            break ;
#line 335 "cplus.met"
                    }
#line 335 "cplus.met"
                    break ;
#line 335 "cplus.met"
#line 337 "cplus.met"
                case 'u' :
#line 337 "cplus.met"
                case 'U' :
#line 337 "cplus.met"
                    NextChar();
#line 337 "cplus.met"
#line 338 "cplus.met"
                    switch (c) {
#line 338 "cplus.met"
#line 339 "cplus.met"
                        case 'l' :
#line 339 "cplus.met"
                        case 'L' :
#line 339 "cplus.met"
                            NextChar();
#line 339 "cplus.met"
#line 339 "cplus.met"
                            {
#line 339 "cplus.met"
                                *_ptString = '\0' ;
#line 339 "cplus.met"
                                firstOnLine = 0 ; 
#line 339 "cplus.met"
                                tokenAhead =1;
#line 339 "cplus.met"
                                lexEl.Value=ULINTEGER;
#line 339 "cplus.met"
                                PUT_COORD_CALL;
#line 339 "cplus.met"
                                return(1);
#line 339 "cplus.met"
                            }
#line 339 "cplus.met"
                            break ;
#line 339 "cplus.met"
#line 340 "cplus.met"
                        default : 
#line 340 "cplus.met"
                             if (c!= EOF) {
#line 340 "cplus.met"
#line 340 "cplus.met"
                                {
#line 340 "cplus.met"
                                    *_ptString = '\0' ;
#line 340 "cplus.met"
                                    firstOnLine = 0 ; 
#line 340 "cplus.met"
                                    tokenAhead =1;
#line 340 "cplus.met"
                                    lexEl.Value=UINTEGER;
#line 340 "cplus.met"
                                    PUT_COORD_CALL;
#line 340 "cplus.met"
                                    return(1);
#line 340 "cplus.met"
                                }
#line 340 "cplus.met"
                            }
#line 340 "cplus.met"
                            break ;
#line 340 "cplus.met"
                    }
#line 340 "cplus.met"
                    break ;
#line 340 "cplus.met"
#line 342 "cplus.met"
                case 'e' :
#line 342 "cplus.met"
                case 'E' :
#line 342 "cplus.met"
                    NextChar();
#line 342 "cplus.met"
#line 343 "cplus.met"
#line 344 "cplus.met"
                    {
#line 344 "cplus.met"
                        if (_nbCharact + strlen("e") < MAXLENGTH) 
#line 344 "cplus.met"
                            strcpy(_ptString,"e");
#line 344 "cplus.met"
                        _nbCharact += strlen("e");_ptString = lexEl.string + _nbCharact;
#line 344 "cplus.met"
                    
#line 344 "cplus.met"
                    }
#line 344 "cplus.met"
#line 345 "cplus.met"
                    if (((c == '+')||(c == '-'))){
#line 345 "cplus.met"
#line 346 "cplus.met"
                        {
#line 346 "cplus.met"
                            if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 346 "cplus.met"
                            NextChar();
#line 346 "cplus.met"
                        }
#line 346 "cplus.met"
                    }
#line 346 "cplus.met"
#line 347 "cplus.met"
                    while ((('0' <= c && c <= '9'))) { 
#line 347 "cplus.met"
#line 348 "cplus.met"
                        {
#line 348 "cplus.met"
                            if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 348 "cplus.met"
                            NextChar();
#line 348 "cplus.met"
                        }
#line 348 "cplus.met"
                    } 
#line 348 "cplus.met"
#line 349 "cplus.met"
                    switch (c) {
#line 349 "cplus.met"
#line 350 "cplus.met"
                        case 'f' :
#line 350 "cplus.met"
#line 350 "cplus.met"
                            {
#line 350 "cplus.met"
                                if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 350 "cplus.met"
                                NextChar();
#line 350 "cplus.met"
                            }
#line 350 "cplus.met"
                            break ;
#line 350 "cplus.met"
#line 351 "cplus.met"
                        case 'F' :
#line 351 "cplus.met"
#line 351 "cplus.met"
                            {
#line 351 "cplus.met"
                                if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 351 "cplus.met"
                                NextChar();
#line 351 "cplus.met"
                            }
#line 351 "cplus.met"
                            break ;
#line 351 "cplus.met"
#line 352 "cplus.met"
                        case 'l' :
#line 352 "cplus.met"
#line 352 "cplus.met"
                            {
#line 352 "cplus.met"
                                if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 352 "cplus.met"
                                NextChar();
#line 352 "cplus.met"
                            }
#line 352 "cplus.met"
                            break ;
#line 352 "cplus.met"
#line 353 "cplus.met"
                        case 'L' :
#line 353 "cplus.met"
#line 353 "cplus.met"
                            {
#line 353 "cplus.met"
                                if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 353 "cplus.met"
                                NextChar();
#line 353 "cplus.met"
                            }
#line 353 "cplus.met"
                            break ;
#line 353 "cplus.met"
                    }
#line 353 "cplus.met"
#line 355 "cplus.met"
                    {
#line 355 "cplus.met"
                        *_ptString = '\0' ;
#line 355 "cplus.met"
                        firstOnLine = 0 ; 
#line 355 "cplus.met"
                        tokenAhead =1;
#line 355 "cplus.met"
                        lexEl.Value=FLOAT;
#line 355 "cplus.met"
                        PUT_COORD_CALL;
#line 355 "cplus.met"
                        return(1);
#line 355 "cplus.met"
                    }
#line 355 "cplus.met"
                    break ;
#line 355 "cplus.met"
#line 357 "cplus.met"
                case '.' :
#line 357 "cplus.met"
#line 358 "cplus.met"
#line 359 "cplus.met"
                    {
#line 359 "cplus.met"
                        if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 359 "cplus.met"
                        NextChar();
#line 359 "cplus.met"
                    }
#line 359 "cplus.met"
#line 360 "cplus.met"
                    while ((('0' <= c && c <= '9'))) { 
#line 360 "cplus.met"
#line 361 "cplus.met"
                        {
#line 361 "cplus.met"
                            if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 361 "cplus.met"
                            NextChar();
#line 361 "cplus.met"
                        }
#line 361 "cplus.met"
                    } 
#line 361 "cplus.met"
#line 362 "cplus.met"
                    if (((c == 'e')||(c == 'E'))&& NextChar()){
#line 362 "cplus.met"
#line 363 "cplus.met"
#line 364 "cplus.met"
                        {
#line 364 "cplus.met"
                            if (_nbCharact + strlen("e") < MAXLENGTH) 
#line 364 "cplus.met"
                                strcpy(_ptString,"e");
#line 364 "cplus.met"
                            _nbCharact += strlen("e");_ptString = lexEl.string + _nbCharact;
#line 364 "cplus.met"
                        
#line 364 "cplus.met"
                        }
#line 364 "cplus.met"
#line 365 "cplus.met"
                        if (((c == '+')||(c == '-'))){
#line 365 "cplus.met"
#line 366 "cplus.met"
                            {
#line 366 "cplus.met"
                                if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 366 "cplus.met"
                                NextChar();
#line 366 "cplus.met"
                            }
#line 366 "cplus.met"
                        }
#line 366 "cplus.met"
#line 367 "cplus.met"
                        while ((('0' <= c && c <= '9'))) { 
#line 367 "cplus.met"
#line 368 "cplus.met"
                            {
#line 368 "cplus.met"
                                if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 368 "cplus.met"
                                NextChar();
#line 368 "cplus.met"
                            }
#line 368 "cplus.met"
                        } 
#line 368 "cplus.met"
#line 369 "cplus.met"
                    }
#line 369 "cplus.met"
#line 370 "cplus.met"
                    switch (c) {
#line 370 "cplus.met"
#line 371 "cplus.met"
                        case 'f' :
#line 371 "cplus.met"
#line 371 "cplus.met"
                            {
#line 371 "cplus.met"
                                if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 371 "cplus.met"
                                NextChar();
#line 371 "cplus.met"
                            }
#line 371 "cplus.met"
                            break ;
#line 371 "cplus.met"
#line 372 "cplus.met"
                        case 'F' :
#line 372 "cplus.met"
#line 372 "cplus.met"
                            {
#line 372 "cplus.met"
                                if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 372 "cplus.met"
                                NextChar();
#line 372 "cplus.met"
                            }
#line 372 "cplus.met"
                            break ;
#line 372 "cplus.met"
#line 373 "cplus.met"
                        case 'l' :
#line 373 "cplus.met"
#line 373 "cplus.met"
                            {
#line 373 "cplus.met"
                                if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 373 "cplus.met"
                                NextChar();
#line 373 "cplus.met"
                            }
#line 373 "cplus.met"
                            break ;
#line 373 "cplus.met"
#line 374 "cplus.met"
                        case 'L' :
#line 374 "cplus.met"
#line 374 "cplus.met"
                            {
#line 374 "cplus.met"
                                if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 374 "cplus.met"
                                NextChar();
#line 374 "cplus.met"
                            }
#line 374 "cplus.met"
                            break ;
#line 374 "cplus.met"
                    }
#line 374 "cplus.met"
#line 376 "cplus.met"
                    {
#line 376 "cplus.met"
                        *_ptString = '\0' ;
#line 376 "cplus.met"
                        firstOnLine = 0 ; 
#line 376 "cplus.met"
                        tokenAhead =1;
#line 376 "cplus.met"
                        lexEl.Value=FLOAT;
#line 376 "cplus.met"
                        PUT_COORD_CALL;
#line 376 "cplus.met"
                        return(1);
#line 376 "cplus.met"
                    }
#line 376 "cplus.met"
                    break ;
#line 376 "cplus.met"
#line 378 "cplus.met"
                default : 
#line 378 "cplus.met"
                     if (c!= EOF) {
#line 378 "cplus.met"
#line 378 "cplus.met"
                        {
#line 378 "cplus.met"
                            *_ptString = '\0' ;
#line 378 "cplus.met"
                            firstOnLine = 0 ; 
#line 378 "cplus.met"
                            tokenAhead =1;
#line 378 "cplus.met"
                            lexEl.Value=INTEGER;
#line 378 "cplus.met"
                            PUT_COORD_CALL;
#line 378 "cplus.met"
                            return(1);
#line 378 "cplus.met"
                        }
#line 378 "cplus.met"
                    }
#line 378 "cplus.met"
                    break ;
#line 378 "cplus.met"
            }
#line 378 "cplus.met"
            break ;
#line 378 "cplus.met"
#line 381 "cplus.met"
        case '0' :
#line 381 "cplus.met"
            NextChar();
#line 381 "cplus.met"
#line 382 "cplus.met"
#line 383 "cplus.met"
            switch (c) {
#line 383 "cplus.met"
#line 384 "cplus.met"
                case 'x' :
#line 384 "cplus.met"
                case 'X' :
#line 384 "cplus.met"
                    NextChar();
#line 384 "cplus.met"
#line 385 "cplus.met"
#line 386 "cplus.met"
                    while ((('0' <= c && c <= '9')||('a' <= c && c <= 'f')||('A' <= c && c <= 'F'))) { 
#line 386 "cplus.met"
#line 387 "cplus.met"
                        {
#line 387 "cplus.met"
                            if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 387 "cplus.met"
                            NextChar();
#line 387 "cplus.met"
                        }
#line 387 "cplus.met"
                    } 
#line 387 "cplus.met"
#line 388 "cplus.met"
                    switch (c) {
#line 388 "cplus.met"
#line 389 "cplus.met"
                        case 'l' :
#line 389 "cplus.met"
                        case 'L' :
#line 389 "cplus.met"
                            NextChar();
#line 389 "cplus.met"
#line 390 "cplus.met"
                            switch (c) {
#line 390 "cplus.met"
#line 391 "cplus.met"
                                case 'u' :
#line 391 "cplus.met"
                                case 'U' :
#line 391 "cplus.met"
                                    NextChar();
#line 391 "cplus.met"
#line 391 "cplus.met"
                                    {
#line 391 "cplus.met"
                                        *_ptString = '\0' ;
#line 391 "cplus.met"
                                        firstOnLine = 0 ; 
#line 391 "cplus.met"
                                        tokenAhead =1;
#line 391 "cplus.met"
                                        lexEl.Value=ULHEXA;
#line 391 "cplus.met"
                                        PUT_COORD_CALL;
#line 391 "cplus.met"
                                        return(1);
#line 391 "cplus.met"
                                    }
#line 391 "cplus.met"
                                    break ;
#line 391 "cplus.met"
#line 392 "cplus.met"
                                default : 
#line 392 "cplus.met"
                                     if (c!= EOF) {
#line 392 "cplus.met"
#line 392 "cplus.met"
                                        {
#line 392 "cplus.met"
                                            *_ptString = '\0' ;
#line 392 "cplus.met"
                                            firstOnLine = 0 ; 
#line 392 "cplus.met"
                                            tokenAhead =1;
#line 392 "cplus.met"
                                            lexEl.Value=LHEXA;
#line 392 "cplus.met"
                                            PUT_COORD_CALL;
#line 392 "cplus.met"
                                            return(1);
#line 392 "cplus.met"
                                        }
#line 392 "cplus.met"
                                    }
#line 392 "cplus.met"
                                    break ;
#line 392 "cplus.met"
                            }
#line 392 "cplus.met"
                            break ;
#line 392 "cplus.met"
#line 394 "cplus.met"
                        case 'u' :
#line 394 "cplus.met"
                        case 'U' :
#line 394 "cplus.met"
                            NextChar();
#line 394 "cplus.met"
#line 395 "cplus.met"
                            switch (c) {
#line 395 "cplus.met"
#line 396 "cplus.met"
                                case 'l' :
#line 396 "cplus.met"
                                case 'L' :
#line 396 "cplus.met"
                                    NextChar();
#line 396 "cplus.met"
#line 396 "cplus.met"
                                    {
#line 396 "cplus.met"
                                        *_ptString = '\0' ;
#line 396 "cplus.met"
                                        firstOnLine = 0 ; 
#line 396 "cplus.met"
                                        tokenAhead =1;
#line 396 "cplus.met"
                                        lexEl.Value=ULHEXA;
#line 396 "cplus.met"
                                        PUT_COORD_CALL;
#line 396 "cplus.met"
                                        return(1);
#line 396 "cplus.met"
                                    }
#line 396 "cplus.met"
                                    break ;
#line 396 "cplus.met"
#line 397 "cplus.met"
                                default : 
#line 397 "cplus.met"
                                     if (c!= EOF) {
#line 397 "cplus.met"
#line 397 "cplus.met"
                                        {
#line 397 "cplus.met"
                                            *_ptString = '\0' ;
#line 397 "cplus.met"
                                            firstOnLine = 0 ; 
#line 397 "cplus.met"
                                            tokenAhead =1;
#line 397 "cplus.met"
                                            lexEl.Value=UHEXA;
#line 397 "cplus.met"
                                            PUT_COORD_CALL;
#line 397 "cplus.met"
                                            return(1);
#line 397 "cplus.met"
                                        }
#line 397 "cplus.met"
                                    }
#line 397 "cplus.met"
                                    break ;
#line 397 "cplus.met"
                            }
#line 397 "cplus.met"
                            break ;
#line 397 "cplus.met"
#line 399 "cplus.met"
                        default : 
#line 399 "cplus.met"
                             if (c!= EOF) {
#line 399 "cplus.met"
#line 399 "cplus.met"
                                {
#line 399 "cplus.met"
                                    *_ptString = '\0' ;
#line 399 "cplus.met"
                                    firstOnLine = 0 ; 
#line 399 "cplus.met"
                                    tokenAhead =1;
#line 399 "cplus.met"
                                    lexEl.Value=HEXA;
#line 399 "cplus.met"
                                    PUT_COORD_CALL;
#line 399 "cplus.met"
                                    return(1);
#line 399 "cplus.met"
                                }
#line 399 "cplus.met"
                            }
#line 399 "cplus.met"
                            break ;
#line 399 "cplus.met"
                    }
#line 399 "cplus.met"
                    break ;
#line 399 "cplus.met"
#line 402 "cplus.met"
                case '0' :
#line 402 "cplus.met"
                case '1' :
#line 402 "cplus.met"
                case '2' :
#line 402 "cplus.met"
                case '3' :
#line 402 "cplus.met"
                case '4' :
#line 402 "cplus.met"
                case '5' :
#line 402 "cplus.met"
                case '6' :
#line 402 "cplus.met"
                case '7' :
#line 402 "cplus.met"
#line 403 "cplus.met"
#line 404 "cplus.met"
                    while ((('0' <= c && c <= '7'))) { 
#line 404 "cplus.met"
#line 405 "cplus.met"
                        {
#line 405 "cplus.met"
                            if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 405 "cplus.met"
                            NextChar();
#line 405 "cplus.met"
                        }
#line 405 "cplus.met"
                    } 
#line 405 "cplus.met"
#line 406 "cplus.met"
                    switch (c) {
#line 406 "cplus.met"
#line 407 "cplus.met"
                        case 'l' :
#line 407 "cplus.met"
                        case 'L' :
#line 407 "cplus.met"
                            NextChar();
#line 407 "cplus.met"
#line 408 "cplus.met"
                            switch (c) {
#line 408 "cplus.met"
#line 409 "cplus.met"
                                case 'u' :
#line 409 "cplus.met"
                                case 'U' :
#line 409 "cplus.met"
                                    NextChar();
#line 409 "cplus.met"
#line 409 "cplus.met"
                                    {
#line 409 "cplus.met"
                                        *_ptString = '\0' ;
#line 409 "cplus.met"
                                        firstOnLine = 0 ; 
#line 409 "cplus.met"
                                        tokenAhead =1;
#line 409 "cplus.met"
                                        lexEl.Value=ULOCTAL;
#line 409 "cplus.met"
                                        PUT_COORD_CALL;
#line 409 "cplus.met"
                                        return(1);
#line 409 "cplus.met"
                                    }
#line 409 "cplus.met"
                                    break ;
#line 409 "cplus.met"
#line 410 "cplus.met"
                                default : 
#line 410 "cplus.met"
                                     if (c!= EOF) {
#line 410 "cplus.met"
#line 410 "cplus.met"
                                        {
#line 410 "cplus.met"
                                            *_ptString = '\0' ;
#line 410 "cplus.met"
                                            firstOnLine = 0 ; 
#line 410 "cplus.met"
                                            tokenAhead =1;
#line 410 "cplus.met"
                                            lexEl.Value=LOCTAL;
#line 410 "cplus.met"
                                            PUT_COORD_CALL;
#line 410 "cplus.met"
                                            return(1);
#line 410 "cplus.met"
                                        }
#line 410 "cplus.met"
                                    }
#line 410 "cplus.met"
                                    break ;
#line 410 "cplus.met"
                            }
#line 410 "cplus.met"
                            break ;
#line 410 "cplus.met"
#line 412 "cplus.met"
                        case 'u' :
#line 412 "cplus.met"
                        case 'U' :
#line 412 "cplus.met"
                            NextChar();
#line 412 "cplus.met"
#line 413 "cplus.met"
                            switch (c) {
#line 413 "cplus.met"
#line 414 "cplus.met"
                                case 'l' :
#line 414 "cplus.met"
                                case 'L' :
#line 414 "cplus.met"
                                    NextChar();
#line 414 "cplus.met"
#line 414 "cplus.met"
                                    {
#line 414 "cplus.met"
                                        *_ptString = '\0' ;
#line 414 "cplus.met"
                                        firstOnLine = 0 ; 
#line 414 "cplus.met"
                                        tokenAhead =1;
#line 414 "cplus.met"
                                        lexEl.Value=ULOCTAL;
#line 414 "cplus.met"
                                        PUT_COORD_CALL;
#line 414 "cplus.met"
                                        return(1);
#line 414 "cplus.met"
                                    }
#line 414 "cplus.met"
                                    break ;
#line 414 "cplus.met"
#line 415 "cplus.met"
                                default : 
#line 415 "cplus.met"
                                     if (c!= EOF) {
#line 415 "cplus.met"
#line 415 "cplus.met"
                                        {
#line 415 "cplus.met"
                                            *_ptString = '\0' ;
#line 415 "cplus.met"
                                            firstOnLine = 0 ; 
#line 415 "cplus.met"
                                            tokenAhead =1;
#line 415 "cplus.met"
                                            lexEl.Value=UOCTAL;
#line 415 "cplus.met"
                                            PUT_COORD_CALL;
#line 415 "cplus.met"
                                            return(1);
#line 415 "cplus.met"
                                        }
#line 415 "cplus.met"
                                    }
#line 415 "cplus.met"
                                    break ;
#line 415 "cplus.met"
                            }
#line 415 "cplus.met"
                            break ;
#line 415 "cplus.met"
#line 417 "cplus.met"
                        default : 
#line 417 "cplus.met"
                             if (c!= EOF) {
#line 417 "cplus.met"
#line 417 "cplus.met"
                                {
#line 417 "cplus.met"
                                    *_ptString = '\0' ;
#line 417 "cplus.met"
                                    firstOnLine = 0 ; 
#line 417 "cplus.met"
                                    tokenAhead =1;
#line 417 "cplus.met"
                                    lexEl.Value=OCTAL;
#line 417 "cplus.met"
                                    PUT_COORD_CALL;
#line 417 "cplus.met"
                                    return(1);
#line 417 "cplus.met"
                                }
#line 417 "cplus.met"
                            }
#line 417 "cplus.met"
                            break ;
#line 417 "cplus.met"
                    }
#line 417 "cplus.met"
                    break ;
#line 417 "cplus.met"
#line 420 "cplus.met"
                case '.' :
#line 420 "cplus.met"
#line 421 "cplus.met"
#line 422 "cplus.met"
                    {
#line 422 "cplus.met"
                        if (_nbCharact + strlen("0") < MAXLENGTH) 
#line 422 "cplus.met"
                            strcpy(_ptString,"0");
#line 422 "cplus.met"
                        _nbCharact += strlen("0");_ptString = lexEl.string + _nbCharact;
#line 422 "cplus.met"
                    
#line 422 "cplus.met"
                    }
#line 422 "cplus.met"
#line 423 "cplus.met"
                    {
#line 423 "cplus.met"
                        if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 423 "cplus.met"
                        NextChar();
#line 423 "cplus.met"
                    }
#line 423 "cplus.met"
#line 424 "cplus.met"
                    while ((('0' <= c && c <= '9'))) { 
#line 424 "cplus.met"
#line 425 "cplus.met"
                        {
#line 425 "cplus.met"
                            if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 425 "cplus.met"
                            NextChar();
#line 425 "cplus.met"
                        }
#line 425 "cplus.met"
                    } 
#line 425 "cplus.met"
#line 426 "cplus.met"
                    if (((c == 'e')||(c == 'E'))&& NextChar()){
#line 426 "cplus.met"
#line 427 "cplus.met"
#line 428 "cplus.met"
                        {
#line 428 "cplus.met"
                            if (_nbCharact + strlen("e") < MAXLENGTH) 
#line 428 "cplus.met"
                                strcpy(_ptString,"e");
#line 428 "cplus.met"
                            _nbCharact += strlen("e");_ptString = lexEl.string + _nbCharact;
#line 428 "cplus.met"
                        
#line 428 "cplus.met"
                        }
#line 428 "cplus.met"
#line 429 "cplus.met"
                        if (((c == '+')||(c == '-'))){
#line 429 "cplus.met"
#line 430 "cplus.met"
                            {
#line 430 "cplus.met"
                                if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 430 "cplus.met"
                                NextChar();
#line 430 "cplus.met"
                            }
#line 430 "cplus.met"
                        }
#line 430 "cplus.met"
#line 431 "cplus.met"
                        while ((('0' <= c && c <= '9'))) { 
#line 431 "cplus.met"
#line 432 "cplus.met"
                            {
#line 432 "cplus.met"
                                if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 432 "cplus.met"
                                NextChar();
#line 432 "cplus.met"
                            }
#line 432 "cplus.met"
                        } 
#line 432 "cplus.met"
#line 433 "cplus.met"
                    }
#line 433 "cplus.met"
#line 434 "cplus.met"
                    switch (c) {
#line 434 "cplus.met"
#line 435 "cplus.met"
                        case 'f' :
#line 435 "cplus.met"
#line 435 "cplus.met"
                            {
#line 435 "cplus.met"
                                if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 435 "cplus.met"
                                NextChar();
#line 435 "cplus.met"
                            }
#line 435 "cplus.met"
                            break ;
#line 435 "cplus.met"
#line 436 "cplus.met"
                        case 'F' :
#line 436 "cplus.met"
#line 436 "cplus.met"
                            {
#line 436 "cplus.met"
                                if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 436 "cplus.met"
                                NextChar();
#line 436 "cplus.met"
                            }
#line 436 "cplus.met"
                            break ;
#line 436 "cplus.met"
#line 437 "cplus.met"
                        case 'l' :
#line 437 "cplus.met"
#line 437 "cplus.met"
                            {
#line 437 "cplus.met"
                                if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 437 "cplus.met"
                                NextChar();
#line 437 "cplus.met"
                            }
#line 437 "cplus.met"
                            break ;
#line 437 "cplus.met"
#line 438 "cplus.met"
                        case 'L' :
#line 438 "cplus.met"
#line 438 "cplus.met"
                            {
#line 438 "cplus.met"
                                if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 438 "cplus.met"
                                NextChar();
#line 438 "cplus.met"
                            }
#line 438 "cplus.met"
                            break ;
#line 438 "cplus.met"
                    }
#line 438 "cplus.met"
#line 440 "cplus.met"
                    {
#line 440 "cplus.met"
                        *_ptString = '\0' ;
#line 440 "cplus.met"
                        firstOnLine = 0 ; 
#line 440 "cplus.met"
                        tokenAhead =1;
#line 440 "cplus.met"
                        lexEl.Value=FLOAT;
#line 440 "cplus.met"
                        PUT_COORD_CALL;
#line 440 "cplus.met"
                        return(1);
#line 440 "cplus.met"
                    }
#line 440 "cplus.met"
                    break ;
#line 440 "cplus.met"
#line 444 "cplus.met"
                default : 
#line 444 "cplus.met"
                     if (c!= EOF) {
#line 444 "cplus.met"
#line 443 "cplus.met"
#line 444 "cplus.met"
                        {
#line 444 "cplus.met"
                            if (_nbCharact + strlen("0") < MAXLENGTH) 
#line 444 "cplus.met"
                                strcpy(_ptString,"0");
#line 444 "cplus.met"
                            _nbCharact += strlen("0");_ptString = lexEl.string + _nbCharact;
#line 444 "cplus.met"
                        
#line 444 "cplus.met"
                        }
#line 444 "cplus.met"
#line 445 "cplus.met"
                        switch (c) {
#line 445 "cplus.met"
#line 446 "cplus.met"
                            case 'l' :
#line 446 "cplus.met"
                            case 'L' :
#line 446 "cplus.met"
                                NextChar();
#line 446 "cplus.met"
#line 447 "cplus.met"
                                switch (c) {
#line 447 "cplus.met"
#line 448 "cplus.met"
                                    case 'u' :
#line 448 "cplus.met"
                                    case 'U' :
#line 448 "cplus.met"
                                        NextChar();
#line 448 "cplus.met"
#line 448 "cplus.met"
                                        {
#line 448 "cplus.met"
                                            *_ptString = '\0' ;
#line 448 "cplus.met"
                                            firstOnLine = 0 ; 
#line 448 "cplus.met"
                                            tokenAhead =1;
#line 448 "cplus.met"
                                            lexEl.Value=ULINTEGER;
#line 448 "cplus.met"
                                            PUT_COORD_CALL;
#line 448 "cplus.met"
                                            return(1);
#line 448 "cplus.met"
                                        }
#line 448 "cplus.met"
                                        break ;
#line 448 "cplus.met"
#line 449 "cplus.met"
                                    default : 
#line 449 "cplus.met"
                                         if (c!= EOF) {
#line 449 "cplus.met"
#line 449 "cplus.met"
                                            {
#line 449 "cplus.met"
                                                *_ptString = '\0' ;
#line 449 "cplus.met"
                                                firstOnLine = 0 ; 
#line 449 "cplus.met"
                                                tokenAhead =1;
#line 449 "cplus.met"
                                                lexEl.Value=LINTEGER;
#line 449 "cplus.met"
                                                PUT_COORD_CALL;
#line 449 "cplus.met"
                                                return(1);
#line 449 "cplus.met"
                                            }
#line 449 "cplus.met"
                                        }
#line 449 "cplus.met"
                                        break ;
#line 449 "cplus.met"
                                }
#line 449 "cplus.met"
                                break ;
#line 449 "cplus.met"
#line 451 "cplus.met"
                            case 'u' :
#line 451 "cplus.met"
                            case 'U' :
#line 451 "cplus.met"
                                NextChar();
#line 451 "cplus.met"
#line 452 "cplus.met"
                                switch (c) {
#line 452 "cplus.met"
#line 453 "cplus.met"
                                    case 'l' :
#line 453 "cplus.met"
                                    case 'L' :
#line 453 "cplus.met"
                                        NextChar();
#line 453 "cplus.met"
#line 453 "cplus.met"
                                        {
#line 453 "cplus.met"
                                            *_ptString = '\0' ;
#line 453 "cplus.met"
                                            firstOnLine = 0 ; 
#line 453 "cplus.met"
                                            tokenAhead =1;
#line 453 "cplus.met"
                                            lexEl.Value=ULINTEGER;
#line 453 "cplus.met"
                                            PUT_COORD_CALL;
#line 453 "cplus.met"
                                            return(1);
#line 453 "cplus.met"
                                        }
#line 453 "cplus.met"
                                        break ;
#line 453 "cplus.met"
#line 454 "cplus.met"
                                    default : 
#line 454 "cplus.met"
                                         if (c!= EOF) {
#line 454 "cplus.met"
#line 454 "cplus.met"
                                            {
#line 454 "cplus.met"
                                                *_ptString = '\0' ;
#line 454 "cplus.met"
                                                firstOnLine = 0 ; 
#line 454 "cplus.met"
                                                tokenAhead =1;
#line 454 "cplus.met"
                                                lexEl.Value=UINTEGER;
#line 454 "cplus.met"
                                                PUT_COORD_CALL;
#line 454 "cplus.met"
                                                return(1);
#line 454 "cplus.met"
                                            }
#line 454 "cplus.met"
                                        }
#line 454 "cplus.met"
                                        break ;
#line 454 "cplus.met"
                                }
#line 454 "cplus.met"
                                break ;
#line 454 "cplus.met"
#line 456 "cplus.met"
                            default : 
#line 456 "cplus.met"
                                 if (c!= EOF) {
#line 456 "cplus.met"
#line 456 "cplus.met"
                                    {
#line 456 "cplus.met"
                                        *_ptString = '\0' ;
#line 456 "cplus.met"
                                        firstOnLine = 0 ; 
#line 456 "cplus.met"
                                        tokenAhead =1;
#line 456 "cplus.met"
                                        lexEl.Value=INTEGER;
#line 456 "cplus.met"
                                        PUT_COORD_CALL;
#line 456 "cplus.met"
                                        return(1);
#line 456 "cplus.met"
                                    }
#line 456 "cplus.met"
                                }
#line 456 "cplus.met"
                                break ;
#line 456 "cplus.met"
                        }
#line 456 "cplus.met"
                    }
#line 456 "cplus.met"
                    break ;
#line 456 "cplus.met"
            }
#line 456 "cplus.met"
            break ;
#line 456 "cplus.met"
#line 461 "cplus.met"
        case '#' :
#line 461 "cplus.met"
            NextChar();
#line 461 "cplus.met"
#line 462 "cplus.met"
#line 463 "cplus.met"
            while (((c == ' ')||(c == '\t'))) { 
#line 463 "cplus.met"
#line 464 "cplus.met"
                if (!(c != EOF&& NextChar())) ;
#line 464 "cplus.met"
            } 
#line 464 "cplus.met"
#line 465 "cplus.met"
#line 466 "cplus.met"
            if((GetString("include",1)&& NextChar())){
#line 466 "cplus.met"
#line 466 "cplus.met"
                {
#line 466 "cplus.met"
                    *_ptString = '\0' ;
#line 466 "cplus.met"
                    firstOnLine = 0 ; 
#line 466 "cplus.met"
                    tokenAhead =1;
#line 466 "cplus.met"
                    lexEl.Value=INCLUDE_DIR;
#line 466 "cplus.met"
                    PUT_COORD_CALL;
#line 466 "cplus.met"
                    return(1);
#line 466 "cplus.met"
                }
#line 466 "cplus.met"
            } else 
#line 466 "cplus.met"
#line 467 "cplus.met"
            if((GetString("ifdef",1)&& NextChar())){
#line 467 "cplus.met"
#line 467 "cplus.met"
                {
#line 467 "cplus.met"
                    *_ptString = '\0' ;
#line 467 "cplus.met"
                    firstOnLine = 0 ; 
#line 467 "cplus.met"
                    tokenAhead =1;
#line 467 "cplus.met"
                    lexEl.Value=IFDEF_DIR;
#line 467 "cplus.met"
                    PUT_COORD_CALL;
#line 467 "cplus.met"
                    return(1);
#line 467 "cplus.met"
                }
#line 467 "cplus.met"
            } else 
#line 467 "cplus.met"
#line 468 "cplus.met"
            if((GetString("ifndef",1)&& NextChar())){
#line 468 "cplus.met"
#line 468 "cplus.met"
                {
#line 468 "cplus.met"
                    *_ptString = '\0' ;
#line 468 "cplus.met"
                    firstOnLine = 0 ; 
#line 468 "cplus.met"
                    tokenAhead =1;
#line 468 "cplus.met"
                    lexEl.Value=IFNDEF_DIR;
#line 468 "cplus.met"
                    PUT_COORD_CALL;
#line 468 "cplus.met"
                    return(1);
#line 468 "cplus.met"
                }
#line 468 "cplus.met"
            } else 
#line 468 "cplus.met"
#line 469 "cplus.met"
            if((GetString("if",1)&& NextChar())){
#line 469 "cplus.met"
#line 469 "cplus.met"
                {
#line 469 "cplus.met"
                    *_ptString = '\0' ;
#line 469 "cplus.met"
                    firstOnLine = 0 ; 
#line 469 "cplus.met"
                    tokenAhead =1;
#line 469 "cplus.met"
                    lexEl.Value=IF_DIR;
#line 469 "cplus.met"
                    PUT_COORD_CALL;
#line 469 "cplus.met"
                    return(1);
#line 469 "cplus.met"
                }
#line 469 "cplus.met"
            } else 
#line 469 "cplus.met"
#line 470 "cplus.met"
            if((GetString("else",1)&& NextChar())){
#line 470 "cplus.met"
#line 470 "cplus.met"
                {
#line 470 "cplus.met"
                    *_ptString = '\0' ;
#line 470 "cplus.met"
                    firstOnLine = 0 ; 
#line 470 "cplus.met"
                    tokenAhead =1;
#line 470 "cplus.met"
                    lexEl.Value=ELSE_DIR;
#line 470 "cplus.met"
                    PUT_COORD_CALL;
#line 470 "cplus.met"
                    return(1);
#line 470 "cplus.met"
                }
#line 470 "cplus.met"
            } else 
#line 470 "cplus.met"
#line 471 "cplus.met"
            if((GetString("elif",1)&& NextChar())){
#line 471 "cplus.met"
#line 471 "cplus.met"
                {
#line 471 "cplus.met"
                    *_ptString = '\0' ;
#line 471 "cplus.met"
                    firstOnLine = 0 ; 
#line 471 "cplus.met"
                    tokenAhead =1;
#line 471 "cplus.met"
                    lexEl.Value=ELIF_DIR;
#line 471 "cplus.met"
                    PUT_COORD_CALL;
#line 471 "cplus.met"
                    return(1);
#line 471 "cplus.met"
                }
#line 471 "cplus.met"
            } else 
#line 471 "cplus.met"
#line 472 "cplus.met"
            if((GetString("endif",1)&& NextChar())){
#line 472 "cplus.met"
#line 472 "cplus.met"
                {
#line 472 "cplus.met"
                    *_ptString = '\0' ;
#line 472 "cplus.met"
                    firstOnLine = 0 ; 
#line 472 "cplus.met"
                    tokenAhead =1;
#line 472 "cplus.met"
                    lexEl.Value=ENDIF_DIR;
#line 472 "cplus.met"
                    PUT_COORD_CALL;
#line 472 "cplus.met"
                    return(1);
#line 472 "cplus.met"
                }
#line 472 "cplus.met"
            } else 
#line 472 "cplus.met"
#line 473 "cplus.met"
            if((GetString("line",1)&& NextChar())){
#line 473 "cplus.met"
#line 473 "cplus.met"
                {
#line 473 "cplus.met"
                    *_ptString = '\0' ;
#line 473 "cplus.met"
                    firstOnLine = 0 ; 
#line 473 "cplus.met"
                    tokenAhead =1;
#line 473 "cplus.met"
                    lexEl.Value=LINE_DIR;
#line 473 "cplus.met"
                    PUT_COORD_CALL;
#line 473 "cplus.met"
                    return(1);
#line 473 "cplus.met"
                }
#line 473 "cplus.met"
            } else 
#line 473 "cplus.met"
#line 474 "cplus.met"
            if((GetString("pragma",1)&& NextChar())){
#line 474 "cplus.met"
#line 474 "cplus.met"
                {
#line 474 "cplus.met"
                    *_ptString = '\0' ;
#line 474 "cplus.met"
                    firstOnLine = 0 ; 
#line 474 "cplus.met"
                    tokenAhead =1;
#line 474 "cplus.met"
                    lexEl.Value=PRAGMA_DIR;
#line 474 "cplus.met"
                    PUT_COORD_CALL;
#line 474 "cplus.met"
                    return(1);
#line 474 "cplus.met"
                }
#line 474 "cplus.met"
            } else 
#line 474 "cplus.met"
#line 475 "cplus.met"
            if((GetString("error",1)&& NextChar())){
#line 475 "cplus.met"
#line 475 "cplus.met"
                {
#line 475 "cplus.met"
                    *_ptString = '\0' ;
#line 475 "cplus.met"
                    firstOnLine = 0 ; 
#line 475 "cplus.met"
                    tokenAhead =1;
#line 475 "cplus.met"
                    lexEl.Value=ERROR_DIR;
#line 475 "cplus.met"
                    PUT_COORD_CALL;
#line 475 "cplus.met"
                    return(1);
#line 475 "cplus.met"
                }
#line 475 "cplus.met"
            } else 
#line 475 "cplus.met"
#line 476 "cplus.met"
            if((GetString("define",1)&& NextChar())){
#line 476 "cplus.met"
#line 476 "cplus.met"
                {
#line 476 "cplus.met"
                    *_ptString = '\0' ;
#line 476 "cplus.met"
                    firstOnLine = 0 ; 
#line 476 "cplus.met"
                    tokenAhead =1;
#line 476 "cplus.met"
                    lexEl.Value=DEFINE_DIR;
#line 476 "cplus.met"
                    PUT_COORD_CALL;
#line 476 "cplus.met"
                    return(1);
#line 476 "cplus.met"
                }
#line 476 "cplus.met"
            } else 
#line 476 "cplus.met"
#line 477 "cplus.met"
            if((GetString("undef",1)&& NextChar())){
#line 477 "cplus.met"
#line 477 "cplus.met"
                {
#line 477 "cplus.met"
                    *_ptString = '\0' ;
#line 477 "cplus.met"
                    firstOnLine = 0 ; 
#line 477 "cplus.met"
                    tokenAhead =1;
#line 477 "cplus.met"
                    lexEl.Value=UNDEF_DIR;
#line 477 "cplus.met"
                    PUT_COORD_CALL;
#line 477 "cplus.met"
                    return(1);
#line 477 "cplus.met"
                }
#line 477 "cplus.met"
            } else 
#line 477 "cplus.met"
             ;
#line 477 "cplus.met"
            break ;
#line 477 "cplus.met"
#line 480 "cplus.met"
        case '\r' :
#line 480 "cplus.met"
        case '\n' :
#line 480 "cplus.met"
            NextChar();
#line 480 "cplus.met"
#line 480 "cplus.met"
            {
#line 480 "cplus.met"
                *_ptString = '\0' ;
#line 480 "cplus.met"
                firstOnLine = 0 ; 
#line 480 "cplus.met"
                tokenAhead =1;
#line 480 "cplus.met"
                lexEl.Value=CARRIAGE_RETURN;
#line 480 "cplus.met"
                firstOnLine = 1 ; 
#line 480 "cplus.met"
                PUT_COORD_CALL;
#line 480 "cplus.met"
                return(1);
#line 480 "cplus.met"
            }
#line 480 "cplus.met"
            break ;
#line 480 "cplus.met"
#line 481 "cplus.met"
        case '/' :
#line 481 "cplus.met"
            NextChar();
#line 481 "cplus.met"
#line 482 "cplus.met"
#line 483 "cplus.met"
            if (((c == '='))){
#line 483 "cplus.met"
#line 484 "cplus.met"
#line 485 "cplus.met"
                if (!(c != EOF&& NextChar())) ;
#line 485 "cplus.met"
#line 486 "cplus.met"
                {
#line 486 "cplus.met"
                    *_ptString = '\0' ;
#line 486 "cplus.met"
                    firstOnLine = 0 ; 
#line 486 "cplus.met"
                    tokenAhead =1;
#line 486 "cplus.met"
                    lexEl.Value=SLASEGAL;
#line 486 "cplus.met"
                    PUT_COORD_CALL;
#line 486 "cplus.met"
                    return(1);
#line 486 "cplus.met"
                }
#line 486 "cplus.met"
#line 487 "cplus.met"
            } else {
#line 487 "cplus.met"
#line 489 "cplus.met"
                {
#line 489 "cplus.met"
                    *_ptString = '\0' ;
#line 489 "cplus.met"
                    firstOnLine = 0 ; 
#line 489 "cplus.met"
                    tokenAhead =1;
#line 489 "cplus.met"
                    lexEl.Value=SLAS;
#line 489 "cplus.met"
                    PUT_COORD_CALL;
#line 489 "cplus.met"
                    return(1);
#line 489 "cplus.met"
                }
#line 489 "cplus.met"
            }
#line 489 "cplus.met"
            break ;
#line 489 "cplus.met"
#line 491 "cplus.met"
        case '.' :
#line 491 "cplus.met"
#line 492 "cplus.met"
#line 493 "cplus.met"
            {
#line 493 "cplus.met"
                if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 493 "cplus.met"
                NextChar();
#line 493 "cplus.met"
            }
#line 493 "cplus.met"
#line 494 "cplus.met"
            if ((('0' <= c && c <= '9'))){
#line 494 "cplus.met"
#line 495 "cplus.met"
#line 496 "cplus.met"
                while ((('0' <= c && c <= '9'))) { 
#line 496 "cplus.met"
#line 497 "cplus.met"
                    {
#line 497 "cplus.met"
                        if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 497 "cplus.met"
                        NextChar();
#line 497 "cplus.met"
                    }
#line 497 "cplus.met"
                } 
#line 497 "cplus.met"
#line 498 "cplus.met"
                if (((c == 'e')||(c == 'E'))&& NextChar()){
#line 498 "cplus.met"
#line 499 "cplus.met"
#line 500 "cplus.met"
                    {
#line 500 "cplus.met"
                        if (_nbCharact + strlen("e") < MAXLENGTH) 
#line 500 "cplus.met"
                            strcpy(_ptString,"e");
#line 500 "cplus.met"
                        _nbCharact += strlen("e");_ptString = lexEl.string + _nbCharact;
#line 500 "cplus.met"
                    
#line 500 "cplus.met"
                    }
#line 500 "cplus.met"
#line 501 "cplus.met"
                    if (((c == '+')||(c == '-'))){
#line 501 "cplus.met"
#line 502 "cplus.met"
                        {
#line 502 "cplus.met"
                            if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 502 "cplus.met"
                            NextChar();
#line 502 "cplus.met"
                        }
#line 502 "cplus.met"
                    }
#line 502 "cplus.met"
#line 503 "cplus.met"
                    while ((('0' <= c && c <= '9'))) { 
#line 503 "cplus.met"
#line 504 "cplus.met"
                        {
#line 504 "cplus.met"
                            if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 504 "cplus.met"
                            NextChar();
#line 504 "cplus.met"
                        }
#line 504 "cplus.met"
                    } 
#line 504 "cplus.met"
#line 505 "cplus.met"
                }
#line 505 "cplus.met"
#line 506 "cplus.met"
                switch (c) {
#line 506 "cplus.met"
#line 507 "cplus.met"
                    case 'f' :
#line 507 "cplus.met"
#line 507 "cplus.met"
                        {
#line 507 "cplus.met"
                            if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 507 "cplus.met"
                            NextChar();
#line 507 "cplus.met"
                        }
#line 507 "cplus.met"
                        break ;
#line 507 "cplus.met"
#line 508 "cplus.met"
                    case 'F' :
#line 508 "cplus.met"
#line 508 "cplus.met"
                        {
#line 508 "cplus.met"
                            if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 508 "cplus.met"
                            NextChar();
#line 508 "cplus.met"
                        }
#line 508 "cplus.met"
                        break ;
#line 508 "cplus.met"
#line 509 "cplus.met"
                    case 'l' :
#line 509 "cplus.met"
#line 509 "cplus.met"
                        {
#line 509 "cplus.met"
                            if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 509 "cplus.met"
                            NextChar();
#line 509 "cplus.met"
                        }
#line 509 "cplus.met"
                        break ;
#line 509 "cplus.met"
#line 510 "cplus.met"
                    case 'L' :
#line 510 "cplus.met"
#line 510 "cplus.met"
                        {
#line 510 "cplus.met"
                            if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 510 "cplus.met"
                            NextChar();
#line 510 "cplus.met"
                        }
#line 510 "cplus.met"
                        break ;
#line 510 "cplus.met"
                }
#line 510 "cplus.met"
#line 512 "cplus.met"
                {
#line 512 "cplus.met"
                    *_ptString = '\0' ;
#line 512 "cplus.met"
                    firstOnLine = 0 ; 
#line 512 "cplus.met"
                    tokenAhead =1;
#line 512 "cplus.met"
                    lexEl.Value=FLOAT;
#line 512 "cplus.met"
                    PUT_COORD_CALL;
#line 512 "cplus.met"
                    return(1);
#line 512 "cplus.met"
                }
#line 512 "cplus.met"
#line 513 "cplus.met"
            } else {
#line 513 "cplus.met"
#line 515 "cplus.met"
#line 516 "cplus.met"
                {
#line 516 "cplus.met"
                    *_ptString = '\0' ;
#line 516 "cplus.met"
                    firstOnLine = 0 ; 
#line 516 "cplus.met"
                    tokenAhead =1;
#line 516 "cplus.met"
                    lexEl.Value=POINT;
#line 516 "cplus.met"
                    PUT_COORD_CALL;
#line 516 "cplus.met"
                    return(1);
#line 516 "cplus.met"
                }
#line 516 "cplus.met"
            }
#line 516 "cplus.met"
            break ;
#line 516 "cplus.met"
    }
#line 516 "cplus.met"
#line 520 "cplus.met"
    line = oldLine;
#line 520 "cplus.met"
    LEX_EXIT(0,"")
#line 520 "cplus.met"
    lexEl.Value = -1 ;
#line 520 "cplus.met"
    return -1 ; 
#line 520 "cplus.met"
}
#line 520 "cplus.met"

#line 520 "cplus.met"
#line 9 "chopb.met"
int chopb::LexComment ()
#line 9 "chopb.met"
{
#line 9 "chopb.met"
    if ( lastContextPos && !lastContextPos -> nbRef )
#line 9 "chopb.met"
        FreePos(lastContextPos);
#line 9 "chopb.met"
    lastContextPos = (PFILE_POSITION)0 ;
#line 9 "chopb.met"
    if ( tokenAhead)
#line 9 "chopb.met"
        ExtUnputBuf();
#line 9 "chopb.met"
    #ifdef DUMP_COORD
#line 9 "chopb.met"
    if(!lexCallLex && dumpCoord) store_pos_as_comment(line,col,0);
#line 9 "chopb.met"
    #endif
#line 9 "chopb.met"
    
#line 9 "chopb.met"
    char * _ptString ;
#line 9 "chopb.met"
    int _nbCharact ;
#line 9 "chopb.met"
    int _bidon = (oldLine = line,oldCol = col );
#line 9 "chopb.met"
    int _bidon1 = (oldLineEntry = line, oldColEntry = col );
#line 9 "chopb.met"
#line 12 "chopb.met"
    if ((! (keepCarriage)) && 
#line 12 "chopb.met"
       (! (parse))){
#line 12 "chopb.met"
#line 13 "chopb.met"
#line 14 "chopb.met"
        ptStockBuf = -1;
#line 14 "chopb.met"
        while ((c == '\t')||(c == ' ')||(c == '\r')||(c == '\n'))
#line 14 "chopb.met"
            NextChar() ;
#line 14 "chopb.met"
        ptStockBuf = -1;
#line 14 "chopb.met"
        *lexEl.string = '\0';
#line 14 "chopb.met"
        _nbCharact = 0;
#line 14 "chopb.met"
        tokenAhead = 0;
#line 14 "chopb.met"
        _ptString = lexEl.string ;
#line 14 "chopb.met"
        oldLine=line,oldCol=col;
#line 14 "chopb.met"
        if ( !lexCallLex) {
#line 14 "chopb.met"
            PUT_COORD_CALL;
#line 14 "chopb.met"
        }
#line 14 "chopb.met"
#line 14 "chopb.met"
#line 14 "chopb.met"
    } else {
#line 14 "chopb.met"
#line 17 "chopb.met"
        if (! (parse)){
#line 17 "chopb.met"
#line 18 "chopb.met"
#line 19 "chopb.met"
            ptStockBuf = -1;
#line 19 "chopb.met"
            while ((c == '\t')||(c == ' '))
#line 19 "chopb.met"
                NextChar() ;
#line 19 "chopb.met"
            ptStockBuf = -1;
#line 19 "chopb.met"
            *lexEl.string = '\0';
#line 19 "chopb.met"
            _nbCharact = 0;
#line 19 "chopb.met"
            tokenAhead = 0;
#line 19 "chopb.met"
            _ptString = lexEl.string ;
#line 19 "chopb.met"
            oldLine=line,oldCol=col;
#line 19 "chopb.met"
            if ( !lexCallLex) {
#line 19 "chopb.met"
                PUT_COORD_CALL;
#line 19 "chopb.met"
            }
#line 19 "chopb.met"
#line 19 "chopb.met"
#line 19 "chopb.met"
        } else {
#line 19 "chopb.met"
#line 22 "chopb.met"
            ptStockBuf = -1;
#line 22 "chopb.met"
            *lexEl.string = '\0';
#line 22 "chopb.met"
            _nbCharact = 0;
#line 22 "chopb.met"
            tokenAhead = 0;
#line 22 "chopb.met"
            if ( lastContextPos && !lastContextPos->nbRef) FreePos(lastContextPos);
#line 22 "chopb.met"
            lastContextPos = (PFILE_POSITION) 0 ;
#line 22 "chopb.met"
            _ptString = lexEl.string ;
#line 22 "chopb.met"
        }
#line 22 "chopb.met"
    }
#line 22 "chopb.met"
#line 23 "chopb.met"
    switch (c) {
#line 23 "chopb.met"
#line 24 "chopb.met"
        case '/' :
#line 24 "chopb.met"
            NextChar();
#line 24 "chopb.met"
#line 26 "chopb.met"
            switch (c) {
#line 26 "chopb.met"
#line 28 "chopb.met"
                case '/' :
#line 28 "chopb.met"
#line 29 "chopb.met"
#line 30 "chopb.met"
                    begin_comment ();
#line 30 "chopb.met"
#line 31 "chopb.met"
                    {
#line 31 "chopb.met"
                        if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 31 "chopb.met"
                        NextChar();
#line 31 "chopb.met"
                    }
#line 31 "chopb.met"
#line 32 "chopb.met"
                    while (c != EOF) { 
#line 32 "chopb.met"
#line 33 "chopb.met"
                        switch (c) {
#line 33 "chopb.met"
#line 34 "chopb.met"
                            case '\r' :
#line 34 "chopb.met"
                            case '\n' :
#line 34 "chopb.met"
#line 35 "chopb.met"
#line 36 "chopb.met"
                                {
#line 36 "chopb.met"
                                    store_comment_line(_nbCharact);
#line 36 "chopb.met"
                                    _nbCharact = 0 ;
#line 36 "chopb.met"
                                    _ptString = lexEl.string; 
#line 36 "chopb.met"
                                    ptStockBuf = -1 ;
#line 36 "chopb.met"
                                }
#line 36 "chopb.met"
#line 37 "chopb.met"
                                {
#line 37 "chopb.met"
                                    *_ptString = '\0' ;
#line 37 "chopb.met"
                                    firstOnLine = 0 ; 
#line 37 "chopb.met"
                                    tokenAhead =2;
#line 37 "chopb.met"
                                     tokenAhead = 0 ; 
#line 37 "chopb.met"
                                     lexCallLex = 1 ; 
#line 37 "chopb.met"
                                    return _Tak(LexComment)();
#line 37 "chopb.met"
                                }
#line 37 "chopb.met"
                                break ;
#line 37 "chopb.met"
#line 41 "chopb.met"
                            default : 
#line 41 "chopb.met"
                                 if (c!= EOF) {
#line 41 "chopb.met"
#line 40 "chopb.met"
#line 41 "chopb.met"
                                    {
#line 41 "chopb.met"
                                        if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 41 "chopb.met"
                                        NextChar();
#line 41 "chopb.met"
                                    }
#line 41 "chopb.met"
                                }
#line 41 "chopb.met"
                                break ;
#line 41 "chopb.met"
                        }
#line 41 "chopb.met"
                    } 
#line 41 "chopb.met"
                    break ;
#line 41 "chopb.met"
#line 45 "chopb.met"
                case '*' :
#line 45 "chopb.met"
                    NextChar();
#line 45 "chopb.met"
#line 46 "chopb.met"
#line 47 "chopb.met"
                     {int level = 0; 
#line 47 "chopb.met"
#line 48 "chopb.met"
                    begin_comment ();
#line 48 "chopb.met"
#line 49 "chopb.met"
                    while (c != EOF) { 
#line 49 "chopb.met"
#line 50 "chopb.met"
#line 51 "chopb.met"
                        if((GetString("/*",1)&& NextChar())){
#line 51 "chopb.met"
#line 52 "chopb.met"
#line 53 "chopb.met"
                             level ++; 
#line 53 "chopb.met"
#line 54 "chopb.met"
                            {
#line 54 "chopb.met"
                                if (_nbCharact + strlen("/*") < MAXLENGTH) 
#line 54 "chopb.met"
                                    strcpy(_ptString,"/*");
#line 54 "chopb.met"
                                _nbCharact += strlen("/*");_ptString = lexEl.string + _nbCharact;
#line 54 "chopb.met"
                            
#line 54 "chopb.met"
                            }
#line 54 "chopb.met"
                        } else 
#line 54 "chopb.met"
#line 56 "chopb.met"
                        if((GetString("*/",1)&& NextChar())){
#line 56 "chopb.met"
#line 57 "chopb.met"
#line 58 "chopb.met"
                            if (!level ){
#line 58 "chopb.met"
#line 59 "chopb.met"
#line 60 "chopb.met"
                                {
#line 60 "chopb.met"
                                    store_comment_line(_nbCharact);
#line 60 "chopb.met"
                                    _nbCharact = 0 ;
#line 60 "chopb.met"
                                    _ptString = lexEl.string; 
#line 60 "chopb.met"
                                    ptStockBuf = -1 ;
#line 60 "chopb.met"
                                }
#line 60 "chopb.met"
#line 61 "chopb.met"
                                {
#line 61 "chopb.met"
                                    *_ptString = '\0' ;
#line 61 "chopb.met"
                                    firstOnLine = 0 ; 
#line 61 "chopb.met"
                                    tokenAhead =2;
#line 61 "chopb.met"
                                     tokenAhead = 0 ; 
#line 61 "chopb.met"
                                     lexCallLex = 1 ; 
#line 61 "chopb.met"
                                    return _Tak(LexComment)();
#line 61 "chopb.met"
                                }
#line 61 "chopb.met"
#line 62 "chopb.met"
                            } else {
#line 62 "chopb.met"
#line 64 "chopb.met"
#line 65 "chopb.met"
                                 level --;
#line 65 "chopb.met"
#line 66 "chopb.met"
                                {
#line 66 "chopb.met"
                                    if (_nbCharact + strlen("*/") < MAXLENGTH) 
#line 66 "chopb.met"
                                        strcpy(_ptString,"*/");
#line 66 "chopb.met"
                                    _nbCharact += strlen("*/");_ptString = lexEl.string + _nbCharact;
#line 66 "chopb.met"
                                
#line 66 "chopb.met"
                                }
#line 66 "chopb.met"
                            }
#line 66 "chopb.met"
                        } else 
#line 66 "chopb.met"
#line 69 "chopb.met"
                        if((((c == '\n'))&& NextChar())){
#line 69 "chopb.met"
#line 69 "chopb.met"
                            {
#line 69 "chopb.met"
                                store_comment_line(_nbCharact);
#line 69 "chopb.met"
                                _nbCharact = 0 ;
#line 69 "chopb.met"
                                _ptString = lexEl.string; 
#line 69 "chopb.met"
                                ptStockBuf = -1 ;
#line 69 "chopb.met"
                            }
#line 69 "chopb.met"
                        } else 
#line 69 "chopb.met"
#line 70 "chopb.met"
                        if((((c == '\r'))&& NextChar())){
#line 70 "chopb.met"
#line 70 "chopb.met"
                        } else 
#line 70 "chopb.met"
#line 73 "chopb.met"
                        if((c != EOF)){
#line 73 "chopb.met"
#line 72 "chopb.met"
#line 73 "chopb.met"
                            {
#line 73 "chopb.met"
                                if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 73 "chopb.met"
                                NextChar();
#line 73 "chopb.met"
                            }
#line 73 "chopb.met"
                        } else 
#line 73 "chopb.met"
                         ;
#line 73 "chopb.met"
                    } 
#line 73 "chopb.met"
#line 76 "chopb.met"
                    } 
#line 76 "chopb.met"
                    break ;
#line 76 "chopb.met"
#line 80 "chopb.met"
                default : 
#line 80 "chopb.met"
                     if (c!= EOF) {
#line 80 "chopb.met"
#line 79 "chopb.met"
#line 80 "chopb.met"
                        if(ptStockBuf > -1) UnputBuf ();
#line 80 "chopb.met"
                        *lexEl.string = '\0';
#line 80 "chopb.met"
                        _nbCharact = 0;
#line 80 "chopb.met"
                        tokenAhead = 0;
#line 80 "chopb.met"
                        if ( lastContextPos && !lastContextPos->nbRef) FreePos(lastContextPos);
#line 80 "chopb.met"
                        lastContextPos = (PFILE_POSITION) 0 ;
#line 80 "chopb.met"
                        _ptString = lexEl.string ;
#line 80 "chopb.met"
                    }
#line 80 "chopb.met"
                    break ;
#line 80 "chopb.met"
            }
#line 80 "chopb.met"
            break ;
#line 80 "chopb.met"
    }
#line 80 "chopb.met"
#line 84 "chopb.met"
    if ( lexCallLex) {PUT_COORD_AFTER_COMMENTS_CALL;
#line 84 "chopb.met"
    }line = oldLine;
#line 84 "chopb.met"
    LEX_EXIT(0,"")
#line 84 "chopb.met"
    lexEl.Value = -1 ;
#line 84 "chopb.met"
    return -1 ; 
#line 84 "chopb.met"
}
#line 84 "chopb.met"

#line 84 "chopb.met"
#line 198 "chopb.met"
int chopb::LexEtoiEtoi ()
#line 198 "chopb.met"
{
#line 198 "chopb.met"
    if ( lastContextPos && !lastContextPos -> nbRef )
#line 198 "chopb.met"
        FreePos(lastContextPos);
#line 198 "chopb.met"
    lastContextPos = (PFILE_POSITION)0 ;
#line 198 "chopb.met"
    if ( tokenAhead)
#line 198 "chopb.met"
        ExtUnputBuf();
#line 198 "chopb.met"
    #ifdef DUMP_COORD
#line 198 "chopb.met"
    if(!lexCallLex && dumpCoord) store_pos_as_comment(line,col,0);
#line 198 "chopb.met"
    #endif
#line 198 "chopb.met"
    
#line 198 "chopb.met"
    char * _ptString ;
#line 198 "chopb.met"
    int _nbCharact ;
#line 198 "chopb.met"
    int _bidon = (oldLine = line,oldCol = col );
#line 198 "chopb.met"
    int _bidon1 = (oldLineEntry = line, oldColEntry = col );
#line 198 "chopb.met"
    tokenAhead = 0;
#line 198 "chopb.met"
    if(LexMeta() != -1){tokenAhead =15; return 1;}
#line 198 "chopb.met"
#line 199 "chopb.met"
    if (keepCarriage){
#line 199 "chopb.met"
#line 200 "chopb.met"
#line 201 "chopb.met"
        ptStockBuf = -1;
#line 201 "chopb.met"
        while ((c == ' ')||(c == '\t'))
#line 201 "chopb.met"
            NextChar() ;
#line 201 "chopb.met"
        ptStockBuf = -1;
#line 201 "chopb.met"
        *lexEl.string = '\0';
#line 201 "chopb.met"
        _nbCharact = 0;
#line 201 "chopb.met"
        tokenAhead = 0;
#line 201 "chopb.met"
        _ptString = lexEl.string ;
#line 201 "chopb.met"
        oldLine=line,oldCol=col;
#line 201 "chopb.met"
        if ( !lexCallLex) {
#line 201 "chopb.met"
            PUT_COORD_CALL;
#line 201 "chopb.met"
        }
#line 201 "chopb.met"
#line 201 "chopb.met"
#line 201 "chopb.met"
    } else {
#line 201 "chopb.met"
#line 204 "chopb.met"
#line 205 "chopb.met"
        ptStockBuf = -1;
#line 205 "chopb.met"
        while ((c == ' ')||(c == '\t')||(c == '\r')||(c == '\n'))
#line 205 "chopb.met"
            NextChar() ;
#line 205 "chopb.met"
        ptStockBuf = -1;
#line 205 "chopb.met"
        *lexEl.string = '\0';
#line 205 "chopb.met"
        _nbCharact = 0;
#line 205 "chopb.met"
        tokenAhead = 0;
#line 205 "chopb.met"
        _ptString = lexEl.string ;
#line 205 "chopb.met"
        oldLine=line,oldCol=col;
#line 205 "chopb.met"
        if ( !lexCallLex) {
#line 205 "chopb.met"
            PUT_COORD_CALL;
#line 205 "chopb.met"
        }
#line 205 "chopb.met"
#line 205 "chopb.met"
    }
#line 205 "chopb.met"
#line 207 "chopb.met"
#line 208 "chopb.met"
    if((GetString("**",1)&& NextChar())){
#line 208 "chopb.met"
#line 209 "chopb.met"
        if (GetString("=",0)){
#line 209 "chopb.met"
#line 210 "chopb.met"
            if(ptStockBuf > -1) UnputBuf ();
#line 210 "chopb.met"
            *lexEl.string = '\0';
#line 210 "chopb.met"
            _nbCharact = 0;
#line 210 "chopb.met"
            tokenAhead = 0;
#line 210 "chopb.met"
            if ( lastContextPos && !lastContextPos->nbRef) FreePos(lastContextPos);
#line 210 "chopb.met"
            lastContextPos = (PFILE_POSITION) 0 ;
#line 210 "chopb.met"
            _ptString = lexEl.string ;
#line 210 "chopb.met"
#line 210 "chopb.met"
        } else {
#line 210 "chopb.met"
#line 212 "chopb.met"
            {
#line 212 "chopb.met"
                *_ptString = '\0' ;
#line 212 "chopb.met"
                firstOnLine = 0 ; 
#line 212 "chopb.met"
                tokenAhead =15;
#line 212 "chopb.met"
                lexEl.Value=ETOI_ETOI;
#line 212 "chopb.met"
                PUT_COORD_CALL;
#line 212 "chopb.met"
                return(1);
#line 212 "chopb.met"
            }
#line 212 "chopb.met"
        }
#line 212 "chopb.met"
    } else 
#line 212 "chopb.met"
#line 213 "chopb.met"
    if((GetString("*",1)&& NextChar())){
#line 213 "chopb.met"
#line 214 "chopb.met"
        if (GetString("=",0)){
#line 214 "chopb.met"
#line 215 "chopb.met"
            if(ptStockBuf > -1) UnputBuf ();
#line 215 "chopb.met"
            *lexEl.string = '\0';
#line 215 "chopb.met"
            _nbCharact = 0;
#line 215 "chopb.met"
            tokenAhead = 0;
#line 215 "chopb.met"
            if ( lastContextPos && !lastContextPos->nbRef) FreePos(lastContextPos);
#line 215 "chopb.met"
            lastContextPos = (PFILE_POSITION) 0 ;
#line 215 "chopb.met"
            _ptString = lexEl.string ;
#line 215 "chopb.met"
#line 215 "chopb.met"
        } else {
#line 215 "chopb.met"
#line 217 "chopb.met"
            {
#line 217 "chopb.met"
                *_ptString = '\0' ;
#line 217 "chopb.met"
                firstOnLine = 0 ; 
#line 217 "chopb.met"
                tokenAhead =15;
#line 217 "chopb.met"
                lexEl.Value=SIMP_ETOI;
#line 217 "chopb.met"
                PUT_COORD_CALL;
#line 217 "chopb.met"
                return(1);
#line 217 "chopb.met"
            }
#line 217 "chopb.met"
        }
#line 217 "chopb.met"
    } else 
#line 217 "chopb.met"
     ;
#line 217 "chopb.met"
#line 219 "chopb.met"
    line = oldLine;
#line 219 "chopb.met"
    LEX_EXIT(0,"")
#line 219 "chopb.met"
    lexEl.Value = -1 ;
#line 219 "chopb.met"
    return -1 ; 
#line 219 "chopb.met"
}
#line 219 "chopb.met"

#line 219 "chopb.met"
#line 86 "chopb.met"
int chopb::LexMeta ()
#line 86 "chopb.met"
{
#line 86 "chopb.met"
    if ( lastContextPos && !lastContextPos -> nbRef )
#line 86 "chopb.met"
        FreePos(lastContextPos);
#line 86 "chopb.met"
    lastContextPos = (PFILE_POSITION)0 ;
#line 86 "chopb.met"
    if ( tokenAhead)
#line 86 "chopb.met"
        ExtUnputBuf();
#line 86 "chopb.met"
    #ifdef DUMP_COORD
#line 86 "chopb.met"
    if(!lexCallLex && dumpCoord) store_pos_as_comment(line,col,0);
#line 86 "chopb.met"
    #endif
#line 86 "chopb.met"
    
#line 86 "chopb.met"
    char * _ptString ;
#line 86 "chopb.met"
    int _nbCharact ;
#line 86 "chopb.met"
    int _bidon = (oldLine = line,oldCol = col );
#line 86 "chopb.met"
    int _bidon1 = (oldLineEntry = line, oldColEntry = col );
#line 86 "chopb.met"
    (tokenAhead|| (LexComment(),tokenAhead=-1,TRACE_LEX(1)));
#line 86 "chopb.met"
#line 89 "chopb.met"
    if ((! (keepCarriage)) && 
#line 89 "chopb.met"
       (! (parse))){
#line 89 "chopb.met"
#line 90 "chopb.met"
#line 91 "chopb.met"
        ptStockBuf = -1;
#line 91 "chopb.met"
        while ((c == '\t')||(c == ' ')||(c == '\r')||(c == '\n'))
#line 91 "chopb.met"
            NextChar() ;
#line 91 "chopb.met"
        ptStockBuf = -1;
#line 91 "chopb.met"
        *lexEl.string = '\0';
#line 91 "chopb.met"
        _nbCharact = 0;
#line 91 "chopb.met"
        tokenAhead = 0;
#line 91 "chopb.met"
        _ptString = lexEl.string ;
#line 91 "chopb.met"
        oldLine=line,oldCol=col;
#line 91 "chopb.met"
        if ( !lexCallLex) {
#line 91 "chopb.met"
            PUT_COORD_CALL;
#line 91 "chopb.met"
        }
#line 91 "chopb.met"
#line 91 "chopb.met"
#line 91 "chopb.met"
    } else {
#line 91 "chopb.met"
#line 94 "chopb.met"
        if (! (parse)){
#line 94 "chopb.met"
#line 95 "chopb.met"
#line 96 "chopb.met"
            ptStockBuf = -1;
#line 96 "chopb.met"
            while ((c == '\t')||(c == ' '))
#line 96 "chopb.met"
                NextChar() ;
#line 96 "chopb.met"
            ptStockBuf = -1;
#line 96 "chopb.met"
            *lexEl.string = '\0';
#line 96 "chopb.met"
            _nbCharact = 0;
#line 96 "chopb.met"
            tokenAhead = 0;
#line 96 "chopb.met"
            _ptString = lexEl.string ;
#line 96 "chopb.met"
            oldLine=line,oldCol=col;
#line 96 "chopb.met"
            if ( !lexCallLex) {
#line 96 "chopb.met"
                PUT_COORD_CALL;
#line 96 "chopb.met"
            }
#line 96 "chopb.met"
#line 96 "chopb.met"
#line 96 "chopb.met"
        } else {
#line 96 "chopb.met"
#line 99 "chopb.met"
            ptStockBuf = -1;
#line 99 "chopb.met"
            *lexEl.string = '\0';
#line 99 "chopb.met"
            _nbCharact = 0;
#line 99 "chopb.met"
            tokenAhead = 0;
#line 99 "chopb.met"
            if ( lastContextPos && !lastContextPos->nbRef) FreePos(lastContextPos);
#line 99 "chopb.met"
            lastContextPos = (PFILE_POSITION) 0 ;
#line 99 "chopb.met"
            _ptString = lexEl.string ;
#line 99 "chopb.met"
        }
#line 99 "chopb.met"
    }
#line 99 "chopb.met"
#line 100 "chopb.met"
    if (! (parse)){
#line 100 "chopb.met"
#line 101 "chopb.met"
        switch (c) {
#line 101 "chopb.met"
#line 102 "chopb.met"
            case '$' :
#line 102 "chopb.met"
                NextChar();
#line 102 "chopb.met"
#line 104 "chopb.met"
#line 106 "chopb.met"
                if (! (((c == '(')))){
#line 106 "chopb.met"
#line 107 "chopb.met"
                    while ((('a' <= c && c <= 'z')||('A' <= c && c <= 'Z')||('0' <= c && c <= '9')||(c == '_'))) { 
#line 107 "chopb.met"
#line 108 "chopb.met"
                        {
#line 108 "chopb.met"
                            if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 108 "chopb.met"
                            NextChar();
#line 108 "chopb.met"
                        }
#line 108 "chopb.met"
                    } 
#line 108 "chopb.met"
                } else {
#line 108 "chopb.met"
#line 110 "chopb.met"
#line 111 "chopb.met"
                     int nbPar = 0;
#line 111 "chopb.met"
#line 112 "chopb.met"
                    {
#line 112 "chopb.met"
                        if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 112 "chopb.met"
                        NextChar();
#line 112 "chopb.met"
                    }
#line 112 "chopb.met"
#line 113 "chopb.met"
                    while (c != EOF) { 
#line 113 "chopb.met"
#line 114 "chopb.met"
                        switch (c) {
#line 114 "chopb.met"
#line 115 "chopb.met"
                            case '(' :
#line 115 "chopb.met"
#line 116 "chopb.met"
#line 117 "chopb.met"
                                 nbPar++;
#line 117 "chopb.met"
#line 118 "chopb.met"
                                {
#line 118 "chopb.met"
                                    if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 118 "chopb.met"
                                    NextChar();
#line 118 "chopb.met"
                                }
#line 118 "chopb.met"
                                break ;
#line 118 "chopb.met"
#line 120 "chopb.met"
                            case ')' :
#line 120 "chopb.met"
#line 121 "chopb.met"
                                if (!nbPar ){
#line 121 "chopb.met"
#line 122 "chopb.met"
#line 123 "chopb.met"
                                    {
#line 123 "chopb.met"
                                        if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 123 "chopb.met"
                                        NextChar();
#line 123 "chopb.met"
                                    }
#line 123 "chopb.met"
#line 124 "chopb.met"
                                    {
#line 124 "chopb.met"
                                        *_ptString = '\0' ;
#line 124 "chopb.met"
                                        firstOnLine = 0 ; 
#line 124 "chopb.met"
                                        tokenAhead =7;
#line 124 "chopb.met"
                                        lexEl.Value=META;
#line 124 "chopb.met"
                                        PUT_COORD_CALL;
#line 124 "chopb.met"
                                        return(1);
#line 124 "chopb.met"
                                    }
#line 124 "chopb.met"
#line 125 "chopb.met"
                                } else {
#line 125 "chopb.met"
#line 127 "chopb.met"
#line 128 "chopb.met"
                                    {
#line 128 "chopb.met"
                                        if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 128 "chopb.met"
                                        NextChar();
#line 128 "chopb.met"
                                    }
#line 128 "chopb.met"
#line 129 "chopb.met"
                                     nbPar--;
#line 129 "chopb.met"
                                }
#line 129 "chopb.met"
                                break ;
#line 129 "chopb.met"
#line 131 "chopb.met"
                            default : 
#line 131 "chopb.met"
                                 if (c!= EOF) {
#line 131 "chopb.met"
#line 131 "chopb.met"
                                    {
#line 131 "chopb.met"
                                        if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 131 "chopb.met"
                                        NextChar();
#line 131 "chopb.met"
                                    }
#line 131 "chopb.met"
                                }
#line 131 "chopb.met"
                                break ;
#line 131 "chopb.met"
                        }
#line 131 "chopb.met"
                    } 
#line 131 "chopb.met"
                }
#line 131 "chopb.met"
#line 134 "chopb.met"
                {
#line 134 "chopb.met"
                    *_ptString = '\0' ;
#line 134 "chopb.met"
                    firstOnLine = 0 ; 
#line 134 "chopb.met"
                    tokenAhead =7;
#line 134 "chopb.met"
                    lexEl.Value=META;
#line 134 "chopb.met"
                    PUT_COORD_CALL;
#line 134 "chopb.met"
                    return(1);
#line 134 "chopb.met"
                }
#line 134 "chopb.met"
                break ;
#line 134 "chopb.met"
        }
#line 134 "chopb.met"
#line 136 "chopb.met"
    }
#line 136 "chopb.met"
#line 137 "chopb.met"
    line = oldLine;
#line 137 "chopb.met"
    LEX_EXIT(0,"")
#line 137 "chopb.met"
    lexEl.Value = -1 ;
#line 137 "chopb.met"
    return -1 ; 
#line 137 "chopb.met"
}
#line 137 "chopb.met"

#line 137 "chopb.met"
#line 221 "chopb.met"
int chopb::LexParse ()
#line 221 "chopb.met"
{
#line 221 "chopb.met"
    if ( lastContextPos && !lastContextPos -> nbRef )
#line 221 "chopb.met"
        FreePos(lastContextPos);
#line 221 "chopb.met"
    lastContextPos = (PFILE_POSITION)0 ;
#line 221 "chopb.met"
    if ( tokenAhead)
#line 221 "chopb.met"
        ExtUnputBuf();
#line 221 "chopb.met"
    #ifdef DUMP_COORD
#line 221 "chopb.met"
    if(!lexCallLex && dumpCoord) store_pos_as_comment(line,col,0);
#line 221 "chopb.met"
    #endif
#line 221 "chopb.met"
    
#line 221 "chopb.met"
    char * _ptString ;
#line 221 "chopb.met"
    int _nbCharact ;
#line 221 "chopb.met"
    int _bidon = (oldLine = line,oldCol = col );
#line 221 "chopb.met"
    int _bidon1 = (oldLineEntry = line, oldColEntry = col );
#line 221 "chopb.met"
    tokenAhead = 0;
#line 221 "chopb.met"
    if(LexMeta() != -1){tokenAhead =16; return 1;}
#line 221 "chopb.met"
#line 222 "chopb.met"
    if ((nb_par_parse > 0)){
#line 222 "chopb.met"
#line 223 "chopb.met"
#line 224 "chopb.met"
        ptStockBuf = -1;
#line 224 "chopb.met"
        *lexEl.string = '\0';
#line 224 "chopb.met"
        _nbCharact = 0;
#line 224 "chopb.met"
        tokenAhead = 0;
#line 224 "chopb.met"
        if ( lastContextPos && !lastContextPos->nbRef) FreePos(lastContextPos);
#line 224 "chopb.met"
        lastContextPos = (PFILE_POSITION) 0 ;
#line 224 "chopb.met"
        _ptString = lexEl.string ;
#line 224 "chopb.met"
#line 225 "chopb.met"
        while (c != EOF) { 
#line 225 "chopb.met"
#line 226 "chopb.met"
            switch (c) {
#line 226 "chopb.met"
#line 227 "chopb.met"
                case '(' :
#line 227 "chopb.met"
#line 228 "chopb.met"
#line 229 "chopb.met"
                    {
#line 229 "chopb.met"
                        if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 229 "chopb.met"
                        NextChar();
#line 229 "chopb.met"
                    }
#line 229 "chopb.met"
#line 230 "chopb.met"
                     nb_par_parse++;
#line 230 "chopb.met"
                    break ;
#line 230 "chopb.met"
#line 232 "chopb.met"
                case ')' :
#line 232 "chopb.met"
#line 233 "chopb.met"
#line 234 "chopb.met"
                    if (!(c != EOF&& NextChar())) ;
#line 234 "chopb.met"
#line 235 "chopb.met"
                     nb_par_parse--;
#line 235 "chopb.met"
#line 236 "chopb.met"
                    if ((nb_par_parse <= 0)){
#line 236 "chopb.met"
#line 237 "chopb.met"
                        {
#line 237 "chopb.met"
                            *_ptString = '\0' ;
#line 237 "chopb.met"
                            firstOnLine = 0 ; 
#line 237 "chopb.met"
                            tokenAhead =16;
#line 237 "chopb.met"
                            lexEl.Value=PARSE_ELEM;
#line 237 "chopb.met"
                            PUT_COORD_CALL;
#line 237 "chopb.met"
                            return(1);
#line 237 "chopb.met"
                        }
#line 237 "chopb.met"
                    }
#line 237 "chopb.met"
#line 238 "chopb.met"
                    {
#line 238 "chopb.met"
                        if (_nbCharact + strlen(")") < MAXLENGTH) 
#line 238 "chopb.met"
                            strcpy(_ptString,")");
#line 238 "chopb.met"
                        _nbCharact += strlen(")");_ptString = lexEl.string + _nbCharact;
#line 238 "chopb.met"
                    
#line 238 "chopb.met"
                    }
#line 238 "chopb.met"
                    break ;
#line 238 "chopb.met"
#line 240 "chopb.met"
                case '\r' :
#line 240 "chopb.met"
#line 240 "chopb.met"
                    if (!(c != EOF&& NextChar())) ;
#line 240 "chopb.met"
                    break ;
#line 240 "chopb.met"
#line 241 "chopb.met"
                case '\n' :
#line 241 "chopb.met"
#line 242 "chopb.met"
#line 243 "chopb.met"
                    if (!(c != EOF&& NextChar())) ;
#line 243 "chopb.met"
#line 244 "chopb.met"
                    {
#line 244 "chopb.met"
                        *_ptString = '\0' ;
#line 244 "chopb.met"
                        firstOnLine = 0 ; 
#line 244 "chopb.met"
                        tokenAhead =16;
#line 244 "chopb.met"
                        lexEl.Value=PARSE_ELEM;
#line 244 "chopb.met"
                        PUT_COORD_CALL;
#line 244 "chopb.met"
                        return(1);
#line 244 "chopb.met"
                    }
#line 244 "chopb.met"
                    break ;
#line 244 "chopb.met"
#line 246 "chopb.met"
                default : 
#line 246 "chopb.met"
                     if (c!= EOF) {
#line 246 "chopb.met"
#line 246 "chopb.met"
                        {
#line 246 "chopb.met"
                            if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 246 "chopb.met"
                            NextChar();
#line 246 "chopb.met"
                        }
#line 246 "chopb.met"
                    }
#line 246 "chopb.met"
                    break ;
#line 246 "chopb.met"
            }
#line 246 "chopb.met"
        } 
#line 246 "chopb.met"
#line 248 "chopb.met"
    }
#line 248 "chopb.met"
#line 249 "chopb.met"
    line = oldLine;
#line 249 "chopb.met"
    LEX_EXIT(0,"")
#line 249 "chopb.met"
    lexEl.Value = -1 ;
#line 249 "chopb.met"
    return -1 ; 
#line 249 "chopb.met"
}
#line 249 "chopb.met"

#line 249 "chopb.met"
#line 139 "chopb.met"
int chopb::LexSup ()
#line 139 "chopb.met"
{
#line 139 "chopb.met"
    if ( lastContextPos && !lastContextPos -> nbRef )
#line 139 "chopb.met"
        FreePos(lastContextPos);
#line 139 "chopb.met"
    lastContextPos = (PFILE_POSITION)0 ;
#line 139 "chopb.met"
    if ( tokenAhead)
#line 139 "chopb.met"
        ExtUnputBuf();
#line 139 "chopb.met"
    #ifdef DUMP_COORD
#line 139 "chopb.met"
    if(!lexCallLex && dumpCoord) store_pos_as_comment(line,col,0);
#line 139 "chopb.met"
    #endif
#line 139 "chopb.met"
    
#line 139 "chopb.met"
    char * _ptString ;
#line 139 "chopb.met"
    int _nbCharact ;
#line 139 "chopb.met"
    int _bidon = (oldLine = line,oldCol = col );
#line 139 "chopb.met"
    int _bidon1 = (oldLineEntry = line, oldColEntry = col );
#line 139 "chopb.met"
    tokenAhead = 0;
#line 139 "chopb.met"
    if(LexMeta() != -1){tokenAhead =17; return 1;}
#line 139 "chopb.met"
#line 140 "chopb.met"
    if (keepCarriage){
#line 140 "chopb.met"
#line 141 "chopb.met"
#line 142 "chopb.met"
        ptStockBuf = -1;
#line 142 "chopb.met"
        while ((c == ' ')||(c == '\t'))
#line 142 "chopb.met"
            NextChar() ;
#line 142 "chopb.met"
        ptStockBuf = -1;
#line 142 "chopb.met"
        *lexEl.string = '\0';
#line 142 "chopb.met"
        _nbCharact = 0;
#line 142 "chopb.met"
        tokenAhead = 0;
#line 142 "chopb.met"
        _ptString = lexEl.string ;
#line 142 "chopb.met"
        oldLine=line,oldCol=col;
#line 142 "chopb.met"
        if ( !lexCallLex) {
#line 142 "chopb.met"
            PUT_COORD_CALL;
#line 142 "chopb.met"
        }
#line 142 "chopb.met"
#line 142 "chopb.met"
#line 142 "chopb.met"
    } else {
#line 142 "chopb.met"
#line 145 "chopb.met"
#line 146 "chopb.met"
        ptStockBuf = -1;
#line 146 "chopb.met"
        while ((c == ' ')||(c == '\t')||(c == '\r')||(c == '\n'))
#line 146 "chopb.met"
            NextChar() ;
#line 146 "chopb.met"
        ptStockBuf = -1;
#line 146 "chopb.met"
        *lexEl.string = '\0';
#line 146 "chopb.met"
        _nbCharact = 0;
#line 146 "chopb.met"
        tokenAhead = 0;
#line 146 "chopb.met"
        _ptString = lexEl.string ;
#line 146 "chopb.met"
        oldLine=line,oldCol=col;
#line 146 "chopb.met"
        if ( !lexCallLex) {
#line 146 "chopb.met"
            PUT_COORD_CALL;
#line 146 "chopb.met"
        }
#line 146 "chopb.met"
#line 146 "chopb.met"
    }
#line 146 "chopb.met"
#line 148 "chopb.met"
    switch (c) {
#line 148 "chopb.met"
#line 149 "chopb.met"
        case '<' :
#line 149 "chopb.met"
#line 150 "chopb.met"
#line 151 "chopb.met"
            {
#line 151 "chopb.met"
                if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 151 "chopb.met"
                NextChar();
#line 151 "chopb.met"
            }
#line 151 "chopb.met"
#line 152 "chopb.met"
            {
#line 152 "chopb.met"
                *_ptString = '\0' ;
#line 152 "chopb.met"
                firstOnLine = 0 ; 
#line 152 "chopb.met"
                tokenAhead =17;
#line 152 "chopb.met"
                lexEl.Value=MAKETREE_INF;
#line 152 "chopb.met"
                PUT_COORD_CALL;
#line 152 "chopb.met"
                return(1);
#line 152 "chopb.met"
            }
#line 152 "chopb.met"
            break ;
#line 152 "chopb.met"
#line 154 "chopb.met"
        case '>' :
#line 154 "chopb.met"
#line 155 "chopb.met"
#line 156 "chopb.met"
            {
#line 156 "chopb.met"
                if (_nbCharact++ < MAXLENGTH) *_ptString++ = c;
#line 156 "chopb.met"
                NextChar();
#line 156 "chopb.met"
            }
#line 156 "chopb.met"
#line 157 "chopb.met"
            {
#line 157 "chopb.met"
                *_ptString = '\0' ;
#line 157 "chopb.met"
                firstOnLine = 0 ; 
#line 157 "chopb.met"
                tokenAhead =17;
#line 157 "chopb.met"
                lexEl.Value=MAKETREE_SUP;
#line 157 "chopb.met"
                PUT_COORD_CALL;
#line 157 "chopb.met"
                return(1);
#line 157 "chopb.met"
            }
#line 157 "chopb.met"
            break ;
#line 157 "chopb.met"
    }
#line 157 "chopb.met"
#line 160 "chopb.met"
    line = oldLine;
#line 160 "chopb.met"
    LEX_EXIT(0,"")
#line 160 "chopb.met"
    lexEl.Value = -1 ;
#line 160 "chopb.met"
    return -1 ; 
#line 160 "chopb.met"
}
#line 160 "chopb.met"

#line 160 "chopb.met"
#line 162 "chopb.met"
int chopb::formatBeg ()
#line 162 "chopb.met"
{
#line 162 "chopb.met"
    if ( lastContextPos && !lastContextPos -> nbRef )
#line 162 "chopb.met"
        FreePos(lastContextPos);
#line 162 "chopb.met"
    lastContextPos = (PFILE_POSITION)0 ;
#line 162 "chopb.met"
    if ( tokenAhead)
#line 162 "chopb.met"
        ExtUnputBuf();
#line 162 "chopb.met"
    #ifdef DUMP_COORD
#line 162 "chopb.met"
    if(!lexCallLex && dumpCoord) store_pos_as_comment(line,col,0);
#line 162 "chopb.met"
    #endif
#line 162 "chopb.met"
    
#line 162 "chopb.met"
    char * _ptString ;
#line 162 "chopb.met"
    int _nbCharact ;
#line 162 "chopb.met"
    int _bidon = (oldLine = line,oldCol = col );
#line 162 "chopb.met"
    int _bidon1 = (oldLineEntry = line, oldColEntry = col );
#line 162 "chopb.met"
    tokenAhead = 0;
#line 162 "chopb.met"
    if(LexMeta() != -1){tokenAhead =18; return 1;}
#line 162 "chopb.met"
#line 162 "chopb.met"
    ptStockBuf = -1;
#line 162 "chopb.met"
    while ((c == ' ')||(c == '\t')||(c == '\r')||(c == '\n'))
#line 162 "chopb.met"
        NextChar() ;
#line 162 "chopb.met"
    ptStockBuf = -1;
#line 162 "chopb.met"
    *lexEl.string = '\0';
#line 162 "chopb.met"
    _nbCharact = 0;
#line 162 "chopb.met"
    tokenAhead = 0;
#line 162 "chopb.met"
    _ptString = lexEl.string ;
#line 162 "chopb.met"
    oldLine=line,oldCol=col;
#line 162 "chopb.met"
    if ( !lexCallLex) {
#line 162 "chopb.met"
        PUT_COORD_CALL;
#line 162 "chopb.met"
    }
#line 162 "chopb.met"
#line 164 "chopb.met"
#line 165 "chopb.met"
    if((GetString("<S,",0))){
#line 165 "chopb.met"
#line 166 "chopb.met"
#line 167 "chopb.met"
        if (!(GetString("<S",1)&& NextChar())) ;
#line 167 "chopb.met"
#line 168 "chopb.met"
        {
#line 168 "chopb.met"
            *_ptString = '\0' ;
#line 168 "chopb.met"
            firstOnLine = 0 ; 
#line 168 "chopb.met"
            tokenAhead =18;
#line 168 "chopb.met"
            lexEl.Value=SPACE_BEG;
#line 168 "chopb.met"
            PUT_COORD_CALL;
#line 168 "chopb.met"
            return(1);
#line 168 "chopb.met"
        }
#line 168 "chopb.met"
    } else 
#line 168 "chopb.met"
#line 170 "chopb.met"
    if((GetString("<S>",0))){
#line 170 "chopb.met"
#line 171 "chopb.met"
#line 172 "chopb.met"
        if (!(GetString("<S",1)&& NextChar())) ;
#line 172 "chopb.met"
#line 173 "chopb.met"
        {
#line 173 "chopb.met"
            *_ptString = '\0' ;
#line 173 "chopb.met"
            firstOnLine = 0 ; 
#line 173 "chopb.met"
            tokenAhead =18;
#line 173 "chopb.met"
            lexEl.Value=SPACE_BEG;
#line 173 "chopb.met"
            PUT_COORD_CALL;
#line 173 "chopb.met"
            return(1);
#line 173 "chopb.met"
        }
#line 173 "chopb.met"
    } else 
#line 173 "chopb.met"
#line 175 "chopb.met"
    if((GetString("<T,",0))){
#line 175 "chopb.met"
#line 176 "chopb.met"
#line 177 "chopb.met"
        if (!(GetString("<T",1)&& NextChar())) ;
#line 177 "chopb.met"
#line 178 "chopb.met"
        {
#line 178 "chopb.met"
            *_ptString = '\0' ;
#line 178 "chopb.met"
            firstOnLine = 0 ; 
#line 178 "chopb.met"
            tokenAhead =18;
#line 178 "chopb.met"
            lexEl.Value=TAB_BEG;
#line 178 "chopb.met"
            PUT_COORD_CALL;
#line 178 "chopb.met"
            return(1);
#line 178 "chopb.met"
        }
#line 178 "chopb.met"
    } else 
#line 178 "chopb.met"
#line 180 "chopb.met"
    if((GetString("<T>",0))){
#line 180 "chopb.met"
#line 181 "chopb.met"
#line 182 "chopb.met"
        if (!(GetString("<T",1)&& NextChar())) ;
#line 182 "chopb.met"
#line 183 "chopb.met"
        {
#line 183 "chopb.met"
            *_ptString = '\0' ;
#line 183 "chopb.met"
            firstOnLine = 0 ; 
#line 183 "chopb.met"
            tokenAhead =18;
#line 183 "chopb.met"
            lexEl.Value=TAB_BEG;
#line 183 "chopb.met"
            PUT_COORD_CALL;
#line 183 "chopb.met"
            return(1);
#line 183 "chopb.met"
        }
#line 183 "chopb.met"
    } else 
#line 183 "chopb.met"
#line 185 "chopb.met"
    if((GetString("<NL,",0))){
#line 185 "chopb.met"
#line 186 "chopb.met"
#line 187 "chopb.met"
        if (!(GetString("<NL",1)&& NextChar())) ;
#line 187 "chopb.met"
#line 188 "chopb.met"
        {
#line 188 "chopb.met"
            *_ptString = '\0' ;
#line 188 "chopb.met"
            firstOnLine = 0 ; 
#line 188 "chopb.met"
            tokenAhead =18;
#line 188 "chopb.met"
            lexEl.Value=NL_BEG;
#line 188 "chopb.met"
            PUT_COORD_CALL;
#line 188 "chopb.met"
            return(1);
#line 188 "chopb.met"
        }
#line 188 "chopb.met"
    } else 
#line 188 "chopb.met"
#line 190 "chopb.met"
    if((GetString("<NL>",0))){
#line 190 "chopb.met"
#line 191 "chopb.met"
#line 192 "chopb.met"
        if (!(GetString("<NL",1)&& NextChar())) ;
#line 192 "chopb.met"
#line 193 "chopb.met"
        {
#line 193 "chopb.met"
            *_ptString = '\0' ;
#line 193 "chopb.met"
            firstOnLine = 0 ; 
#line 193 "chopb.met"
            tokenAhead =18;
#line 193 "chopb.met"
            lexEl.Value=NL_BEG;
#line 193 "chopb.met"
            PUT_COORD_CALL;
#line 193 "chopb.met"
            return(1);
#line 193 "chopb.met"
        }
#line 193 "chopb.met"
    } else 
#line 193 "chopb.met"
     ;
#line 193 "chopb.met"
#line 196 "chopb.met"
    line = oldLine;
#line 196 "chopb.met"
    LEX_EXIT(0,"")
#line 196 "chopb.met"
    lexEl.Value = -1 ;
#line 196 "chopb.met"
    return -1 ; 
#line 196 "chopb.met"
}
#line 196 "chopb.met"

#line 196 "chopb.met"
/* 
-- 0 -- bidon
    ALWAYS
-- 1 -- abstract_declarator
    ALWAYS
-- 2 -- additive_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 3 -- alloc_expression
    META
    DPOIDPOI
    NEW
    DELETE
-- 4 -- allocation_expression
    META
    NEW
-- 5 -- and_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 6 -- arg_declarator
    META
    IDENT
    FLOAT
    DPOIDPOI
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    VOLATILE
    REGISTER
    INLINE
    VIRTUAL
    FRIEND
    CONST
    ENUM
    STRUCT
    UNION
    CLASS
-- 7 -- arg_typ_declarator
    META
    POUV
-- 8 -- arg_typ_list
    META
    IDENT
    FLOAT
    DPOIDPOI
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    VOLATILE
    REGISTER
    INLINE
    VIRTUAL
    FRIEND
    CONST
    ENUM
    STRUCT
    UNION
    CLASS
-- 9 -- asm_declaration
    META
    ASM
-- 10 -- assignment_end
    META
    SLASEGAL
    EGAL
    ETOIEGAL
    POURCEGAL
    PLUSEGAL
    TIREEGAL
    INFEINFEEGAL
    SUPESUPEEGAL
    ETCOEGAL
    VBAREGAL
    CHAPEGAL
-- 11 -- assignment_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 12 -- base_specifier
    META
    IDENT
    DPOIDPOI
    VIRTUAL
    PRIVATE
    PROTECTED
    PUBLIC
-- 13 -- base_specifier_elem
    META
    IDENT
    DPOIDPOI
    VIRTUAL
    PRIVATE
    PROTECTED
    PUBLIC
-- 14 -- bit_field_decl
    META
    IDENT
-- 15 -- cast_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 16 -- cast_expression_value
    META
    POUV
-- 17 -- catch_unit
    META
    CATCH_ALL
    CATCH_UPPER
    AND_CATCH
-- 18 -- catch_unit_ansi
    META
    CATCH
-- 19 -- class_declaration
    META
    STRUCT
    UNION
    CLASS
-- 20 -- comment_eater
    ALWAYS
-- 21 -- complete_class_name
    META
    IDENT
    DPOIDPOI
-- 22 -- compound_statement
    META
    AOUV
-- 23 -- conditional_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 24 -- const_or_volatile
    META
    VOLATILE
    CONST
-- 25 -- constan
    META
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
-- 26 -- ctor_initializer
    ALWAYS
-- 27 -- data_decl_exotic
    META
    DECLARE_DYNAMIC
    DECLARE_SERIAL
    IMPLEMENT_DYNAMIC
    IMPLEMENT_DYNCREATE
    IMPLEMENT_SERIAL
    DECLARE_MESSAGE_MAP
    BEGIN_MESSAGE_MAP
    END_MESSAGE_MAP
    CATCH_ALL
    CATCH_UPPER
    AND_CATCH
-- 28 -- data_decl_sc_decl
    META
    IDENT
    POUV
    TILD
    ETOI
    ETCO
    OPERATOR
    VOLATILE
    REGISTER
    INLINE
    VIRTUAL
    FRIEND
    CONST
    AUTO
    STATIC
    EXTERN
-- 29 -- data_decl_sc_ty_decl
    META
    IDENT
    FLOAT
    DPOIDPOI
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    VOLATILE
    REGISTER
    INLINE
    VIRTUAL
    FRIEND
    CONST
    ENUM
    STRUCT
    UNION
    CLASS
    AUTO
    STATIC
    EXTERN
-- 30 -- data_declaration
    ALWAYS
-- 31 -- data_declaration_for
    META
    IDENT
    FLOAT
    DPOIDPOI
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    VOLATILE
    REGISTER
    INLINE
    VIRTUAL
    FRIEND
    CONST
    ENUM
    STRUCT
    UNION
    CLASS
    AUTO
    STATIC
    EXTERN
-- 32 -- data_declaration_strict
    ALWAYS
-- 33 -- deallocation_expression
    META
    DELETE
-- 34 -- declarator
    META
    IDENT
    POUV
    TILD
    ETOI
    ETCO
    OPERATOR
    VOLATILE
    REGISTER
    INLINE
    VIRTUAL
    FRIEND
    CONST
-- 35 -- declarator_follow
    ALWAYS
-- 36 -- declarator_list
    META
    IDENT
    POUV
    TILD
    ETOI
    ETCO
    OPERATOR
    VOLATILE
    REGISTER
    INLINE
    VIRTUAL
    FRIEND
    CONST
-- 37 -- declarator_list_init
    META
    IDENT
    POUV
    TILD
    ETOI
    ETCO
    OPERATOR
    VOLATILE
    REGISTER
    INLINE
    VIRTUAL
    FRIEND
    CONST
-- 38 -- declarator_value
    META
    IDENT
    POUV
    TILD
    ETOI
    ETCO
    OPERATOR
    VOLATILE
    REGISTER
    INLINE
    VIRTUAL
    FRIEND
    CONST
-- 39 -- define_dir
    META
    DEFINE_DIR
-- 40 -- directive
    META
    INCLUDE_DIR
    LINE_DIR
    PRAGMA_DIR
    ERROR_DIR
    DEFINE_DIR
    UNDEF_DIR
-- 41 -- end_pragma
    META
    PRAGMA_DIR
-- 42 -- enum_val
    META
    IDENT
-- 43 -- equality_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 44 -- exception
    META
    TRY_UPPER
-- 45 -- exception_ansi
    META
    TRY
-- 46 -- exclusive_or_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 47 -- expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 48 -- expression_for
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 49 -- ext_all
    ALWAYS
-- 50 -- ext_all_ext
    ALWAYS
-- 51 -- ext_all_no_linkage
    ALWAYS
-- 52 -- ext_data_decl_sc_ty
    META
    IDENT
    FLOAT
    DPOIDPOI
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    VOLATILE
    REGISTER
    INLINE
    VIRTUAL
    FRIEND
    CONST
    ENUM
    STRUCT
    UNION
    CLASS
    AUTO
    STATIC
    EXTERN
-- 53 -- ext_data_decl_simp
    ALWAYS
-- 54 -- ext_data_declaration
    ALWAYS
-- 55 -- ext_decl_dir
    META
    INCLUDE_DIR
    IFDEF_DIR
    IFNDEF_DIR
    IF_DIR
    LINE_DIR
    PRAGMA_DIR
    ERROR_DIR
    DEFINE_DIR
    UNDEF_DIR
-- 56 -- ext_decl_if_dir
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 57 -- ext_decl_ifdef_dir
    META
    IFDEF_DIR
    IFNDEF_DIR
-- 58 -- func_declaration
    META
    IDENT
    FLOAT
    TILD
    ETOI
    ETCO
    DPOIDPOI
    OPERATOR
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    VOLATILE
    REGISTER
    INLINE
    VIRTUAL
    FRIEND
    CONST
    ENUM
    STRUCT
    UNION
    CLASS
    AUTO
    STATIC
    EXTERN
-- 59 -- func_declarator
    META
    IDENT
    TILD
    ETOI
    ETCO
    OPERATOR
    VOLATILE
    REGISTER
    INLINE
    VIRTUAL
    FRIEND
    CONST
-- 60 -- ident_mul
    META
    IDENT
    DPOIDPOI
-- 61 -- include_dir
    META
    INCLUDE_DIR
-- 62 -- inclusive_or_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 63 -- initializer
    ALWAYS
-- 64 -- inside_declaration
    ALWAYS
-- 65 -- inside_declaration1
    META
    IDENT
    FLOAT
    DPOIDPOI
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    VOLATILE
    REGISTER
    INLINE
    VIRTUAL
    FRIEND
    CONST
    ENUM
    STRUCT
    UNION
    CLASS
-- 66 -- inside_declaration2
    META
    IDENT
-- 67 -- label_beg
    META
    IDENT
-- 68 -- linkage_specification
    META
    EXTERN
-- 69 -- logical_and_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 70 -- logical_or_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 71 -- long_short_int_char
    META
    INT
    CHAR
    LONG
    SHORT
-- 72 -- macro
    META
    DECLARE_DYNAMIC
    DECLARE_SERIAL
    IMPLEMENT_DYNAMIC
    IMPLEMENT_DYNCREATE
    IMPLEMENT_SERIAL
    DECLARE_MESSAGE_MAP
    BEGIN_MESSAGE_MAP
    END_MESSAGE_MAP
    CATCH_ALL
    CATCH_UPPER
    AND_CATCH
-- 73 -- macro_extended
    ALWAYS
-- 74 -- member_declarator
    META
    IDENT
    DPOIDPOI
-- 75 -- message_map
    META
    BEGIN_MESSAGE_MAP
-- 76 -- multiplicative_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 77 -- new_1
    META
    POUV
-- 78 -- new_2
    META
    IDENT
    FLOAT
    POUV
    DPOIDPOI
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    VOLATILE
    REGISTER
    INLINE
    VIRTUAL
    FRIEND
    CONST
    ENUM
    STRUCT
    UNION
    CLASS
-- 79 -- new_declarator
    ALWAYS
-- 80 -- new_type_name
    META
    IDENT
    FLOAT
    DPOIDPOI
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    VOLATILE
    REGISTER
    INLINE
    VIRTUAL
    FRIEND
    CONST
    ENUM
    STRUCT
    UNION
    CLASS
-- 81 -- operator_function_name
    META
    OPERATOR
-- 82 -- other_config
    META
    PRAGMA_CONTENT
-- 83 -- parameter_list
    META
    POUV
-- 84 -- parameter_list_extended
    META
    POUV
-- 85 -- parametrized_class
    META
    IDENT
-- 86 -- parse_entry
    ALWAYS
-- 87 -- pm_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 88 -- postfix_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TILD
    DPOIDPOI
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 89 -- primary_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TILD
    OPERATOR
    VA_ARG
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 90 -- program
    ALWAYS
-- 91 -- protect_declare
    META
    PRIVATE
    PROTECTED
    PUBLIC
-- 92 -- ptr_operator
    META
    IDENT
    ETOI
    ETCO
    DPOIDPOI
-- 93 -- qualified_name
    META
    IDENT
    TILD
-- 94 -- qualified_name_elem
    META
    DPOIDPOI
-- 95 -- quick_prog
    ALWAYS
-- 96 -- quick_prog_elem
    ALWAYS
-- 97 -- range_in_liste
    META
    IDENT
-- 98 -- range_modifier
    META
    IDENT
    VOLATILE
    REGISTER
    INLINE
    VIRTUAL
    FRIEND
    CONST
-- 99 -- range_modifier_function
    META
    INLINE
    VIRTUAL
    FRIEND
    CONST
-- 100 -- range_modifier_ident
    ALWAYS
-- 101 -- range_pragma
    META
    PRAGMA_RANGE
-- 102 -- relational_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 103 -- sc_specifier
    ALWAYS
-- 104 -- shift_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 105 -- simple_type
    META
    IDENT
    FLOAT
    DPOIDPOI
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
-- 106 -- simple_type_name
    META
    IDENT
    FLOAT
    DPOIDPOI
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
-- 107 -- sizeof_type
    META
    POUV
-- 108 -- stat_all
    ALWAYS
-- 109 -- stat_dir
    META
    INCLUDE_DIR
    IFDEF_DIR
    IFNDEF_DIR
    IF_DIR
    LINE_DIR
    PRAGMA_DIR
    ERROR_DIR
    DEFINE_DIR
    UNDEF_DIR
-- 110 -- stat_if_dir
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 111 -- stat_ifdef_dir
    META
    IFDEF_DIR
    IFNDEF_DIR
-- 112 -- statement
    META
    GOTO
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    AOUV
    TRY
    PVIR
    BREAK
    CONTINUE
    DO
    FOR
    IF
    RETURN
    SWITCH
    WHILE
    FORALLSONS
    THROW
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
    ARRO
    AOUVAOUV
    INFESEPASUPE
    INFESEPBSUPE
    INFESEPOSUPE
    FOREACH
-- 113 -- string_list
    META
    STRING
-- 114 -- switch_elem
    META
    CASE
    DEFAULT
-- 115 -- switch_list
    META
    AOUV
-- 116 -- type_and_declarator
    META
    IDENT
    FLOAT
    DPOIDPOI
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    VOLATILE
    REGISTER
    INLINE
    VIRTUAL
    FRIEND
    CONST
    ENUM
    STRUCT
    UNION
    CLASS
    AUTO
    STATIC
    EXTERN
-- 117 -- type_descr
    META
    IDENT
-- 118 -- type_name
    META
    IDENT
    FLOAT
    DPOIDPOI
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    VOLATILE
    REGISTER
    INLINE
    VIRTUAL
    FRIEND
    CONST
    ENUM
    STRUCT
    UNION
    CLASS
-- 119 -- type_specifier
    META
    IDENT
    FLOAT
    DPOIDPOI
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    VOLATILE
    REGISTER
    INLINE
    VIRTUAL
    FRIEND
    CONST
    ENUM
    STRUCT
    UNION
    CLASS
-- 120 -- type_specifier_without_param
    META
    IDENT
    FLOAT
    DPOIDPOI
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    VOLATILE
    REGISTER
    INLINE
    VIRTUAL
    FRIEND
    CONST
    ENUM
    STRUCT
    UNION
    CLASS
-- 121 -- typedef_and_declarator
    META
    IDENT
    FLOAT
    DPOIDPOI
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    VOLATILE
    REGISTER
    INLINE
    VIRTUAL
    FRIEND
    CONST
    ENUM
    STRUCT
    UNION
    CLASS
-- 122 -- unary_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 123 -- cplus::assignment_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 124 -- cplus::cast_expression_value
    META
    POUV
-- 125 -- cplus::exclusive_or_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 126 -- cplus::expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 127 -- cplus::multiplicative_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 128 -- cplus::postfix_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TILD
    DPOIDPOI
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 129 -- cplus::primary_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TILD
    OPERATOR
    VA_ARG
-- 130 -- cplus::relational_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 131 -- cplus::shift_expression
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 132 -- cplus::statement
    META
    GOTO
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    AOUV
    TRY
    PVIR
    BREAK
    CONTINUE
    DO
    FOR
    IF
    RETURN
    SWITCH
    WHILE
    FORALLSONS
    THROW
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
-- 133 -- old
    ALWAYS
-- 134 -- prog
    META
    LANGUAGE
-- 135 -- take_follow
    META
    INFE
    INFESUPE
-- 136 -- take_follow_list
    ALWAYS
-- 137 -- take_follow_super
    META
    IDENT
    STRING
    CHARACT
    ULINTEGER
    LINTEGER
    UINTEGER
    FLOAT
    INTEGER
    ULHEXA
    LHEXA
    UHEXA
    HEXA
    ULOCTAL
    LOCTAL
    UOCTAL
    OCTAL
    POUV
    TIRE
    PLUS
    TILD
    EXCL
    ETOI
    ETCO
    PLUSPLUS
    TIRETIRE
    SIZEOF
    DPOIDPOI
    NEW
    DELETE
    OPERATOR
    VA_ARG
    DOUBLE
    INT
    CHAR
    VOID
    LONG
    SIGNED
    UNSIGNED
    SHORT
    POINPOINPOIN
    INFE
    INFESUPE
    VALUE
    NEXTL
    PARSE
    IN
*/

signed char *chopb::_tokenArray [138] = {
    (signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\000\070\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\200\040\000\000\000\000\000\000\000\000\000\010\377\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\040\000\000\000\000\000\000\000\000\000\010\377\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\000\020\000\000\000\000\000\000\000\000\000\370\037\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\200\000\000\000\000\000\000\000\000\000\000\010\000\010\000\340\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\000\000\000\000\000\000\000\000\000\000\010\000\010\000\340\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\034\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\000\000\000\200\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\020\200\000\000\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\000\000\000\041\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\376\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\374\037\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\000\000\000\000\000\000\000\000\000\322\100\000\077\000\000\034\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\040\000\000\000\000\000\000\000\000\000\010\377\377\003\000\034\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\020\200\040\000\000\000\000\000\000\000\000\000\010\377\377\003\000\034\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\000\000\000\000\000\000\000\000\000\322\100\000\077\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\020\200\000\000\000\000\000\000\000\000\000\322\100\000\077\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\000\000\000\000\000\000\000\000\000\322\100\000\077\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\000\000\000\000\000\000\000\000\000\322\100\000\077\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\200\300\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\020\200\040\000\000\000\000\000\000\000\000\000\010\377\377\003\000\034\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\020\000\000\200\307\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\000\000\000\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\040\000\000\000\000\000\000\000\000\320\110\377\377\003\000\034\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\000\000\000\000\000\000\000\000\000\320\100\000\077\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\000\000\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\020\200\040\000\000\000\000\000\000\000\000\000\010\377\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\374\037\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\020\200\000\000\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\040\000\000\000\000\000\000\000\000\002\010\377\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\020\200\040\000\000\000\000\000\000\000\000\000\010\377\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\022\310\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\022\300\000\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\340\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\000\000\000\000\000\000\000\000\000\300\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\020\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\000\000\000\000\000\000\000\000\000\000\000\000\077\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\000\000\000\074\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\020\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\200\040\000\000\000\000\000\000\000\000\000\010\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\040\000\000\000\000\000\000\000\000\000\010\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\020\000\000\200\307\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\000\000\000\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\240\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\042\377\007\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\377\003\000\000"
    ,(signed char *) "\020\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\040\000\000\000\000\000\000\000\000\000\010\377\377\003\000\034\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\040\000\000\000\000\000\000\000\000\000\010\377\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\040\000\000\000\000\000\000\000\000\000\010\377\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\040\000\000\000\000\000\000\000\000\000\010\377\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\040\000\000\000\000\000\000\000\000\000\010\377\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\022\310\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\022\300\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\020\240\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\042\377\007\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000"
    ,(signed char *) "\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000"
    ,(signed char *) "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
    ,(signed char *) "\020\200\377\177\000\000\000\000\000\000\000\376\377\377\000\000\000\000\000\000\000\020\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\200\017\000\000\000"
};
typedef int (chopb::*(DEF_FUNC_TOKEN_ARRAY [138]))() ;
DEF_FUNC_TOKEN_ARRAY chopb::_tokenFuncArray = {
    /*bidon                          */0,
    /*abstract_declarator            */0,
    /*additive_expression            */(&chopb::Lex),
    /*alloc_expression               */(&chopb::Lex),
    /*allocation_expression          */(&chopb::Lex),
    /*and_expression                 */(&chopb::Lex),
    /*arg_declarator                 */(&chopb::Lex),
    /*arg_typ_declarator             */(&chopb::Lex),
    /*arg_typ_list                   */(&chopb::Lex),
    /*asm_declaration                */(&chopb::Lex),
    /*assignment_end                 */(&chopb::Lex),
    /*assignment_expression          */(&chopb::Lex),
    /*base_specifier                 */(&chopb::Lex),
    /*base_specifier_elem            */(&chopb::Lex),
    /*bit_field_decl                 */(&chopb::Lex),
    /*cast_expression                */(&chopb::Lex),
    /*cast_expression_value          */(&chopb::Lex),
    /*catch_unit                     */(&chopb::specific),
    /*catch_unit_ansi                */(&chopb::Lex),
    /*class_declaration              */(&chopb::Lex),
    /*comment_eater                  */0,
    /*complete_class_name            */(&chopb::Lex),
    /*compound_statement             */(&chopb::Lex),
    /*conditional_expression         */(&chopb::Lex),
    /*const_or_volatile              */(&chopb::Lex),
    /*constan                        */(&chopb::Lex),
    /*ctor_initializer               */0,
    /*data_decl_exotic               */(&chopb::specific),
    /*data_decl_sc_decl              */(&chopb::Lex),
    /*data_decl_sc_ty_decl           */(&chopb::Lex),
    /*data_declaration               */0,
    /*data_declaration_for           */(&chopb::Lex),
    /*data_declaration_strict        */0,
    /*deallocation_expression        */(&chopb::Lex),
    /*declarator                     */(&chopb::Lex),
    /*declarator_follow              */0,
    /*declarator_list                */(&chopb::Lex),
    /*declarator_list_init           */(&chopb::Lex),
    /*declarator_value               */(&chopb::Lex),
    /*define_dir                     */(&chopb::Lex),
    /*directive                      */(&chopb::Lex),
    /*end_pragma                     */(&chopb::Lex),
    /*enum_val                       */(&chopb::Lex),
    /*equality_expression            */(&chopb::Lex),
    /*exception                      */(&chopb::specific),
    /*exception_ansi                 */(&chopb::Lex),
    /*exclusive_or_expression        */(&chopb::Lex),
    /*expression                     */(&chopb::Lex),
    /*expression_for                 */(&chopb::Lex),
    /*ext_all                        */0,
    /*ext_all_ext                    */0,
    /*ext_all_no_linkage             */0,
    /*ext_data_decl_sc_ty            */(&chopb::Lex),
    /*ext_data_decl_simp             */0,
    /*ext_data_declaration           */0,
    /*ext_decl_dir                   */(&chopb::Lex),
    /*ext_decl_if_dir                */(&chopb::Lex),
    /*ext_decl_ifdef_dir             */(&chopb::Lex),
    /*func_declaration               */(&chopb::Lex),
    /*func_declarator                */(&chopb::Lex),
    /*ident_mul                      */(&chopb::Lex),
    /*include_dir                    */(&chopb::Lex),
    /*inclusive_or_expression        */(&chopb::Lex),
    /*initializer                    */0,
    /*inside_declaration             */0,
    /*inside_declaration1            */(&chopb::Lex),
    /*inside_declaration2            */(&chopb::Lex),
    /*label_beg                      */(&chopb::Lex),
    /*linkage_specification          */(&chopb::Lex),
    /*logical_and_expression         */(&chopb::Lex),
    /*logical_or_expression          */(&chopb::Lex),
    /*long_short_int_char            */(&chopb::Lex),
    /*macro                          */(&chopb::specific),
    /*macro_extended                 */0,
    /*member_declarator              */(&chopb::Lex),
    /*message_map                    */(&chopb::specific),
    /*multiplicative_expression      */(&chopb::Lex),
    /*new_1                          */(&chopb::Lex),
    /*new_2                          */(&chopb::Lex),
    /*new_declarator                 */0,
    /*new_type_name                  */(&chopb::Lex),
    /*operator_function_name         */(&chopb::Lex),
    /*other_config                   */(&chopb::LexPragma),
    /*parameter_list                 */(&chopb::Lex),
    /*parameter_list_extended        */(&chopb::Lex),
    /*parametrized_class             */(&chopb::Lex),
    /*parse_entry                    */0,
    /*pm_expression                  */(&chopb::Lex),
    /*postfix_expression             */(&chopb::Lex),
    /*primary_expression             */(&chopb::Lex),
    /*program                        */0,
    /*protect_declare                */(&chopb::Lex),
    /*ptr_operator                   */(&chopb::Lex),
    /*qualified_name                 */(&chopb::Lex),
    /*qualified_name_elem            */(&chopb::Lex),
    /*quick_prog                     */0,
    /*quick_prog_elem                */0,
    /*range_in_liste                 */(&chopb::Lex),
    /*range_modifier                 */(&chopb::Lex),
    /*range_modifier_function        */(&chopb::Lex),
    /*range_modifier_ident           */0,
    /*range_pragma                   */(&chopb::LexPragma),
    /*relational_expression          */(&chopb::Lex),
    /*sc_specifier                   */0,
    /*shift_expression               */(&chopb::Lex),
    /*simple_type                    */(&chopb::Lex),
    /*simple_type_name               */(&chopb::Lex),
    /*sizeof_type                    */(&chopb::Lex),
    /*stat_all                       */0,
    /*stat_dir                       */(&chopb::Lex),
    /*stat_if_dir                    */(&chopb::Lex),
    /*stat_ifdef_dir                 */(&chopb::Lex),
    /*statement                      */(&chopb::Lex),
    /*string_list                    */(&chopb::Lex),
    /*switch_elem                    */(&chopb::Lex),
    /*switch_list                    */(&chopb::Lex),
    /*type_and_declarator            */(&chopb::Lex),
    /*type_descr                     */(&chopb::Lex),
    /*type_name                      */(&chopb::Lex),
    /*type_specifier                 */(&chopb::Lex),
    /*type_specifier_without_param   */(&chopb::Lex),
    /*typedef_and_declarator         */(&chopb::Lex),
    /*unary_expression               */(&chopb::Lex),
    /*cplus::assignment_expression   */(&chopb::Lex),
    /*cplus::cast_expression_value   */(&chopb::Lex),
    /*cplus::exclusive_or_expression */(&chopb::Lex),
    /*cplus::expression              */(&chopb::Lex),
    /*cplus::multiplicative_expressio*/(&chopb::Lex),
    /*cplus::postfix_expression      */(&chopb::Lex),
    /*cplus::primary_expression      */(&chopb::Lex),
    /*cplus::relational_expression   */(&chopb::Lex),
    /*cplus::shift_expression        */(&chopb::Lex),
    /*cplus::statement               */(&chopb::Lex),
    /*old                            */0,
    /*prog                           */(&chopb::Lex),
    /*take_follow                    */(&chopb::Lex),
    /*take_follow_list               */0,
    /*take_follow_super              */(&chopb::Lex)
};
int chopb::_tokenNbFuncArray [138] = {
    /*bidon                          */0,
    /*abstract_declarator            */0,
    /*additive_expression            */1,
    /*alloc_expression               */1,
    /*allocation_expression          */1,
    /*and_expression                 */1,
    /*arg_declarator                 */1,
    /*arg_typ_declarator             */1,
    /*arg_typ_list                   */1,
    /*asm_declaration                */1,
    /*assignment_end                 */1,
    /*assignment_expression          */1,
    /*base_specifier                 */1,
    /*base_specifier_elem            */1,
    /*bit_field_decl                 */1,
    /*cast_expression                */1,
    /*cast_expression_value          */1,
    /*catch_unit                     */13,
    /*catch_unit_ansi                */1,
    /*class_declaration              */1,
    /*comment_eater                  */0,
    /*complete_class_name            */1,
    /*compound_statement             */1,
    /*conditional_expression         */1,
    /*const_or_volatile              */1,
    /*constan                        */1,
    /*ctor_initializer               */0,
    /*data_decl_exotic               */13,
    /*data_decl_sc_decl              */1,
    /*data_decl_sc_ty_decl           */1,
    /*data_declaration               */0,
    /*data_declaration_for           */1,
    /*data_declaration_strict        */0,
    /*deallocation_expression        */1,
    /*declarator                     */1,
    /*declarator_follow              */0,
    /*declarator_list                */1,
    /*declarator_list_init           */1,
    /*declarator_value               */1,
    /*define_dir                     */1,
    /*directive                      */1,
    /*end_pragma                     */1,
    /*enum_val                       */1,
    /*equality_expression            */1,
    /*exception                      */13,
    /*exception_ansi                 */1,
    /*exclusive_or_expression        */1,
    /*expression                     */1,
    /*expression_for                 */1,
    /*ext_all                        */0,
    /*ext_all_ext                    */0,
    /*ext_all_no_linkage             */0,
    /*ext_data_decl_sc_ty            */1,
    /*ext_data_decl_simp             */0,
    /*ext_data_declaration           */0,
    /*ext_decl_dir                   */1,
    /*ext_decl_if_dir                */1,
    /*ext_decl_ifdef_dir             */1,
    /*func_declaration               */1,
    /*func_declarator                */1,
    /*ident_mul                      */1,
    /*include_dir                    */1,
    /*inclusive_or_expression        */1,
    /*initializer                    */0,
    /*inside_declaration             */0,
    /*inside_declaration1            */1,
    /*inside_declaration2            */1,
    /*label_beg                      */1,
    /*linkage_specification          */1,
    /*logical_and_expression         */1,
    /*logical_or_expression          */1,
    /*long_short_int_char            */1,
    /*macro                          */13,
    /*macro_extended                 */0,
    /*member_declarator              */1,
    /*message_map                    */13,
    /*multiplicative_expression      */1,
    /*new_1                          */1,
    /*new_2                          */1,
    /*new_declarator                 */0,
    /*new_type_name                  */1,
    /*operator_function_name         */1,
    /*other_config                   */8,
    /*parameter_list                 */1,
    /*parameter_list_extended        */1,
    /*parametrized_class             */1,
    /*parse_entry                    */0,
    /*pm_expression                  */1,
    /*postfix_expression             */1,
    /*primary_expression             */1,
    /*program                        */0,
    /*protect_declare                */1,
    /*ptr_operator                   */1,
    /*qualified_name                 */1,
    /*qualified_name_elem            */1,
    /*quick_prog                     */0,
    /*quick_prog_elem                */0,
    /*range_in_liste                 */1,
    /*range_modifier                 */1,
    /*range_modifier_function        */1,
    /*range_modifier_ident           */0,
    /*range_pragma                   */8,
    /*relational_expression          */1,
    /*sc_specifier                   */0,
    /*shift_expression               */1,
    /*simple_type                    */1,
    /*simple_type_name               */1,
    /*sizeof_type                    */1,
    /*stat_all                       */0,
    /*stat_dir                       */1,
    /*stat_if_dir                    */1,
    /*stat_ifdef_dir                 */1,
    /*statement                      */1,
    /*string_list                    */1,
    /*switch_elem                    */1,
    /*switch_list                    */1,
    /*type_and_declarator            */1,
    /*type_descr                     */1,
    /*type_name                      */1,
    /*type_specifier                 */1,
    /*type_specifier_without_param   */1,
    /*typedef_and_declarator         */1,
    /*unary_expression               */1,
    /*cplus::assignment_expression   */1,
    /*cplus::cast_expression_value   */1,
    /*cplus::exclusive_or_expression */1,
    /*cplus::expression              */1,
    /*cplus::multiplicative_expressio*/1,
    /*cplus::postfix_expression      */1,
    /*cplus::primary_expression      */1,
    /*cplus::relational_expression   */1,
    /*cplus::shift_expression        */1,
    /*cplus::statement               */1,
    /*old                            */0,
    /*prog                           */1,
    /*take_follow                    */1,
    /*take_follow_list               */0,
    /*take_follow_super              */1
};
int _arityNode_chopb[] = {   2 , 1 , 1 , 1 , 1 , 2 , 3 , 1 , 1 , 1 , 0 , 0
                           , 1 , 1 , 1 , 1 , 1 , -1 , -1 , -1 , -1 , 1 , 1
                           , -1 , -1 , -1 , 1 , -1 , -1 , -1 , 1 , 1 , 3 , 3
                           , 3 , -1 , -1 , -1 , 2 , -1 , -1 , 3 , -1 , -1 , -1
                           , -1 , 1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1
                           , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1
                           , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1
                           , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , 2
                           , -1 , -1 , 2 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1
                           , 3 , 2 , 1 , 2 , -1 , -1 , 1 , 0 , 1 , -1 , -1
                           , -1 , -1 , -1 , -1 , -1 , -1 , -1 , 2 , -1 , -1 , 4
                           , 1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1
                           , -1 , -1 , -1 , 2 , -1 , -1 , -1 , -1 , -1 , -1 , 2
                           , -1 , 0 , 0 , 2 , 4 , 3 , 1 , 2 , 2 , 2 , -1
                           , 2 , 1 , 1 , 1 , 1 , -1 , 1 , 2 , 2 , -1 , 1
                           , 2 , 2 , 2 , 2 , 3 , 0 , -1 , 2 , 2 , 2 , 2
                           , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 1 , 2 , 2 , -1
                           , 2 , 0 , 2 , -1 , 1 , -1 , -1 , 2 , 1 , -1 , 3
                           , 2 , 1 , 1 , 1 , 2 , 1 , 3 , 3 , -1 , -1 , 2
                           , 2 , 2 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1
                           , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , -1 , -1
                           , 2 , 2 , 2 , 2 , -1 , 2 , 1 , 1 , 2 , 0 , 8
                           , -1 , 2 , 1 , 2 , 1 , -1 , 2 , -1 , 2 , 0 , 1
                           , 1 , 0 , 2 , 1 , -1 , 2 , 2 , 2 , 2 , -1 , -1
                           , -1 , -1 , -1 , -1 , -1 , 2 , 2 , 2 , 2 , 2 , 2
                           , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 , 2 , 2 , 2
                           , 0 , 0 , 1 , 1 , 1 , -1 , 1 , 2 , 1 , 1 , 1
                           , 1 , 1 , 1 , 1 , 1 , -1 , -1 , 1 , -1 , -1 , -1
                           , -1 , -1 , -1 , 1 , -1 , 1 , -1 , 1 , -1 , -1 , -1
                           , -1 , 3 , -1 , 2 , 2 , 1 , 0 , 1 , 2 , 0 , 2
                           , 1 , -1 , 0 , 0 , 0 , 1 , 1 , 1 };

    
STRINGELEM * listConst_chopb;
extern "C" {
extern PPTREE bri_parse_entry_chopb(int);
}

int chopb::init = 0 ;

void chopb::InitConst()
{
    if (!chopb::init) {
        chopb::init = 1 ;
        
        STRINGELEM * inter = listConst;
        listConst = (STRINGELEM *) 0;
        AddConstVal("chopb::NODE_LIST", 338);
        AddConstVal("chopb::NODE_TREE", 337);
        AddConstVal("chopb::SPACE", 336);
        AddConstVal("chopb::SEP_OMIT", 335);
        AddConstVal("chopb::SEP_BEFORE", 334);
        AddConstVal("chopb::SEP_AFTER", 333);
        AddConstVal("chopb::AFERAFER", 332);
        AddConstVal("chopb::ALINEA", 331);
        AddConstVal("chopb::CHOP_DEF", 330);
        AddConstVal("chopb::NIL", 329);
        AddConstVal("chopb::IN_LANG", 328);
        AddConstVal("chopb::NEXT", 327);
        AddConstVal("chopb::DEF_IDENT", 326);
        AddConstVal("chopb::BOX", 325);
        AddConstVal("chopb::EXPO", 324);
        AddConstVal("chopb::EXPO_AFF", 323);
        AddConstVal("chopb::ETOIETOIEGAL", 322);
        AddConstVal("chopb::FOREACH", 321);
        AddConstVal("chopb::INFESEPOSUPE", 320);
        AddConstVal("chopb::INFESEPBSUPE", 319);
        AddConstVal("chopb::INFESEPASUPE", 318);
        AddConstVal("chopb::AOUVAOUV", 317);
        AddConstVal("chopb::ARRO", 316);
        AddConstVal("chopb::IN", 315);
        AddConstVal("chopb::PARSE", 314);
        AddConstVal("chopb::NEXTL", 313);
        AddConstVal("chopb::VALUE", 312);
        AddConstVal("chopb::INFESUPE", 311);
        AddConstVal("chopb::NL_BEG", 310);
        AddConstVal("chopb::TAB_BEG", 309);
        AddConstVal("chopb::SPACE_BEG", 308);
        AddConstVal("chopb::MAKETREE_SUP", 307);
        AddConstVal("chopb::MAKETREE_INF", 306);
        AddConstVal("chopb::PARSE_ELEM", 305);
        AddConstVal("chopb::SIMP_ETOI", 304);
        AddConstVal("chopb::ETOI_ETOI", 303);
        AddConstVal("chopb::BDECR", 302);
        AddConstVal("chopb::BINCR", 301);
        AddConstVal("chopb::ADDR", 300);
        AddConstVal("chopb::NOT", 299);
        AddConstVal("chopb::LNEG", 298);
        AddConstVal("chopb::POS", 297);
        AddConstVal("chopb::NEG", 296);
        AddConstVal("chopb::STRING_LIST", 295);
        AddConstVal("chopb::LABEL", 294);
        AddConstVal("chopb::THROW_ANSI", 293);
        AddConstVal("chopb::ELSE", 292);
        AddConstVal("chopb::TUNSIGNED", 291);
        AddConstVal("chopb::TSIGNED", 290);
        AddConstVal("chopb::TIDENT", 289);
        AddConstVal("chopb::TFLOAT", 288);
        AddConstVal("chopb::TDOUBLE", 287);
        AddConstVal("chopb::RSHI", 286);
        AddConstVal("chopb::LSHI", 285);
        AddConstVal("chopb::LT", 284);
        AddConstVal("chopb::GT", 283);
        AddConstVal("chopb::GEQU", 282);
        AddConstVal("chopb::LEQU", 281);
        AddConstVal("chopb::PROTECT_MEMB", 280);
        AddConstVal("chopb::LANGUAGE", 279);
        AddConstVal("chopb::EXP", 278);
        AddConstVal("chopb::ADECR", 277);
        AddConstVal("chopb::AINCR", 276);
        AddConstVal("chopb::ARROW", 275);
        AddConstVal("chopb::REF", 274);
        AddConstVal("chopb::EXP_ARRAY", 273);
        AddConstVal("chopb::EXP_LIST", 272);
        AddConstVal("chopb::ARROW_MEMB", 271);
        AddConstVal("chopb::DOT_MEMB", 270);
        AddConstVal("chopb::POINETOI", 269);
        AddConstVal("chopb::TIRESUPEETOI", 268);
        AddConstVal("chopb::TIRESUPE", 267);
        AddConstVal("chopb::SUPESUPE", 266);
        AddConstVal("chopb::INFEINFE", 265);
        AddConstVal("chopb::SUPEEGAL", 264);
        AddConstVal("chopb::INFEEGAL", 263);
        AddConstVal("chopb::NEW_DECLARATOR", 262);
        AddConstVal("chopb::REM", 261);
        AddConstVal("chopb::DIV", 260);
        AddConstVal("chopb::MUL", 259);
        AddConstVal("chopb::POURC", 258);
        AddConstVal("chopb::MESSAGE_MAP", 257);
        AddConstVal("chopb::MACRO", 256);
        AddConstVal("chopb::TCHAR", 255);
        AddConstVal("chopb::TSHORT", 254);
        AddConstVal("chopb::TLONG", 253);
        AddConstVal("chopb::TINT", 252);
        AddConstVal("chopb::OR", 251);
        AddConstVal("chopb::VBARVBAR", 250);
        AddConstVal("chopb::AND", 249);
        AddConstVal("chopb::ETCOETCO", 248);
        AddConstVal("chopb::COMPOUND_EXT", 247);
        AddConstVal("chopb::EXTERNAL", 246);
        AddConstVal("chopb::INITIALIZER", 245);
        AddConstVal("chopb::LOR", 244);
        AddConstVal("chopb::VBAR", 243);
        AddConstVal("chopb::FUNC", 242);
        AddConstVal("chopb::STAT_VOID", 241);
        AddConstVal("chopb::TEMPLATE_DECL", 240);
        AddConstVal("chopb::CLASS_PARAM", 239);
        AddConstVal("chopb::EXP_SEQ", 238);
        AddConstVal("chopb::LXOR", 237);
        AddConstVal("chopb::CHAP", 236);
        AddConstVal("chopb::EXCEPTION_ANSI", 235);
        AddConstVal("chopb::EXCEPTION", 234);
        AddConstVal("chopb::NEQU", 233);
        AddConstVal("chopb::EQU", 232);
        AddConstVal("chopb::EXCLEGAL", 231);
        AddConstVal("chopb::EGALEGAL", 230);
        AddConstVal("chopb::PRAGMA", 229);
        AddConstVal("chopb::INDENT_FUNCTION_TYPE", 228);
        AddConstVal("chopb::COMMENT_PLUS", 227);
        AddConstVal("chopb::COMMENT_END", 226);
        AddConstVal("chopb::COMMENT_MIDDLE", 225);
        AddConstVal("chopb::COMMENT_START", 224);
        AddConstVal("chopb::MARGIN_VALUE", 223);
        AddConstVal("chopb::BRACE_ALIGN_VALUE", 222);
        AddConstVal("chopb::ASSIGN_ALIGN", 221);
        AddConstVal("chopb::SINGLE_SWITCH_INDENT_VALUE", 220);
        AddConstVal("chopb::SIMPLIFY_VALUE", 219);
        AddConstVal("chopb::SIMPLIFY", 218);
        AddConstVal("chopb::MODE_VALUE", 217);
        AddConstVal("chopb::TAB_VALUE", 216);
        AddConstVal("chopb::CONFIG", 215);
        AddConstVal("chopb::NO_PRETTY", 214);
        AddConstVal("chopb::ERROR", 213);
        AddConstVal("chopb::UNDEF", 212);
        AddConstVal("chopb::TYP_AFF_CALL", 211);
        AddConstVal("chopb::MEMBER_DECLARATOR", 210);
        AddConstVal("chopb::TYP_ARRAY", 209);
        AddConstVal("chopb::CFER", 208);
        AddConstVal("chopb::COUV", 207);
        AddConstVal("chopb::FOR_DECLARATION", 206);
        AddConstVal("chopb::DECLARATION", 205);
        AddConstVal("chopb::CTOR_INITIALIZER", 204);
        AddConstVal("chopb::CTOR_INIT", 203);
        AddConstVal("chopb::IUN", 202);
        AddConstVal("chopb::IUNLONG", 201);
        AddConstVal("chopb::ILONG", 200);
        AddConstVal("chopb::RANGE_MODIFIER", 199);
        AddConstVal("chopb::COND_AFF", 198);
        AddConstVal("chopb::INTE", 197);
        AddConstVal("chopb::COMPOUND", 196);
        AddConstVal("chopb::PARAM_TYPE", 195);
        AddConstVal("chopb::SUPE", 194);
        AddConstVal("chopb::INFE", 193);
        AddConstVal("chopb::CLASS_DECL", 192);
        AddConstVal("chopb::AFER", 191);
        AddConstVal("chopb::CATCH_ANSI", 190);
        AddConstVal("chopb::EXCEPT_ANSI_ALL", 189);
        AddConstVal("chopb::CAST", 188);
        AddConstVal("chopb::DPOI", 187);
        AddConstVal("chopb::TYP_BIT", 186);
        AddConstVal("chopb::PROTECT", 185);
        AddConstVal("chopb::BASE_LIST", 184);
        AddConstVal("chopb::XOR_AFF", 183);
        AddConstVal("chopb::OR_AFF", 182);
        AddConstVal("chopb::AND_AFF", 181);
        AddConstVal("chopb::RSH_AFF", 180);
        AddConstVal("chopb::LSH_AFF", 179);
        AddConstVal("chopb::MIN_AFF", 178);
        AddConstVal("chopb::PLU_AFF", 177);
        AddConstVal("chopb::REM_AFF", 176);
        AddConstVal("chopb::DIV_AFF", 175);
        AddConstVal("chopb::MUL_AFF", 174);
        AddConstVal("chopb::AFF", 173);
        AddConstVal("chopb::POINPOINPOIN", 172);
        AddConstVal("chopb::VAR_LIST", 171);
        AddConstVal("chopb::TYP_LIST", 170);
        AddConstVal("chopb::TYP_AFF", 169);
        AddConstVal("chopb::ABST_DECLARATOR", 168);
        AddConstVal("chopb::DECLARATOR", 167);
        AddConstVal("chopb::LAND", 166);
        AddConstVal("chopb::INIT_NEW", 165);
        AddConstVal("chopb::VIRG", 164);
        AddConstVal("chopb::QUALIFIED", 163);
        AddConstVal("chopb::MINUS", 162);
        AddConstVal("chopb::TYP", 161);
        AddConstVal("chopb::PFER", 160);
        AddConstVal("chopb::DESTRUCT", 159);
        AddConstVal("chopb::TYP_REF", 158);
        AddConstVal("chopb::TYP_ADDR", 157);
        AddConstVal("chopb::DEFAULT", 156);
        AddConstVal("chopb::CASE", 155);
        AddConstVal("chopb::THROW", 154);
        AddConstVal("chopb::FORALLSONS", 153);
        AddConstVal("chopb::WHILE", 152);
        AddConstVal("chopb::SWITCH", 151);
        AddConstVal("chopb::RETURN", 150);
        AddConstVal("chopb::IF", 149);
        AddConstVal("chopb::FOR", 148);
        AddConstVal("chopb::DO", 147);
        AddConstVal("chopb::CONTINUE", 146);
        AddConstVal("chopb::BREAK", 145);
        AddConstVal("chopb::PVIR", 144);
        AddConstVal("chopb::TYPEDEF", 143);
        AddConstVal("chopb::TEMPLATE", 142);
        AddConstVal("chopb::TRY", 141);
        AddConstVal("chopb::EXTERN", 140);
        AddConstVal("chopb::STATIC", 139);
        AddConstVal("chopb::AUTO", 138);
        AddConstVal("chopb::AOUV", 137);
        AddConstVal("chopb::CATCH", 136);
        AddConstVal("chopb::PUBLIC", 135);
        AddConstVal("chopb::PROTECTED", 134);
        AddConstVal("chopb::PRIVATE", 133);
        AddConstVal("chopb::CHAPEGAL", 132);
        AddConstVal("chopb::VBAREGAL", 131);
        AddConstVal("chopb::ETCOEGAL", 130);
        AddConstVal("chopb::SUPESUPEEGAL", 129);
        AddConstVal("chopb::INFEINFEEGAL", 128);
        AddConstVal("chopb::TIREEGAL", 127);
        AddConstVal("chopb::PLUSEGAL", 126);
        AddConstVal("chopb::POURCEGAL", 125);
        AddConstVal("chopb::ETOIEGAL", 124);
        AddConstVal("chopb::EGAL", 123);
        AddConstVal("chopb::ASM", 122);
        AddConstVal("chopb::CLASS", 121);
        AddConstVal("chopb::UNION", 120);
        AddConstVal("chopb::STRUCT", 119);
        AddConstVal("chopb::ENUM", 118);
        AddConstVal("chopb::CONST", 117);
        AddConstVal("chopb::FRIEND", 116);
        AddConstVal("chopb::VIRTUAL", 115);
        AddConstVal("chopb::INLINE", 114);
        AddConstVal("chopb::REGISTER", 113);
        AddConstVal("chopb::VOLATILE", 112);
        AddConstVal("chopb::SHORT", 111);
        AddConstVal("chopb::UNSIGNED", 110);
        AddConstVal("chopb::SIGNED", 109);
        AddConstVal("chopb::LONG", 108);
        AddConstVal("chopb::VOID", 107);
        AddConstVal("chopb::CHAR", 106);
        AddConstVal("chopb::INT", 105);
        AddConstVal("chopb::DOUBLE", 104);
        AddConstVal("chopb::VA_ARG", 103);
        AddConstVal("chopb::OPERATOR", 102);
        AddConstVal("chopb::DELETE", 101);
        AddConstVal("chopb::NEW", 100);
        AddConstVal("chopb::DPOIDPOI", 99);
        AddConstVal("chopb::SIZEOF", 98);
        AddConstVal("chopb::TIRETIRE", 97);
        AddConstVal("chopb::PLUSPLUS", 96);
        AddConstVal("chopb::ETCO", 95);
        AddConstVal("chopb::ETOI", 94);
        AddConstVal("chopb::EXCL", 93);
        AddConstVal("chopb::TILD", 92);
        AddConstVal("chopb::PLUS", 91);
        AddConstVal("chopb::TIRE", 90);
        AddConstVal("chopb::POUV", 89);
        AddConstVal("chopb::FUNC_SPEC", 88);
        AddConstVal("chopb::TRY_UPPER", 87);
        AddConstVal("chopb::END_CATCH", 86);
        AddConstVal("chopb::END_CATCH_ALL", 85);
        AddConstVal("chopb::AND_CATCH", 84);
        AddConstVal("chopb::CATCH_UPPER", 83);
        AddConstVal("chopb::CATCH_ALL", 82);
        AddConstVal("chopb::END_MESSAGE_MAP", 81);
        AddConstVal("chopb::BEGIN_MESSAGE_MAP", 80);
        AddConstVal("chopb::DECLARE_MESSAGE_MAP", 79);
        AddConstVal("chopb::IMPLEMENT_SERIAL", 78);
        AddConstVal("chopb::IMPLEMENT_DYNCREATE", 77);
        AddConstVal("chopb::IMPLEMENT_DYNAMIC", 76);
        AddConstVal("chopb::DECLARE_SERIAL", 75);
        AddConstVal("chopb::DECLARE_DYNAMIC", 74);
        AddConstVal("chopb::PUSH_FUNCTION", 73);
        AddConstVal("chopb::PUSH_ARGUMENT", 72);
        AddConstVal("chopb::UNDEF_CONTENT", 71);
        AddConstVal("chopb::SMALL_PRAGMA_CONTENT", 70);
        AddConstVal("chopb::PRAGMA_CONTENT", 69);
        AddConstVal("chopb::PRAGMA_INDENT_FUNCTION_TYPE", 68);
        AddConstVal("chopb::PRAGMA_COMMENT_PLUS", 67);
        AddConstVal("chopb::PRAGMA_COMMENT_END", 66);
        AddConstVal("chopb::PRAGMA_COMMENT_MIDDLE", 65);
        AddConstVal("chopb::PRAGMA_COMMENT_START", 64);
        AddConstVal("chopb::PRAGMA_MARGIN", 63);
        AddConstVal("chopb::PRAGMA_ASSIGN_ALIGN", 62);
        AddConstVal("chopb::PRAGMA_SINGLE_SWITCH_INDENT", 61);
        AddConstVal("chopb::PRAGMA_SIMPLIFY", 60);
        AddConstVal("chopb::PRAGMA_BRACE_ALIGN", 59);
        AddConstVal("chopb::PRAGMA_MODE", 58);
        AddConstVal("chopb::PRAGMA_RANGE", 57);
        AddConstVal("chopb::PRAGMA_TAB", 56);
        AddConstVal("chopb::PRAGMA_CONFIG", 55);
        AddConstVal("chopb::PRAGMA_NOPRETTY", 54);
        AddConstVal("chopb::PRAGMA_PRETTY", 53);
        AddConstVal("chopb::INCLUDE_LOCAL", 52);
        AddConstVal("chopb::INCLUDE_SYS", 51);
        AddConstVal("chopb::END_LINE", 50);
        AddConstVal("chopb::DEFINE_NAME", 49);
        AddConstVal("chopb::DEFINED_NOT_CONTINUED", 48);
        AddConstVal("chopb::DEFINED_CONTINUED", 47);
        AddConstVal("chopb::POINT", 46);
        AddConstVal("chopb::SLAS", 45);
        AddConstVal("chopb::SLASEGAL", 44);
        AddConstVal("chopb::CARRIAGE_RETURN", 43);
        AddConstVal("chopb::UNDEF_DIR", 42);
        AddConstVal("chopb::DEFINE_DIR", 41);
        AddConstVal("chopb::ERROR_DIR", 40);
        AddConstVal("chopb::PRAGMA_DIR", 39);
        AddConstVal("chopb::LINE_DIR", 38);
        AddConstVal("chopb::ENDIF_DIR", 37);
        AddConstVal("chopb::ELIF_DIR", 36);
        AddConstVal("chopb::ELSE_DIR", 35);
        AddConstVal("chopb::IF_DIR", 34);
        AddConstVal("chopb::IFNDEF_DIR", 33);
        AddConstVal("chopb::IFDEF_DIR", 32);
        AddConstVal("chopb::INCLUDE_DIR", 31);
        AddConstVal("chopb::OCTAL", 30);
        AddConstVal("chopb::UOCTAL", 29);
        AddConstVal("chopb::LOCTAL", 28);
        AddConstVal("chopb::ULOCTAL", 27);
        AddConstVal("chopb::HEXA", 26);
        AddConstVal("chopb::UHEXA", 25);
        AddConstVal("chopb::LHEXA", 24);
        AddConstVal("chopb::ULHEXA", 23);
        AddConstVal("chopb::INTEGER", 22);
        AddConstVal("chopb::FLOAT", 21);
        AddConstVal("chopb::UINTEGER", 20);
        AddConstVal("chopb::LINTEGER", 19);
        AddConstVal("chopb::ULINTEGER", 18);
        AddConstVal("chopb::CHARACT", 17);
        AddConstVal("chopb::STRING", 16);
        AddConstVal("chopb::IDENT", 15);
        AddConstVal("chopb::GOTO_REL", 14);
        AddConstVal("chopb::GOTO", 13);
        AddConstVal("chopb::STR", 12);
        AddConstVal("chopb::UNMARK", 11);
        AddConstVal("chopb::MARK", 10);
        AddConstVal("chopb::TAB_VIRT", 9);
        AddConstVal("chopb::TAB", 8);
        AddConstVal("chopb::NEWLINE", 7);
        AddConstVal("chopb::ATTRIBUTS", 6);
        AddConstVal("IN_LANGUAGE", 5);
        AddConstVal("META", 4);
        AddConstVal("PREPOST", 3);
        AddConstVal("POST", 2);
        AddConstVal("PRE", 1);
        AddConstVal("LIST",0);
        listConst_chopb = listConst;
        listConst = inter;
        AddLang("chopb",_arityNode_chopb,listConst_chopb,bri_parse_entry_chopb,338,(OVER_LANG *) 0);
        }
}

/*Well done my boy */ 
