Subversion Repositories tendra.SVN

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 7u83 1
/*
2
    		 Crown Copyright (c) 1997, 1998
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
    AUTOMATICALLY GENERATED FROM ALGEBRA c_class (VERSION 1.1)
32
    BY calculus (VERSION 1.2)
33
*/
34
 
35
#ifndef NAT_OPS_H_INCLUDED
36
#define NAT_OPS_H_INCLUDED
37
 
38
/* Operations for union NAT */
39
 
40
#pragma token PROC ( EXP : NAT : ) EXP : unsigned : TAG_nat #
41
#pragma interface TAG_nat
42
 
43
 
44
/* Operations for field small of union NAT */
45
 
46
#pragma token EXP const : unsigned : nat_small_tag #
47
#pragma token PROC ( EXP : NAT : ) EXP : int : IS_nat_small #
48
#pragma interface nat_small_tag IS_nat_small
49
 
50
#pragma token PROC ( EXP : NAT : )\
51
    EXP : PTR ( unsigned ) : nat_small_value #
52
#pragma interface nat_small_value
53
 
54
#pragma token PROC (\
55
	EXP : unsigned :,\
56
	EXP lvalue : NAT :\
57
    ) STATEMENT MAKE_nat_small #
58
#pragma interface MAKE_nat_small
59
 
60
#pragma token PROC (\
61
	EXP lvalue : unsigned :,\
62
	EXP : NAT :\
63
    ) STATEMENT DECONS_nat_small #
64
#pragma interface DECONS_nat_small
65
 
66
#pragma token PROC (\
67
	EXP : DESTROYER :,\
68
	EXP lvalue : unsigned :,\
69
	EXP : NAT :\
70
    ) STATEMENT DESTROY_nat_small #
71
#pragma interface DESTROY_nat_small
72
 
73
 
74
/* Operations for field large of union NAT */
75
 
76
#pragma token EXP const : unsigned : nat_large_tag #
77
#pragma token PROC ( EXP : NAT : ) EXP : int : IS_nat_large #
78
#pragma interface nat_large_tag IS_nat_large
79
 
80
#pragma token PROC ( EXP : NAT : )\
81
    EXP : PTR ( LIST ( unsigned ) ) : nat_large_values #
82
#pragma interface nat_large_values
83
 
84
#pragma token PROC (\
85
	EXP : LIST ( unsigned ) :,\
86
	EXP lvalue : NAT :\
87
    ) STATEMENT MAKE_nat_large #
88
#pragma interface MAKE_nat_large
89
 
90
#pragma token PROC (\
91
	EXP lvalue : LIST ( unsigned ) :,\
92
	EXP : NAT :\
93
    ) STATEMENT DECONS_nat_large #
94
#pragma interface DECONS_nat_large
95
 
96
#pragma token PROC (\
97
	EXP : DESTROYER :,\
98
	EXP lvalue : LIST ( unsigned ) :,\
99
	EXP : NAT :\
100
    ) STATEMENT DESTROY_nat_large #
101
#pragma interface DESTROY_nat_large
102
 
103
 
104
/* Operations for field calc of union NAT */
105
 
106
#pragma token EXP const : unsigned : nat_calc_tag #
107
#pragma token PROC ( EXP : NAT : ) EXP : int : IS_nat_calc #
108
#pragma interface nat_calc_tag IS_nat_calc
109
 
110
#pragma token PROC ( EXP : NAT : )\
111
    EXP : PTR ( EXP ) : nat_calc_value #
112
#pragma interface nat_calc_value
113
 
114
#pragma token PROC ( EXP : NAT : )\
115
    EXP : PTR ( ulong_type ) : nat_calc_tok #
116
#pragma interface nat_calc_tok
117
 
118
#pragma token PROC (\
119
	EXP : EXP :,\
120
	EXP lvalue : NAT :\
121
    ) STATEMENT MAKE_nat_calc #
122
#pragma interface MAKE_nat_calc
123
 
124
#pragma token PROC (\
125
	EXP lvalue : EXP :,\
126
	EXP lvalue : ulong_type :,\
127
	EXP : NAT :\
128
    ) STATEMENT DECONS_nat_calc #
129
#pragma interface DECONS_nat_calc
130
 
131
#pragma token PROC (\
132
	EXP : DESTROYER :,\
133
	EXP lvalue : EXP :,\
134
	EXP lvalue : ulong_type :,\
135
	EXP : NAT :\
136
    ) STATEMENT DESTROY_nat_calc #
137
#pragma interface DESTROY_nat_calc
138
 
139
 
140
/* Operations for field neg of union NAT */
141
 
142
#pragma token EXP const : unsigned : nat_neg_tag #
143
#pragma token PROC ( EXP : NAT : ) EXP : int : IS_nat_neg #
144
#pragma interface nat_neg_tag IS_nat_neg
145
 
146
#pragma token PROC ( EXP : NAT : )\
147
    EXP : PTR ( NAT ) : nat_neg_arg #
148
#pragma interface nat_neg_arg
149
 
150
#pragma token PROC (\
151
	EXP : NAT :,\
152
	EXP lvalue : NAT :\
153
    ) STATEMENT MAKE_nat_neg #
154
#pragma interface MAKE_nat_neg
155
 
156
#pragma token PROC (\
157
	EXP lvalue : NAT :,\
158
	EXP : NAT :\
159
    ) STATEMENT DECONS_nat_neg #
160
#pragma interface DECONS_nat_neg
161
 
162
#pragma token PROC (\
163
	EXP : DESTROYER :,\
164
	EXP lvalue : NAT :,\
165
	EXP : NAT :\
166
    ) STATEMENT DESTROY_nat_neg #
167
#pragma interface DESTROY_nat_neg
168
 
169
 
170
/* Operations for field token of union NAT */
171
 
172
#pragma token EXP const : unsigned : nat_token_tag #
173
#pragma token PROC ( EXP : NAT : ) EXP : int : IS_nat_token #
174
#pragma interface nat_token_tag IS_nat_token
175
 
176
#pragma token PROC ( EXP : NAT : )\
177
    EXP : PTR ( IDENTIFIER ) : nat_token_tok #
178
#pragma interface nat_token_tok
179
 
180
#pragma token PROC ( EXP : NAT : )\
181
    EXP : PTR ( LIST ( TOKEN ) ) : nat_token_args #
182
#pragma interface nat_token_args
183
 
184
#pragma token PROC (\
185
	EXP : IDENTIFIER :,\
186
	EXP : LIST ( TOKEN ) :,\
187
	EXP lvalue : NAT :\
188
    ) STATEMENT MAKE_nat_token #
189
#pragma interface MAKE_nat_token
190
 
191
#pragma token PROC (\
192
	EXP lvalue : IDENTIFIER :,\
193
	EXP lvalue : LIST ( TOKEN ) :,\
194
	EXP : NAT :\
195
    ) STATEMENT DECONS_nat_token #
196
#pragma interface DECONS_nat_token
197
 
198
#pragma token PROC (\
199
	EXP : DESTROYER :,\
200
	EXP lvalue : IDENTIFIER :,\
201
	EXP lvalue : LIST ( TOKEN ) :,\
202
	EXP : NAT :\
203
    ) STATEMENT DESTROY_nat_token #
204
#pragma interface DESTROY_nat_token
205
 
206
 
207
#endif