1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
#ifndef _COMSUPPORT_
#define _COMSUPPORT_
#ifndef _THE__TYPES_
#include "types.t"
#endif
#ifndef _SYSTEM_
#include "system.h"
#endif
#define NoError 0
#define ErrKind1 1
#define ErrKind2 2
#define MINIMUM(a,b) (((a)<(b)) ? (a) : (b))
#define MAXIMUM(a,b) (((a)>(b)) ? (a) : (b))
extern void StaticMessage (Bool error, char *symbol_format, char *message_format, ...);
extern void PrintSymbol (struct symbol *symbol,File file);
extern Bool CompilerError;
extern char *CurrentModule, *CurrentExt, *CurrentPhase, *CompilerVersion;
extern struct symbol *CurrentSymbol;
extern char *OutName, *InName;
extern unsigned CurrentLine;
extern int ExitEnv_valid;
extern File OpenedFile;
extern jmp_buf ExitEnv;
struct heap_descr {
char * hd_start;
char * hd_end;
char * hd_free;
struct heap_descr * hd_next;
};
typedef struct heap_descr * HeapDescr;
#endif
#define CompAllocType(t) ((t*)CompAlloc (SizeOf (t)))
#define CompAllocArray(s,t) ((t*)CompAlloc ((s)*SizeOf (t)))
extern void *CompAlloc (SizeT size);
extern void InitStorage (void);
extern void CompFree (void);
#define TH_AllocType(hd,t) ((t*)TH_Alloc (hd,SizeOf (t)))
#define TH_AllocArray(hd,s,t) ((t*)TH_Alloc (hd,(s)*SizeOf (t)))
extern void * TH_Alloc (HeapDescr hd, SizeT size);
extern void TH_Reset (HeapDescr hd);
extern void TH_Free (HeapDescr hd);
extern HeapDescr TH_New (void);
extern Bool ArgParser (int argc, char *argv[]);
extern void FatalCompError (char *mod, char *proc, char *mess);
extern void Verbose (char *msg);
extern void PrintVersion (void);
extern void InitSettings (void);
extern void ExitOnInterrupt (void);
extern void InitCompiler (void);
extern void ExitCompiler (void);
#ifdef _DEBUG_
extern void ErrorInCompiler (char *mod, char *proc, char *msg);
extern void Assume (Bool cond, char *mod, char *proc);
extern void AssumeError (char *mod, char *proc);
#define ifnot(cond) if(!(cond))
#endif
|