OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [gnat.dg/] [rep_clause5_pkg.ads] - Blame information for rev 779

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 304 jeremybenn
package Rep_Clause5_Pkg is
2
 
3
    type ID_Type      is mod 65536;
4
    type String_ID    is new ID_Type;
5
    type LNumber_Type is range 0..99999;
6
    subtype Long_Type is Integer;
7
 
8
    type Func_ID is (No_Func, FUN_SGN, FUN_EXP, FUN_LOG, FUN_LOG10);
9
 
10
    type Token_Kind is (
11
        No_Token,
12
        LEX_BINARY,
13
        LEX_SECTION,
14
        LEX_003,
15
        LEX_004,
16
        LEX_005,
17
        LEX_006,
18
        LEX_007,
19
        LEX_008,
20
        LEX_009,
21
        LEX_LF,
22
        LEX_011,
23
        LEX_012,
24
        LEX_013,
25
        LEX_014,
26
        LEX_015,
27
        LEX_016,
28
        LEX_017,
29
        LEX_018,
30
        LEX_019,
31
        LEX_020,
32
        LEX_021,
33
        LEX_022,
34
        LEX_023,
35
        LEX_024,
36
        LEX_025,
37
        LEX_026,
38
        LEX_027,
39
        LEX_028,
40
        LEX_029,
41
        LEX_030,
42
        LEX_031,
43
        LEX_032,
44
        '!',
45
        '"',
46
        '#',
47
        '$',
48
        '%',
49
        '&',
50
        ''',
51
        '(',
52
        ')',
53
        '*',
54
        '+',
55
        ',',
56
        '-',
57
        '.',
58
        '/',
59
        '0',
60
        '1',
61
        '2',
62
        '3',
63
        '4',
64
        '5',
65
        '6',
66
        '7',
67
        '8',
68
        '9',
69
        ':',
70
        ';',
71
        '<',
72
        '=',
73
        '>',
74
        '?',
75
        '@',
76
        'A',
77
        'B',
78
        'C',
79
        'D',
80
        'E',
81
        'F',
82
        'G',
83
        'H',
84
        'I',
85
        'J',
86
        'K',
87
        'L',
88
        'M',
89
        'N',
90
        'O',
91
        'P',
92
        'Q',
93
        'R',
94
        'S',
95
        'T',
96
        'U',
97
        'V',
98
        'W',
99
        'X',
100
        'Y',
101
        'Z',
102
        '[',
103
        '\',
104
        ']',
105
        '^',
106
        '_',
107
        '`',
108
        'a',
109
        'b',
110
        'c',
111
        'd',
112
        'e',
113
        'f',
114
        'g',
115
        'h',
116
        'i',
117
        'j',
118
        'k',
119
        'l',
120
        'm',
121
        'n',
122
        'o',
123
        LEX_SFUN3,
124
        LEX_SFUN2,
125
        LEX_SFUN1,
126
        LEX_SFUNN,
127
        LEX_FUN3,
128
        LEX_FUN2,
129
        LEX_FUN1,
130
        LEX_FUNN,
131
        'x',
132
        'y',
133
        'z',
134
        '{',
135
        '|',
136
        '}',
137
        '~',
138
        LEX_CRTA,
139
        LEX_ISNULL,
140
        LEX_USING,
141
        LEX_HANDLE,
142
        LEX_CALLX,
143
        LEX_COMPLEX,
144
        LEX_FIXED,
145
        LEX_ENV,
146
        LEX_SPARSE,
147
        LEX_SUBROUTINE,
148
        LEX_CALL,
149
        LEX_BOX,
150
        LEX_VLINE,
151
        LEX_HLINE,
152
        LEX_MAXLENGTH,
153
        LEX_DLENGTH,
154
        LEX_INPUT,
155
        LEX_INITIALIZE,
156
        LEX_OUTPUT,
157
        LEX_UNLINK,
158
        LEX_SEEK,
159
        LEX_EXIT,
160
        LEX_NOT,
161
        LEX_COMMON,
162
        LEX_CHAIN,
163
        LEX_DEF,
164
        LEX_ARITY,
165
        LEX_RESUME,
166
        LEX_PIC_S,
167
        LEX_BG,
168
        LEX_FG,
169
        LEX_PC,
170
        LEX_CRT,
171
        LEX_ENUM,
172
        LEX_DECLARE,
173
        LEX_CURSOR,
174
        LEX_DROP,
175
        LEX_CURRENT,
176
        LEX_ISOLATION,
177
        LEX_SET,
178
        LEX_TRANSACTION,
179
        LEX_COMMIT,
180
        LEX_ABORT,
181
        LEX_BEGIN,
182
        LEX_PREVIOUS,
183
        LEX_LAST,
184
        LEX_FIRST,
185
        LEX_KEY,
186
        LEX_START,
187
        LEX_REWRITE,
188
        LEX_INDEX,
189
        LEX_SECONDARY,
190
        LEX_PRIMARY,
191
        LEX_COLUMN,
192
        LEX_TEMP,
193
        LEX_TABLE,
194
        LEX_CREATE,
195
        LEX_HASH,
196
        LEX_BTREE,
197
        LEX_UPDATE,
198
        LEX_ERROR,
199
        LEX_ACCEPT,
200
        LEX_AVG,
201
        LEX_MAX,
202
        LEX_MIN,
203
        LEX_FIELD,
204
        LEX_RESTORE,
205
        LEX_END,
206
        LEX_STEP,
207
        LEX_NEXT,
208
        LEX_FOR,
209
        LEX_RETURN,
210
        LEX_GOSUB,
211
        LEX_RANGE,
212
        LEX_EXPON,
213
        LEX_XOR,
214
        LEX_OR,
215
        LEX_AND,
216
        LEX_SHIFTR,
217
        LEX_GE,
218
        LEX_NE,
219
        LEX_SHIFTL,
220
        LEX_LE,
221
        LEX_VARYING,
222
        LEX_LENGTH,
223
        LEX_PRINT,
224
        LEX_IF,
225
        LEX_GOTO,
226
        LEX_ON,
227
        LEX_THEN,
228
        LEX_DELETE,
229
        LEX_TO,
230
        LEX_SEQUENCE,
231
        LEX_NONUNIQUE,
232
        LEX_UNIQUE,
233
        LEX_FILE,
234
        LEX_CLOSE,
235
        LEX_OPEN,
236
        LEX_DATABASE,
237
        LEX_RECORD,
238
        LEX_DATA,
239
        LEX_WRITE,
240
        LEX_READ,
241
        LEX_STOP,
242
        LEX_LET,
243
        LEX_MOD,
244
        LEX_LONG,
245
        LEX_DIM,
246
        LEX_SHORT,
247
        LEX_REM,
248
        LEX_SHELL,
249
        LEX_TOKEN,
250
        LEX_FLOAT,
251
        LEX_SIDENT,
252
        LEX_INLREM,
253
        LEX_ENDLIT,
254
        LEX_STRLIT,
255
        LEX_IDENT,
256
        LEX_LNUMBER,
257
        LEX_HEX,
258
        LEX_NUMBER,
259
        LEX_EOF,
260
        LEX_QUIT,
261
        LEX_LIST,
262
        LEX_REMOVE,
263
        LEX_RENUMBER,
264
        LEX_CONTINUE,
265
        LEX_RUN,
266
        LEX_MERGE,
267
        LEX_ENTER,
268
        LEX_NEW,
269
        LEX_RESET,
270
        LEX_SYMTAB,
271
        LEX_CLS,
272
        LEX_EDIT,
273
        LEX_SAVE,
274
        LEX_RESAVE,
275
        LEX_LOAD,
276
        LEX_NAME,
277
        LEX_LISTP,
278
        LEX_SHOW,
279
        LEX_STACK,
280
        LEX_STATUS,
281
        LEX_CACHE,
282
        LEX_INSPECT,
283
        LEX_STOW,
284
        LEX_PKGRUN,
285
        LEX_POP,
286
        LEX_CHECK,
287
        LEX_INSERT,
288
        LEX_INTO,
289
        LEX_VALUES,
290
        LEX_NULL,
291
        LEX_WHERE,
292
        LEX_FROM,
293
        LEX_EXEC,
294
        LEX_SELECT,
295
        LEX_AS,
296
        LEX_ALL,
297
        LEX_BY,
298
        LEX_CROSS,
299
        LEX_DESC,
300
        LEX_FULL,
301
        LEX_GROUP,
302
        LEX_INNER,
303
        LEX_JOIN,
304
        LEX_LEFT,
305
        LEX_LIMIT,
306
        LEX_NATURAL,
307
        LEX_OFFSET,
308
        LEX_ORDER,
309
        LEX_OUTER,
310
        LEX_RIGHT,
311
        LEX_FETCH,
312
        LEX_DISTINCT,
313
        LEX_DEFAULT,
314
        LEX_RETURNING,
315
        LEX_LEVEL,
316
        LEX_COMMITTED,
317
        LEX_SERIALIZABLE,
318
        LEX_ONLY,
319
        LEX_HOLD,
320
        LEX_FORWARD,
321
        LEX_WITH,
322
        LEX_PRIOR,
323
        LEX_RELATIVE,
324
        LEX_BACKWARD,
325
        LEX_OF,
326
        LEX_SCROLL,
327
        LEX_NOWAIT,
328
        LEX_HAVING,
329
        LEX_END_TOKENS
330
    );
331
 
332
    type Aux_Kind is (No_Aux, SID_Aux, FID_Aux, LNO_Aux);
333
 
334
    type Token_Type(Aux : Aux_Kind := No_Aux) is
335
        record
336
            Token : Token_Kind := No_Token;
337
            case Aux is
338
                when SID_Aux =>
339
                    SID :       String_ID;
340
                when FID_Aux =>
341
                    FID :       Func_ID;
342
                when LNO_Aux =>
343
                    LNO :       LNumber_Type;
344
                when No_Aux =>
345
                    null;
346
            end case;
347
        end record;
348
 
349
    for Token_Type use
350
        record
351
            Aux     at 0 range 0..2;
352
            Token   at 0 range 3..12;
353
            SID     at 0 range 16..31;
354
            FID     at 0 range 16..31;
355
            LNO     at 0 range 13..31;
356
        end record;
357
 
358
    type Tokens_Index is range 0..999999;
359
    type Token_Array is array(Tokens_Index range <>) of Token_Type;
360
    type Token_Line is access all Token_Array;
361
 
362
    type Line_Node is
363
        record
364
            Line :     Token_Line;
365
            LNO :      LNumber_Type := 0;
366
            Numbered : Boolean := False;
367
        end record;
368
 
369
    type Nodes_Index is range 0..999999;
370
    type LNodes_Array is array(Nodes_Index range <>) of Line_Node;
371
    type LNodes_Ptr is access all LNodes_Array;
372
 
373
    type VString is
374
        record
375
            Max_Length : Natural := 0;
376
            Fixed :      Boolean := False;
377
        end record;
378
 
379
    function To_Long(Object : VString; Radix : Natural) return Long_Type;
380
 
381
    function Element (V : String_ID) return String;
382
 
383
end Rep_Clause5_Pkg;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.