/*******************************************************************************
* GenBoap.h Generate output
* T.Barnaby, BEAM Ltd, 2/5/03
*******************************************************************************
*/
#ifndef GENBOAP_HH
#define GENBOAP_HH
#include <Gen.h>
class GenBoap : public Gen {
public:
GenBoap();
~GenBoap();
BError produce(Node* n, BString fileName);
private:
BError produceHeaderIntC();
BError produceHeaderIntS();
BError produceTrailerInt();
BError produceHeaderImpC();
BError produceHeaderImpS();
BError produceHeaderIntT();
BError produceHeaderImpT();
void produceIntC(Node* n);
void produceIntS(Node* n);
void produceImpC(Node* n);
void produceImpS(Node* n);
void produceIntT(Node* n);
void produceImpT(Node* n);
void pushPopVar(FileIndent& file, int push, BString func, Node* type, BString name);
void produceFuncC(Node* n);
void produceFuncAdd(Node* n);
void produceFuncS(Node* n);
BString getTypeSwapList(Node* n);