Subversion Repositories tendra.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 7u83 1
/*
2
    		 Crown Copyright (c) 1997
3
 
4
    This TenDRA(r) Computer Program is subject to Copyright
5
    owned by the United Kingdom Secretary of State for Defence
6
    acting through the Defence Evaluation and Research Agency
7
    (DERA).  It is made available to Recipients with a
8
    royalty-free licence for its use, reproduction, transfer
9
    to other parties and amendment for any purpose not excluding
10
    product development provided that any such use et cetera
11
    shall be deemed to be acceptance of the following conditions:-
12
 
13
        (1) Its Recipients shall ensure that this Notice is
14
        reproduced upon any copies or amended versions of it;
15
 
16
        (2) Any amended version of it shall be clearly marked to
17
        show both the nature of and the organisation responsible
18
        for the relevant amendment or amendments;
19
 
20
        (3) Its onward transfer from a recipient to another
21
        party shall be deemed to be that party's acceptance of
22
        these conditions;
23
 
24
        (4) DERA gives no warranty or assurance as to its
25
        quality or suitability for any purpose and DERA accepts
26
        no liability whatsoever in relation to any use to which
27
        it may be put.
28
*/
29
 
30
 
31
/**********************************************************************
32
$Author: release $
33
$Date: 1998/01/17 15:57:24 $
34
$Revision: 1.1.1.1 $
35
$Log: defs.h,v $
36
 * Revision 1.1.1.1  1998/01/17  15:57:24  release
37
 * First version to be checked into rolling release.
38
 *
39
 * Revision 1.2  1995/06/08  09:13:48  currie
40
 * Added sigs to tokdecs/defs
41
 *
42
 * Revision 1.1  1995/04/07  14:29:07  currie
43
 * Initial revision
44
 *
45
 * Revision 1.1  1995/04/07  14:29:07  currie
46
 * Initial revision
47
 *
48
 * Revision 1.3  1994/12/05  10:12:59  currie
49
 * Extended size of input buffer
50
 *
51
 * Revision 1.2  1994/07/21  10:36:07  currie
52
 * Added banner
53
 *
54
***********************************************************************/
55
#ifndef DEFS_INCLUDED
56
#define DEFS_INCLUDED
57
 
58
#include "namedecs.h"
59
#include "errors.h"
60
#include "util.h"
61
#include "includes.h"
62
 
63
typedef struct{
64
    int t; 
65
    union Lex_v{int v; char * name; Tokdec * tokname;} val; 
66
} LEX;
67
 
68
typedef struct{char *name; int t; void(*f) PROTO_S((void));} Constructs;
69
typedef struct{char *name; int t;} Terminals;
70
 
71
#define BUFFLEN 600
72
extern char buff[BUFFLEN];
73
extern unsigned long cLINE;
74
extern LEX lex_v;
75
extern long radix;
76
extern int lnum;
77
extern int bind;
78
extern long stoi PROTO_S((char * s, int n));
79
 
80
#define MINSI			0x80000000
81
#define MAXSI			0x7fffffff
82
#define MAXUSI			0xffffffff
83
#define MINSS			0x8000
84
#define MAXSS			0x7fff
85
#define MAXUSS			0xffff
86
#define MINSC			128
87
#define MAXSC			127
88
#define MAXUSC			255
89
#define MINSL			0x80000000
90
#define MAXSL			0x7fffffff
91
#define MAXUSL			0xffffffff
92
#define MANT_DOUBLE		53
93
#define MINEXP_DOUBLE		1022
94
#define MAXEXP_DOUBLE		1023
95
#define MANT_FLOAT		24
96
#define MINEXP_FLOAT		126
97
#define MAXEXP_FLOAT		127
98
 
99
#define UL(x)			((unsigned long)(x))
100
#define UI(x)			((unsigned int)(x))
101
#define UC(x)			((unsigned char)(x))
102
 
103
#define access_t		lex_access__cons
104
#define alignment_t		lex_alignment__cons
105
#define bitfield_variety_t	lex_bitfield__variety__cons
106
#define bool_t			lex_bool__cons
107
#define error_code_t		lex_error__code__cons
108
#define error_treatment_t	lex_error__treatment__cons
109
#define exp_t			lex_exp__cons
110
#define floating_variety_t	lex_floating__variety__cons
111
#define nat_t			lex_nat__cons
112
#define ntest_t			lex_ntest__cons
113
#define rounding_mode_t		lex_rounding__mode__cons
114
#define shape_t			lex_shape__cons
115
#define signed_nat_t		lex_signed__nat__cons
116
#define string_t		lex_string__cons
117
#define tag_t			lex_tag__cons
118
#define token_t			lex_token__cons
119
#define transfer_mode_t		lex_transfer__mode__cons
120
#define variety_t		lex_variety__cons
121
 
122
#define access_sort		lex_access__sort
123
#define al_tag_sort		lex_al__tag__sort
124
#define alignment_sort		lex_alignment__sort
125
#define bitfield_variety_sort	lex_bitfield__variety__sort
126
#define bool_sort		lex_bool__sort
127
#define error_treatment_sort	lex_error__treatment__sort
128
#define exp_sort		lex_exp__sort
129
#define floating_variety_sort	lex_floating__variety__sort
130
#define label_sort		lex_label__sort
131
#define nat_sort		lex_nat__sort
132
#define ntest_sort		lex_ntest__sort
133
#define rounding_mode_sort	lex_rounding__mode__sort
134
#define shape_sort		lex_shape__sort
135
#define signed_nat_sort		lex_signed__nat__sort
136
#define string_sort		lex_string__sort
137
#define tag_sort		lex_tag__sort
138
#define token_sort		lex_token__sort
139
#define transfer_mode_sort	lex_transfer__mode__sort
140
#define variety_sort		lex_variety__sort
141
 
142
#define access_tok		lex_access__tok
143
#define al_tag_tok		lex_al__tag__tok
144
#define alignment_tok		lex_alignment__tok
145
#define bitfield_variety_tok	lex_bitfield__variety__tok
146
#define bool_tok		lex_bool__tok
147
#define error_treatment_tok	lex_error__treatment__tok
148
#define exp_tok			lex_exp__tok
149
#define floating_variety_tok	lex_floating__variety__tok
150
#define label_tok		lex_label__tok
151
#define nat_tok			lex_nat__tok
152
#define ntest_tok		lex_ntest__tok
153
#define rounding_mode_tok	lex_rounding__mode__tok
154
#define shape_tok		lex_shape__tok
155
#define signed_nat_tok		lex_signed__nat__tok
156
#define string_tok		lex_string__tok
157
#define tag_tok			lex_tag__tok
158
#define token_tok		lex_token__tok
159
#define transfer_mode_tok	lex_transfer__mode__tok
160
#define variety_tok		lex_variety__tok
161
 
162
 
163
#endif