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) 1996
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
			    VERSION INFORMATION
31
			    ===================
32
 
33
--------------------------------------------------------------------------
34
$Header: /u/g/release/CVSROOT/Source/src/installers/680x0/common/exptypes.h,v 1.1.1.1 1998/01/17 15:55:49 release Exp $
35
--------------------------------------------------------------------------
36
$Log: exptypes.h,v $
37
 * Revision 1.1.1.1  1998/01/17  15:55:49  release
38
 * First version to be checked into rolling release.
39
 *
40
Revision 1.1.1.1  1997/10/13 12:42:52  ma
41
First version.
42
 
43
Revision 1.2  1997/09/25 06:45:03  ma
44
All general_proc tests passed
45
 
46
Revision 1.1.1.1  1997/03/14 07:50:12  ma
47
Imported from DRA
48
 
49
 * Revision 1.2  1996/09/20  13:51:30  john
50
 * *** empty log message ***
51
 *
52
 * Revision 1.1.1.1  1996/09/20  10:56:53  john
53
 *
54
 * Revision 1.1.1.1  1996/03/26  15:45:11  john
55
 *
56
 * Revision 1.3  93/11/19  16:20:53  16:20:53  ra (Robert Andrews)
57
 * Added unsigned integral field to exp union.
58
 * 
59
 * Revision 1.2  93/04/19  13:33:30  13:33:30  ra (Robert Andrews)
60
 * Added extra field to expno to allow for new representation of alignments.
61
 * 
62
 * Revision 1.1  93/02/22  17:15:39  17:15:39  ra (Robert Andrews)
63
 * Initial revision
64
 * 
65
--------------------------------------------------------------------------
66
*/
67
 
68
 
69
#ifndef EXPTYPES_INCLUDED
70
#define EXPTYPES_INCLUDED
71
 
72
 
73
/*
74
    STRUCTURE REPRESENTING EXPRESSION PROPERTIES
75
 
76
    This is basically a bitfield, with different bits representing
77
    different properties.  See expmacs.h for details.
78
*/
79
 
80
typedef unsigned short prop ;
81
 
82
 
83
/*
84
    UNION REPRESENTING A EXPRESSION CONSTITUENT
85
 
86
    An expression constituent can be another expression, a string, a
87
    numerical value, a floating-point value or an external declaration.
88
*/
89
 
90
typedef union {
91
#ifndef tdf3
92
   long l ;
93
   unsigned long ui ;
94
#else
95
    int l ;
96
    unsigned int ui ;
97
#endif
98
    float fp ;
99
    char *str ;
100
    struct exp_t *expr ;
101
    struct dec_t *glob ;
102
    diag_info *d ;
103
    struct aldef_t *ald ;
104
} expno ; 
105
 
106
 
107
/*
108
    STRUCTURE REPRESENTING EXPRESSIONS
109
 
110
    An expression has a number of constituents given by the sonf, brof,
111
    ptrf and numf fields, a shape (which is another expression), a
112
    name representing the expression type, a properties field, and a
113
    single byte as an end marker.
114
*/
115
 
116
struct exp_t {
117
    unsigned char namef ;
118
    unsigned char lastf ;
119
    unsigned char park ;
120
    prop propsf ;
121
    expno sonf ;
122
    expno brof ;
123
    expno ptf ;
124
    expno numf ;
125
    struct exp_t *shf ;
126
} ;
127
 
128
 
129
/*
130
    THE EXPRESSION TYPE
131
 
132
    The type exp is a pointer to the structure given above.  Access to the
133
    fields of the structure is by means of the macros given in expmacs.h.
134
*/
135
 
136
typedef struct exp_t *exp ;
137
 
138
#endif
139
 
140
 
141
 
142