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

#include "token.h"
#include "bidon.h"



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

#line 10 "riri.met"
int bidon::SortKeyWord (int defaultValue)
#line 10 "riri.met"
{
#line 10 "riri.met"
    register int Value;
#line 10 "riri.met"
    return(defaultValue);
#line 10 "riri.met"
    return(defaultValue);
#line 10 "riri.met"
}
#line 10 "riri.met"

#line 10 "riri.met"
int bidon::UpSortKeyWord(int value) 
#line 10 "riri.met"
{
#line 10 "riri.met"
    register char * ptSource=lexEl.string;
#line 10 "riri.met"
    for (;*ptSource;ptSource++) *ptSource = toupper(*ptSource);
#line 10 "riri.met"
    PUT_COORD_CALL;
#line 10 "riri.met"
    aha =  _oldaha;
#line 10 "riri.met"
    return SortKeyWord (value);
#line 10 "riri.met"
}
#line 10 "riri.met"
#line 3 "riri.met"
int bidon::Lex ()
#line 3 "riri.met"
{
#line 3 "riri.met"
    if ( tokenAhead)
#line 3 "riri.met"
        ExtUnputBuf();
#line 3 "riri.met"
    #ifdef DUMP_COORD
#line 3 "riri.met"
    if(!lexCallLex && dumpCoord) store_pos_as_comment(line,col,0);
#line 3 "riri.met"
    #endif
#line 3 "riri.met"
    
#line 3 "riri.met"
    char * _ptString ;
#line 3 "riri.met"
    int _nbCharact ;
#line 3 "riri.met"
    int _bidon = (oldLine = line,oldCol = col );
#line 3 "riri.met"
    int _bidon1 = (oldLineEntry = line, oldColEntry = col );
#line 3 "riri.met"
#line 4 "riri.met"
    {
#line 4 "riri.met"
        *_ptString = '\0' ;
#line 4 "riri.met"
        firstOnLine = 0 ; 
#line 4 "riri.met"
        tokenAhead =1;
#line 4 "riri.met"
        lexEl.Value=BIDON;
#line 4 "riri.met"
        PUT_COORD_CALL;
#line 4 "riri.met"
        return(1);
#line 4 "riri.met"
    }
#line 4 "riri.met"
#line 5 "riri.met"
    line = oldLine;
#line 5 "riri.met"
    LEX_EXIT(0,"")
#line 5 "riri.met"
    lexEl.Value = -1 ;
#line 5 "riri.met"
    return -1 ; 
#line 5 "riri.met"
}
#line 5 "riri.met"

#line 5 "riri.met"
/* 
-- 0 -- toto
    BIDON
*/

signed char *bidon::_tokenArray [1] = {
    (signed char *) "\100"
};
typedef int (bidon::*(DEF_FUNC_TOKEN_ARRAY [1]))() ;
DEF_FUNC_TOKEN_ARRAY bidon::_tokenFuncArray = {
    /*toto                           */(&bidon::Lex)
};
int bidon::_tokenNbFuncArray [1] = {
    /*toto                           */1
};
int _arityNode_bidon[] = {   2 , 1 , 1 , 1 , 1 , 2 };

    
STRINGELEM * listConst_bidon;
extern "C" {
extern PPTREE bri_parse_entry_bidon(int);
}

int bidon::init = 0 ;

void bidon::InitConst()
{
    if (!bidon::init) {
        bidon::init = 1 ;
        
        STRINGELEM * inter = listConst;
        listConst = (STRINGELEM *) 0;
        AddConstVal("bidon::BIDON", 6);
        AddConstVal("IN_LANGUAGE", 5);
        AddConstVal("META", 4);
        AddConstVal("PREPOST", 3);
        AddConstVal("POST", 2);
        AddConstVal("PRE", 1);
        AddConstVal("LIST",0);
        listConst_bidon = listConst;
        listConst = inter;
        AddLang("bidon",_arityNode_bidon,listConst_bidon,bri_parse_entry_bidon,5,(OVER_LANG *) 0);
        }
}

/*Well done my boy */ 
