#ifndef ABSYN_HEADER #define ABSYN_HEADER /* C++ Abstract Syntax Interface generated by the BNF Converter.*/ /******************** TypeDef Section ********************/ typedef int Integer; typedef char Char; typedef double Double; typedef char* String; typedef char* Ident; /******************** Forward Declarations ********************/ struct Exp_; typedef struct Exp_ *Exp; /******************** Abstract Syntax Classes ********************/ struct Exp_ { enum { is_EAdd, is_ESub, is_EMul, is_EDiv, is_EInt } kind; union { struct { Exp exp_1, exp_2; } eadd_; struct { Exp exp_1, exp_2; } esub_; struct { Exp exp_1, exp_2; } emul_; struct { Exp exp_1, exp_2; } ediv_; struct { Integer integer_; } eint_; } u; }; Exp make_EAdd(Exp p0, Exp p1); Exp make_ESub(Exp p0, Exp p1); Exp make_EMul(Exp p0, Exp p1); Exp make_EDiv(Exp p0, Exp p1); Exp make_EInt(Integer p0); #endif