#ifndef _debugger_#define _debugger_ #include "misc.h"#include "mlvalues.h" #ifdef DEBUG #define LOG_BUFFER_SIZE 100extern bytecode_t log_buffer[LOG_BUFFER_SIZE];extern bytecode_t * log_ptr;extern int trace_flag; #define Debug(x) x #if defined(__STDC__) || defined(WIN32)#define Assert(x) if (!(x)) failed_assert ( #x , __FILE__, __LINE__)#define Dprintx(x) printf ("expression %s %ld\n", #x, (unsigned long) (x))#else#ifndef __LINE__#define __LINE__ 0#endif#ifndef __FILE__#define __FILE__ "(?)"#endif#define Assert(x) if (!(x)) failed_assert ("(?)" , __FILE__, __LINE__)#define Dprintx(x) printf ("expression %ld\n", (unsigned long) (x))#endif /* __STDC__ */ void failed_assert (char *, char *, int);void print_value (value);bytecode_t disasm_instr (bytecode_t);void post_mortem (int);unsigned long not_random (void); #else /* DEBUG */ #define Debug(x)#define Assert(x)#define Dprintx(x) #endif /* DEBUG */ #define nTrace(msg, x, y) #ifdef TRACE#define Trace(msg, x, y) printf (msg, x, y)#else#define Trace(msg, x, y)#endif #endif /* _debugger_ */
#ifndef _debugger_
#define _debugger_
#include "misc.h"
#include "mlvalues.h"
#ifdef DEBUG
#define LOG_BUFFER_SIZE 100
extern bytecode_t log_buffer[LOG_BUFFER_SIZE];
extern bytecode_t * log_ptr;
extern int trace_flag;
#define Debug(x) x
#if defined(__STDC__) || defined(WIN32)
#define Assert(x) if (!(x)) failed_assert ( #x , __FILE__, __LINE__)
#define Dprintx(x) printf ("expression %s %ld\n", #x, (unsigned long) (x))
#else
#ifndef __LINE__
#define __LINE__ 0
#endif
#ifndef __FILE__
#define __FILE__ "(?)"
#endif
#define Assert(x) if (!(x)) failed_assert ("(?)" , __FILE__, __LINE__)
#define Dprintx(x) printf ("expression %ld\n", (unsigned long) (x))
#endif /* __STDC__ */
void failed_assert (char *, char *, int);
void print_value (value);
bytecode_t disasm_instr (bytecode_t);
void post_mortem (int);
unsigned long not_random (void);
#else /* DEBUG */
#define Debug(x)
#define Assert(x)
#define Dprintx(x)
#endif /* DEBUG */
#define nTrace(msg, x, y)
#ifdef TRACE
#define Trace(msg, x, y) printf (msg, x, y)
#else
#define Trace(msg, x, y)
#endif
#endif /* _debugger_ */