text: #ifndef GENERATOR_H
  #define GENERATOR_H
  #include "obxc.h"
  
  #include "stdlib_ascii.h"
  #include "stdlib_bufio.h"
  #include "stdlib_convert.h"
  #include "stdlib_file.h"
  #include "scanner.h"
  #include "stdlib_string.h"
  #include "symbols.h"
  #include "syntax.h"
  #include "stdlib_textio.h"
  
  
  typedef struct generator_PrimitiveDesc_s*generator_Primitive_;
  
  typedef struct generator_PrimitiveDesc_s{
  generator_Primitive_ next_;
  } generator_PrimitiveDesc_;
  
  extern OBXC_INTEGER generator_PrimitiveDesc_tid;
  extern OBXC_INTEGER*generator_PrimitiveDesc_tname[];
  
  typedef struct{
  OBXC_INTEGER**tname;
  generator_PrimitiveDesc_ fields;
  }generator_PrimitiveDesc_heap;
  
  typedef struct generator_ArgumentDesc_s{
  generator_Primitive_ next_;
  syntax_Variable_ parameter_;
  syntax_Expression_ expression_;
  } generator_ArgumentDesc_;
  
  extern OBXC_INTEGER generator_ArgumentDesc_tid;
  extern OBXC_INTEGER*generator_ArgumentDesc_tname[];
  
  typedef struct{
  OBXC_INTEGER**tname;
  generator_ArgumentDesc_ fields;
  }generator_ArgumentDesc_heap;
  
  typedef struct generator_ArgumentDesc_s*generator_Argument_;
  
  typedef struct generator_AssignmentDesc_s{
  generator_Primitive_ next_;
  syntax_Designator_ lhs_;
  syntax_Expression_ rhs_;
  } generator_AssignmentDesc_;
  
  extern OBXC_INTEGER generator_AssignmentDesc_tid;
  extern OBXC_INTEGER*generator_AssignmentDesc_tname[];
  
  typedef struct{
  OBXC_INTEGER**tname;
  generator_AssignmentDesc_ fields;
  }generator_AssignmentDesc_heap;
  
  typedef struct generator_AssignmentDesc_s*generator_Assignment_;
  
  typedef struct generator_LabelDesc_s{
  generator_Primitive_ next_;
  symbols_Symbol_ symbol_;
  } generator_LabelDesc_;
  
  extern OBXC_INTEGER generator_LabelDesc_tid;
  extern OBXC_INTEGER*generator_LabelDesc_tname[];
  
  typedef struct{
  OBXC_INTEGER**tname;
  generator_LabelDesc_ fields;
  }generator_LabelDesc_heap;
  
  typedef struct generator_LabelDesc_s*generator_Label_;
  
  typedef struct generator_BranchDesc_s{
  generator_Primitive_ next_;
  syntax_Expression_ test_;
  symbols_Symbol_ target_;
  } generator_BranchDesc_;
  
  extern OBXC_INTEGER generator_BranchDesc_tid;
  extern OBXC_INTEGER*generator_BranchDesc_tname[];
  
  typedef struct{
  OBXC_INTEGER**tname;
  generator_BranchDesc_ fields;
  }generator_BranchDesc_heap;
  
  typedef struct generator_BranchDesc_s*generator_Branch_;
  
  typedef struct generator_DefinitionDesc_s{
  generator_Primitive_ next_;
  syntax_Variable_ variable_;
  } generator_DefinitionDesc_;
  
  extern OBXC_INTEGER generator_DefinitionDesc_tid;
  extern OBXC_INTEGER*generator_DefinitionDesc_tname[];
  
  typedef struct{
  OBXC_INTEGER**tname;
  generator_DefinitionDesc_ fields;
  }generator_DefinitionDesc_heap;
  
  typedef struct generator_DefinitionDesc_s*generator_Definition_;
  
  typedef struct generator_EvaluationDesc_s{
  generator_Primitive_ next_;
  } generator_EvaluationDesc_;
  
  extern OBXC_INTEGER generator_EvaluationDesc_tid;
  extern OBXC_INTEGER*generator_EvaluationDesc_tname[];
  
  typedef struct{
  OBXC_INTEGER**tname;
  generator_EvaluationDesc_ fields;
  }generator_EvaluationDesc_heap;
  
  typedef struct generator_EvaluationDesc_s*generator_Evaluation_;
  
  typedef struct generator_JumpDesc_s{
  generator_Primitive_ next_;
  symbols_Symbol_ target_;
  } generator_JumpDesc_;
  
  extern OBXC_INTEGER generator_JumpDesc_tid;
  extern OBXC_INTEGER*generator_JumpDesc_tname[];
  
  typedef struct{
  OBXC_INTEGER**tname;
  generator_JumpDesc_ fields;
  }generator_JumpDesc_heap;
  
  typedef struct generator_JumpDesc_s*generator_Jump_;
  
  typedef struct generator_ProcedureCallDesc_s{
  generator_Primitive_ next_;
  syntax_Designator_ designator_;
  } generator_ProcedureCallDesc_;
  
  extern OBXC_INTEGER generator_ProcedureCallDesc_tid;
  extern OBXC_INTEGER*generator_ProcedureCallDesc_tname[];
  
  typedef struct{
  OBXC_INTEGER**tname;
  generator_ProcedureCallDesc_ fields;
  }generator_ProcedureCallDesc_heap;
  
  typedef struct generator_ProcedureCallDesc_s*generator_ProcedureCall_;
  
  typedef struct generator_RawDesc_s{
  generator_Primitive_ next_;
  stdlib_string_t_ text_;
  } generator_RawDesc_;
  
  extern OBXC_INTEGER generator_RawDesc_tid;
  extern OBXC_INTEGER*generator_RawDesc_tname[];
  
  typedef struct{
  OBXC_INTEGER**tname;
  generator_RawDesc_ fields;
  }generator_RawDesc_heap;
  
  typedef struct generator_RawDesc_s*generator_Raw_;
  
  typedef struct generator_StandardProcedureCallDesc_s{
  generator_Primitive_ next_;
  syntax_StandardProcedureCall_ proc_;
  } generator_StandardProcedureCallDesc_;
  
  extern OBXC_INTEGER generator_StandardProcedureCallDesc_tid;
  extern OBXC_INTEGER*generator_StandardProcedureCallDesc_tname[];
  
  typedef struct{
  OBXC_INTEGER**tname;
  generator_StandardProcedureCallDesc_ fields;
  }generator_StandardProcedureCallDesc_heap;
  
  typedef struct generator_StandardProcedureCallDesc_s*generator_StandardProcedureCall_;
  
  void
  generator_Generate_(syntax_Module_ module_);
  void
  generator__init__();
  #endif
  