
#line 5 "chopper.ch"
/*************************************************************************/
#line 5 "chopper.ch"
/*                                                                       */
#line 5 "chopper.ch"
/*        Produced by Metachop version 2.0  -    1989-1995               */
#line 5 "chopper.ch"
/*     Tree      Meta     Chopper      developped    by                  */
#line 5 "chopper.ch"
/*                  Eric Lavillonniere                                   */
#line 5 "chopper.ch"
/*                                                                       */
#line 5 "chopper.ch"
/*************************************************************************/
#line 5 "chopper.ch"
#line 5 "chopper.ch"
#include "token.h"
#line 5 "chopper.ch"
extern int _retVal[50];
#line 5 "chopper.ch"
extern PPTREE _storeVal[50],_nextVal;
#line 5 "chopper.ch"
extern PPTREE stackTree[1024];
#line 5 "chopper.ch"
extern int ptStackTree;
#line 5 "chopper.ch"
#define decomp decomp_config
#line 5 "chopper.ch"
#line 5 "chopper.ch"
#ifndef for_elem
#line 5 "chopper.ch"
#line 5 "chopper.ch"
#define for_elem _for_elem
#line 5 "chopper.ch"
#endif
#ifdef INCONNU
#line 5 "chopper.ch"
#line 5 "chopper.ch"
PTREE   for_elem ;
#line 5 "chopper.ch"
#line 5 "chopper.ch"
#endif
#include <stdio.h>
#include "token.h"
#include <sys/types.h>
#include <unistd.h>

#if !defined(SUN) || defined(LINUX)
#line 5 "chopper.ch"
#line 14 "chopper.ch"
#include <stdlib.h>
#line 14 "chopper.ch"
#endif

RIEN    DEBUT_EXT_CPLUS ;

#include "config.h"

RIEN    FIN_EXT_CPLUS ;

#include <fcntl.h>

config  *configParser ;
void    ChopTree (PTREE) ;
void    decomp () ;

extern "C" {
#line 31 "chopper.ch"
#line 31 "chopper.ch"
    PPTREE bri_parse_entry_config ( int error_free )
#line 31 "chopper.ch"
    {
#line 31 "chopper.ch"
#line 34 "chopper.ch"
        return configParser -> langage(error_free);
#line 34 "chopper.ch"
#line 35 "chopper.ch"
    }
}

void    MetaInit () ;
void    MetaEnd () ;
extern PPTREE   (*the_parse_entry_pt)(int) ;
PTREE   ReadInFile () ;
#line 35 "chopper.ch"
extern int  firstError ;
extern char *includeEnv ;
char    *theLanguage = (char *)0 ;

#line 46 "chopper.ch"
#line 46 "chopper.ch"
main ( int argc, char **argv )
#line 46 "chopper.ch"
{
#line 46 "chopper.ch"
#line 50 "chopper.ch"
    PTREE   tree ;
#line 50 "chopper.ch"
#line 50 "chopper.ch"
#line 51 "chopper.ch"
    char    name [50];
#line 51 "chopper.ch"
#line 52 "chopper.ch"
    char    *ptName ;
#line 52 "chopper.ch"
#line 54 "chopper.ch"
    MetaInit();
#line 54 "chopper.ch"
#line 55 "chopper.ch"
    includeEnv = getenv("INCLUDE");
#line 55 "chopper.ch"
#line 56 "chopper.ch"
    configParser = new config ;
#line 56 "chopper.ch"
#line 57 "chopper.ch"
    SwitchLang("config");
#line 57 "chopper.ch"
#line 58 "chopper.ch"
    if ( argc < 2 ) {
#line 58 "chopper.ch"
#line 59 "chopper.ch"
                        sprintf(name, "Bad name for your source file \n");
#line 59 "chopper.ch"
#line 60 "chopper.ch"
                        write(2, name, strlen(name));
#line 60 "chopper.ch"
#line 61 "chopper.ch"
                        exit(0);
#line 61 "chopper.ch"
#line 61 "chopper.ch"
                      } else 
#line 62 "chopper.ch"
    {
#line 62 "chopper.ch"
#line 63 "chopper.ch"
        ptName = *(argv + 1);
#line 63 "chopper.ch"
#line 64 "chopper.ch"
        input = open(ptName, O_RDONLY | O_BINARY);
#line 64 "chopper.ch"
#line 64 "chopper.ch"
    }
#line 64 "chopper.ch"
#line 66 "chopper.ch"
    theLanguage = *(argv + 2);
#line 66 "chopper.ch"
#line 67 "chopper.ch"
    the_parse_entry_pt = bri_parse_entry_config ;
#line 67 "chopper.ch"
#line 68 "chopper.ch"
    (tree=ReadInFile(0));
#line 68 "chopper.ch"
#line 68 "chopper.ch"
#line 69 "chopper.ch"
    AddRef(tree);
#line 69 "chopper.ch"
#line 70 "chopper.ch"
    ChopTree(tree);
#line 70 "chopper.ch"
#line 71 "chopper.ch"
    MetaEnd();
#line 71 "chopper.ch"
#line 72 "chopper.ch"
    if ( !firstError ) 
#line 72 "chopper.ch"
#line 73 "chopper.ch"
        return 1 ;
#line 73 "chopper.ch"
    else 
#line 73 "chopper.ch"
#line 75 "chopper.ch"
        return 0 ;
#line 75 "chopper.ch"
#line 75 "chopper.ch"
#line 76 "chopper.ch"
}
#line 76 "chopper.ch"

#line 86 "chopper.ch"
#line 86 "chopper.ch"
void ChopTree ( PTREE tree ) {
#line 89 "chopper.ch"
                            }
#line 89 "chopper.ch"

#line 93 "chopper.ch"
#line 93 "chopper.ch"
void SqueezeMeta ( PTREE tree ) {
#line 96 "chopper.ch"
                               }
#line 96 "chopper.ch"

#line 98 "chopper.ch"
#line 98 "chopper.ch"
void PullComment ( PTREE tree ) {
#line 100 "chopper.ch"
                               }
#line 100 "chopper.ch"
/*Well done my boy */ 
#line 100 "chopper.ch"

