|
|
1.1 root 1: /*
2: * Sydney C Compiler.
3: *
4: * Copyright 1984, Bruce Ellis.
5: *
6: * Unauthorised possesion, sale or use prohibited.
7: */
8:
9: #include "obj_version.h"
10:
11: #define TIME_SEP '@'
12:
13: #ifdef STD_OBJ
14: #define CMD_SZ 12
15: #define CMD {'#','!','/','b','i','n','/','e','c','h','o',' '}
16: #define MAC_SZ 12
17: #ifndef MAC
18: #define MAC {'v','a','x','\n','\0'}
19: #endif
20:
21: typedef struct
22: {
23: char hd_cmd[CMD_SZ];
24: char hd_mac[MAC_SZ];
25: long hd_str_off;
26: long hd_str_size;
27: long hd_type_size;
28: long hd_var_size;
29: }
30: header;
31:
32: typedef enum
33: {
34: i_lib,
35: i_src,
36: i_type,
37: i_var,
38: }
39: obj_items;
40:
41: typedef enum
42: {
43: t_arrayof,
44: t_basetype,
45: t_bitfield,
46: t_dimless,
47: t_elaboration,
48: t_enum,
49: t_ftnreturning,
50: t_ptrto,
51: t_structof,
52: t_unionof,
53:
54: t_types,
55: }
56: obj_types;
57:
58: typedef enum
59: {
60: v_arglist,
61: v_array_size,
62: v_auto,
63: v_block_static,
64: v_call,
65: v_formal,
66: v_function,
67: v_global,
68: v_implicit_function,
69: v_initialisation,
70: v_static,
71: v_varargs,
72: }
73: obj_vars;
74:
75: #define obj_code(a, b) (((int)(a) << 4) | (int)(b))
76:
77: #define obj_item(c) (((c) >> 4) & 0xF)
78: #define obj_id(c) ((c) & 0xF)
79: #endif STD_OBJ
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.