#ifndef FALSE
#define TRUE (0==0)
#define FALSE (0!=0)
#endif

extern int PARM_C_STRINGS;
extern int PARM_IMP_SOURCE_LINENOS;
extern int want_extra_info;
extern int debug_input;

extern int no_perms;
extern int suppress_perms;
extern int suppress_icode;

extern FILE *icode_file;
extern FILE *output_file;
extern FILE *source_file;

#include <printf.h>  // register_printf_specifier to add %N (node) to printf's as in AST tuples and codegen().

enum BLOCKTYPE {
  BLOCKTYPE_NO_BLOCK = 0,
  BLOCKTYPE_BEGIN_ENDOFPROGRAM = 1,
  BLOCKTYPE_BEGIN_END = 2,
  BLOCKTYPE_ROUTINE = 3,
  BLOCKTYPE_FN = 4,
  BLOCKTYPE_PREDICATE = 5,
  BLOCKTYPE_MAP = 6,
};
