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

extern "C" {
    extern PPTREE   (*the_parse_entry_pt)(int) ;
    PPTREE  parse_cplus (int) ;
    void    ReadIncludeS (char *, int) ;
}

#line 38 "kern.ch"
#line 38 "kern.ch"
main ( int argc, char **argv )
#line 38 "kern.ch"
{
#line 38 "kern.ch"
#line 40 "kern.ch"
    PTREE   tree ;
#line 40 "kern.ch"
#line 40 "kern.ch"
#line 41 "kern.ch"
    char    name [50];
#line 41 "kern.ch"
#line 42 "kern.ch"
    char    *ptName ;
#line 42 "kern.ch"
#line 43 "kern.ch"
    DecompCplus decomp ;
#line 43 "kern.ch"
#line 45 "kern.ch"
    dumpCoord = 0 ;
#line 45 "kern.ch"
#line 46 "kern.ch"
    DecompCplus::ptDecomp = &decomp ;
#line 46 "kern.ch"
#line 47 "kern.ch"
    MetaInit();
#line 47 "kern.ch"
#line 48 "kern.ch"
    SwitchLang("cplus");
#line 48 "kern.ch"
#line 49 "kern.ch"
    ReadIncludeS("c.set", 1);
#line 49 "kern.ch"
#line 50 "kern.ch"
    if ( argc < 2 ) {
#line 50 "kern.ch"
#line 51 "kern.ch"
                        sprintf(name, "Bad name for your source file \n");
#line 51 "kern.ch"
#line 52 "kern.ch"
                        write(2, name, strlen(name));
#line 52 "kern.ch"
#line 53 "kern.ch"
                        exit(0);
#line 53 "kern.ch"
#line 53 "kern.ch"
                      } else 
#line 54 "kern.ch"
    {
#line 54 "kern.ch"
#line 55 "kern.ch"
        ptName = *(argv + 1);
#line 55 "kern.ch"
#line 56 "kern.ch"
        input = open(ptName, O_RDONLY | O_BINARY);
#line 56 "kern.ch"
#line 56 "kern.ch"
    }
#line 56 "kern.ch"
#line 58 "kern.ch"
    the_parse_entry_pt = parse_cplus ;
#line 58 "kern.ch"
#line 59 "kern.ch"
    (tree=ReadInFile(0));
#line 59 "kern.ch"
#line 59 "kern.ch"
#line 60 "kern.ch"
    AddRef(tree);
#line 60 "kern.ch"
#line 61 "kern.ch"
    SwitchLang("cplus");
#line 61 "kern.ch"
#line 62 "kern.ch"
    decomp.ChopTree(tree);
#line 62 "kern.ch"
#line 63 "kern.ch"
    MetaEnd();
#line 63 "kern.ch"
#line 64 "kern.ch"
    if ( !firstError ) 
#line 64 "kern.ch"
#line 65 "kern.ch"
        return 1 ;
#line 65 "kern.ch"
    else 
#line 65 "kern.ch"
#line 67 "kern.ch"
        return 0 ;
#line 67 "kern.ch"
#line 67 "kern.ch"
#line 68 "kern.ch"
}
#line 68 "kern.ch"
/*Well done my boy */ 
#line 68 "kern.ch"

