Ticket #79: var32_test.tnc

File var32_test.tnc, 1.1 kB (added by maxr, 2 years ago)

testcase

Line 
1 # TOKEN DECLARATIONS
2
3 (make_tokdec A_UNIVERSAL_INTEGER_DEFINITION.V
4   -
5   variety)
6
7 (make_tokdec Integer
8   -
9   shape)
10
11
12 (make_tokdec Integer.LOWER
13   -
14   exp)
15
16 (make_tokdec Integer.UPPER
17   -
18   exp)
19
20 (make_tokdec Integer.V
21   -
22   variety)
23
24 # ALIGNMENT TAG DECLARATIONS
25
26 # TAG DECLARATIONS
27
28 (make_id_tagdec B0009
29   -
30   -
31   proc)
32
33
34 # TOKEN DEFINITIONS
35
36 (make_tokdef A_UNIVERSAL_INTEGER_DEFINITION.V
37   -
38   variety
39   (var_width
40     true
41     64))
42
43
44 (make_tokdef Integer
45   -
46   shape
47   (integer
48     Integer.V))
49
50 (make_tokdef Integer.LOWER
51   -
52   exp
53   (make_int
54     A_UNIVERSAL_INTEGER_DEFINITION.V
55     -2147483648))
56
57 (make_tokdef Integer.UPPER
58   -
59   exp
60   (make_int
61     A_UNIVERSAL_INTEGER_DEFINITION.V
62     2147483647))
63
64 (make_tokdef Integer.V
65   -
66   variety
67   (var_limits
68     (computed_signed_nat
69       Integer.LOWER)
70     (computed_signed_nat
71       Integer.UPPER)))
72
73
74 # ALIGNMENT TAG DEFINITIONS
75
76
77 # TAG DEFINITIONS
78
79 (make_id_tagdef B0009
80   -
81   (make_general_proc
82     Integer
83     -
84     |
85     |
86     (sequence
87       (return
88         (change_variety
89           continue
90           Integer.V
91           (make_int
92             A_UNIVERSAL_INTEGER_DEFINITION.V
93             1))) |
94       (return
95         make_top))))
96