adsl 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,8 +18,8 @@ module_eval(<<'...end adsl_parser.racc/module_eval...', 'adsl_parser.racc', 138)
18
18
 
19
19
  # generated by racc
20
20
  def generate_ast(str)
21
- scan_evaluate str
22
- do_parse
21
+ scan str
22
+ # do_parse
23
23
  end
24
24
 
25
25
  def parse(str)
@@ -30,182 +30,182 @@ module_eval(<<'...end adsl_parser.racc/module_eval...', 'adsl_parser.racc', 138)
30
30
  ##### State transition tables begin ###
31
31
 
32
32
  racc_action_table = [
33
- 38, 39, 40, 41, 42, 38, 39, 40, 41, 42,
34
- 38, 39, 40, 41, 42, 38, 39, 40, 41, 42,
35
- 38, 39, 40, 41, 42, 32, 32, 122, 106, 33,
36
- 35, 92, 53, 20, 22, 2, 98, 94, 3, 87,
37
- 127, 96, 61, 94, 86, 71, 1, 44, -37, -37,
38
- 129, 31, 34, 148, 54, 125, 20, 22, 99, 95,
39
- 11, 12, 94, 14, 15, 16, 18, 19, 21, 23,
40
- 44, 20, 22, 104, 105, 11, 12, 17, 14, 15,
41
- 16, 18, 19, 21, 23, 44, 20, 22, 170, 171,
42
- 11, 12, 17, 14, 15, 16, 18, 19, 21, 23,
43
- 44, 20, 22, 120, 121, 11, 12, 17, 14, 15,
44
- 16, 18, 19, 21, 23, 9, 20, 22, 142, 143,
45
- 11, 12, 17, 14, 15, 16, 18, 19, 21, 23,
46
- 44, 20, 22, 104, 105, 11, 12, 17, 14, 15,
47
- 16, 18, 19, 21, 23, 44, 20, 22, 144, 145,
48
- 11, 12, 17, 14, 15, 16, 18, 19, 21, 23,
49
- 44, 20, 22, 112, -41, 11, 12, 17, 14, 15,
50
- 16, 18, 19, 21, 23, 44, 20, 22, 93, 115,
51
- 11, 12, 17, 14, 15, 16, 18, 19, 21, 23,
52
- 44, 20, 22, -38, 92, 11, 12, 17, 14, 15,
53
- 16, 18, 19, 21, 23, 44, 20, 22, 91, 119,
54
- 11, 12, 17, 14, 15, 16, 18, 19, 21, 23,
55
- 44, 20, 22, 90, 122, 11, 12, 17, 14, 15,
56
- 16, 18, 19, 21, 23, 44, 20, 22, 124, 94,
57
- 11, 12, 17, 14, 15, 16, 18, 19, 21, 23,
58
- 44, 20, 22, 38, 38, 11, 12, 17, 14, 15,
59
- 16, 18, 19, 21, 23, 44, 20, 22, -20, 80,
60
- 11, 12, 17, 14, 15, 16, 18, 19, 21, 23,
61
- 44, 20, 22, 79, 61, 11, 12, 17, 14, 15,
62
- 16, 18, 19, 21, 23, 44, 134, 135, 136, 137,
63
- 74, 22, 17, 134, 135, 136, 137, 74, 22, 160,
64
- 97, 74, 22, 94, 133, 74, 22, 20, 22, 20,
65
- 22, 133, 74, 22, 85, 73, 20, 22, 131, 73,
66
- 61, 44, 84, 44, 74, 22, 73, 20, 22, -40,
67
- 44, 20, 22, 74, 22, 74, 22, 141, 73, 20,
68
- 22, 44, 74, 22, 56, 44, 55, 73, 146, 73,
69
- 74, 22, 87, 44, 74, 22, 73, 88, 2, 2,
70
- 2, 3, 3, 3, 73, 38, 39, 40, 73, 1,
71
- 1, 1, 38, 39, 40, 41, 42, 38, 39, 40,
72
- 41, 42, 38, 39, 40, 41, 42, 38, 39, 40,
73
- 41, 42, 102, 52, 149, 104, 105, 38, 39, 40,
74
- 41, 42, 130, 122, 151, 104, 105, 38, 39, 40,
75
- 51, 153, 50, 155, 156, 49, 48, 159, 47, 163,
76
- 164, 94, 165, 43, 166, 94, 37, 122, 36, 27,
77
- 173, 26, 25, 122, 94, 94 ]
33
+ 42, 44, 43, 40, 41, 42, 44, 43, 40, 41,
34
+ 42, 44, 43, 40, 41, 42, 44, 43, 40, 41,
35
+ 42, 44, 43, 40, 41, 35, 52, 53, 96, 35,
36
+ 113, 93, 33, 63, 17, 6, 105, 99, 7, 99,
37
+ 96, 104, 98, 113, 103, 76, 8, 62, -37, 54,
38
+ 138, 36, -37, 146, 32, 140, 16, 17, 114, 97,
39
+ 20, 21, 96, 30, 28, 29, 22, 27, 24, 25,
40
+ 47, 16, 17, 153, 154, 20, 21, 23, 30, 28,
41
+ 29, 22, 27, 24, 25, 47, 16, 17, 155, 156,
42
+ 20, 21, 23, 30, 28, 29, 22, 27, 24, 25,
43
+ 47, 16, 17, 88, 89, 20, 21, 23, 30, 28,
44
+ 29, 22, 27, 24, 25, 47, 16, 17, 167, 168,
45
+ 20, 21, 23, 30, 28, 29, 22, 27, 24, 25,
46
+ 47, 16, 17, 88, 89, 20, 21, 23, 30, 28,
47
+ 29, 22, 27, 24, 25, 15, 16, 17, 109, 110,
48
+ 20, 21, 23, 30, 28, 29, 22, 27, 24, 25,
49
+ 47, 16, 17, 74, -38, 20, 21, 23, 30, 28,
50
+ 29, 22, 27, 24, 25, 47, 16, 17, 116, 66,
51
+ 20, 21, 23, 30, 28, 29, 22, 27, 24, 25,
52
+ 47, 16, 17, 74, -40, 20, 21, 23, 30, 28,
53
+ 29, 22, 27, 24, 25, 47, 16, 17, 120, -20,
54
+ 20, 21, 23, 30, 28, 29, 22, 27, 24, 25,
55
+ 47, 16, 17, 58, 56, 20, 21, 23, 30, 28,
56
+ 29, 22, 27, 24, 25, 47, 16, 17, 55, 125,
57
+ 20, 21, 23, 30, 28, 29, 22, 27, 24, 25,
58
+ 47, 16, 17, 107, 106, 20, 21, 23, 30, 28,
59
+ 29, 22, 27, 24, 25, 47, 16, 17, 51, 136,
60
+ 20, 21, 23, 30, 28, 29, 22, 27, 24, 25,
61
+ 47, 16, 17, 74, 50, 20, 21, 23, 30, 28,
62
+ 29, 22, 27, 24, 25, 47, 134, 135, 131, 132,
63
+ 63, 17, 23, 134, 135, 131, 132, 63, 17, 159,
64
+ 137, 63, 17, 96, 130, 63, 17, 63, 17, 16,
65
+ 17, 130, 16, 17, 101, 62, 16, 17, 96, 62,
66
+ 90, 62, 100, 47, 63, 17, 47, 63, 17, 91,
67
+ 47, 63, 17, 16, 17, 16, 17, 46, 62, 16,
68
+ 17, 62, 63, 17, 143, 62, 144, 47, 45, 47,
69
+ 63, 17, 42, 47, 16, 17, 62, 147, 6, 6,
70
+ 6, 7, 7, 7, 62, 42, 44, 43, 47, 8,
71
+ 8, 8, 42, 44, 43, 40, 41, 42, 44, 43,
72
+ 40, 41, 127, 39, 84, 88, 89, 88, 89, 42,
73
+ 44, 43, 40, 41, 42, 44, 43, 40, 41, 42,
74
+ 44, 43, 40, 41, 95, 149, 150, 96, 42, 44,
75
+ 43, 113, 152, 42, -41, 157, 38, 108, 161, 162,
76
+ 163, 37, 34, 166, 96, 94, 31, 113, 93, 14,
77
+ 13, 9, 175, 96, 96, 113 ]
78
78
 
79
79
  racc_action_check = [
80
- 78, 78, 78, 78, 78, 76, 76, 76, 76, 76,
81
- 45, 45, 45, 45, 45, 117, 117, 117, 117, 117,
82
- 109, 109, 109, 109, 109, 9, 44, 167, 82, 10,
83
- 10, 133, 25, 33, 33, 0, 78, 167, 0, 62,
84
- 114, 76, 87, 114, 62, 45, 0, 33, 9, 44,
85
- 117, 9, 10, 133, 25, 109, 145, 145, 80, 75,
86
- 145, 145, 75, 145, 145, 145, 145, 145, 145, 145,
87
- 145, 96, 96, 120, 120, 96, 96, 145, 96, 96,
88
- 96, 96, 96, 96, 96, 96, 49, 49, 165, 165,
89
- 49, 49, 96, 49, 49, 49, 49, 49, 49, 49,
90
- 49, 1, 1, 103, 103, 1, 1, 49, 1, 1,
91
- 1, 1, 1, 1, 1, 1, 17, 17, 126, 126,
92
- 17, 17, 1, 17, 17, 17, 17, 17, 17, 17,
93
- 17, 18, 18, 83, 83, 18, 18, 17, 18, 18,
94
- 18, 18, 18, 18, 18, 18, 51, 51, 128, 128,
95
- 51, 51, 18, 51, 51, 51, 51, 51, 51, 51,
96
- 51, 98, 98, 89, 79, 98, 98, 51, 98, 98,
97
- 98, 98, 98, 98, 98, 98, 42, 42, 74, 94,
98
- 42, 42, 98, 42, 42, 42, 42, 42, 42, 42,
99
- 42, 38, 38, 95, 73, 38, 38, 42, 38, 38,
100
- 38, 38, 38, 38, 38, 38, 31, 31, 72, 101,
101
- 31, 31, 38, 31, 31, 31, 31, 31, 31, 31,
102
- 31, 88, 88, 70, 106, 88, 88, 31, 88, 88,
103
- 88, 88, 88, 88, 88, 88, 40, 40, 107, 108,
104
- 40, 40, 88, 40, 40, 40, 40, 40, 40, 40,
105
- 40, 39, 39, 67, 66, 39, 39, 40, 39, 39,
106
- 39, 39, 39, 39, 39, 39, 86, 86, 55, 53,
107
- 86, 86, 39, 86, 86, 86, 86, 86, 86, 86,
108
- 86, 41, 41, 52, 37, 41, 41, 86, 41, 41,
109
- 41, 41, 41, 41, 41, 41, 122, 122, 122, 122,
110
- 122, 122, 41, 139, 139, 139, 139, 139, 139, 148,
111
- 77, 148, 148, 77, 122, 170, 170, 34, 34, 35,
112
- 35, 139, 85, 85, 61, 148, 91, 91, 119, 170,
113
- 36, 34, 61, 35, 137, 137, 85, 143, 143, 32,
114
- 91, 43, 43, 171, 171, 163, 163, 124, 137, 47,
115
- 47, 143, 48, 48, 27, 43, 26, 171, 131, 163,
116
- 93, 93, 64, 47, 50, 50, 48, 64, 8, 7,
117
- 6, 8, 7, 6, 93, 69, 69, 69, 50, 8,
118
- 7, 6, 111, 111, 111, 111, 111, 116, 116, 116,
119
- 116, 116, 158, 158, 158, 158, 158, 13, 13, 13,
120
- 13, 13, 81, 24, 134, 81, 81, 57, 57, 57,
121
- 57, 57, 118, 135, 136, 118, 118, 68, 68, 68,
122
- 23, 138, 22, 140, 141, 21, 20, 146, 19, 149,
123
- 150, 152, 155, 14, 160, 162, 12, 164, 11, 4,
124
- 168, 3, 2, 173, 174, 175 ]
80
+ 78, 78, 78, 78, 78, 77, 77, 77, 77, 77,
81
+ 49, 49, 49, 49, 49, 117, 117, 117, 117, 117,
82
+ 123, 123, 123, 123, 123, 15, 26, 26, 148, 47,
83
+ 169, 130, 13, 101, 101, 0, 78, 72, 0, 75,
84
+ 169, 77, 72, 91, 75, 49, 0, 101, 15, 26,
85
+ 117, 15, 47, 130, 13, 123, 104, 104, 92, 65,
86
+ 104, 104, 65, 104, 104, 104, 104, 104, 104, 104,
87
+ 104, 154, 154, 139, 139, 154, 154, 104, 154, 154,
88
+ 154, 154, 154, 154, 154, 154, 51, 51, 141, 141,
89
+ 51, 51, 154, 51, 51, 51, 51, 51, 51, 51,
90
+ 51, 36, 36, 60, 60, 36, 36, 51, 36, 36,
91
+ 36, 36, 36, 36, 36, 36, 50, 50, 161, 161,
92
+ 50, 50, 36, 50, 50, 50, 50, 50, 50, 50,
93
+ 50, 8, 8, 109, 109, 8, 8, 50, 8, 8,
94
+ 8, 8, 8, 8, 8, 8, 98, 98, 87, 87,
95
+ 98, 98, 8, 98, 98, 98, 98, 98, 98, 98,
96
+ 98, 44, 44, 45, 95, 44, 44, 98, 44, 44,
97
+ 44, 44, 44, 44, 44, 44, 22, 22, 96, 39,
98
+ 22, 22, 44, 22, 22, 22, 22, 22, 22, 22,
99
+ 22, 23, 23, 99, 35, 23, 23, 22, 23, 23,
100
+ 23, 23, 23, 23, 23, 23, 40, 40, 102, 34,
101
+ 40, 40, 23, 40, 40, 40, 40, 40, 40, 40,
102
+ 40, 103, 103, 33, 30, 103, 103, 40, 103, 103,
103
+ 103, 103, 103, 103, 103, 103, 42, 42, 27, 108,
104
+ 42, 42, 103, 42, 42, 42, 42, 42, 42, 42,
105
+ 42, 41, 41, 83, 82, 41, 41, 42, 41, 41,
106
+ 41, 41, 41, 41, 41, 41, 105, 105, 25, 114,
107
+ 105, 105, 41, 105, 105, 105, 105, 105, 105, 105,
108
+ 105, 43, 43, 46, 24, 43, 43, 105, 43, 43,
109
+ 43, 43, 43, 43, 43, 43, 113, 113, 113, 113,
110
+ 113, 113, 43, 129, 129, 129, 129, 129, 129, 146,
111
+ 115, 146, 146, 115, 113, 38, 38, 37, 37, 53,
112
+ 53, 129, 106, 106, 74, 146, 156, 156, 119, 38,
113
+ 58, 37, 74, 53, 168, 168, 106, 167, 167, 59,
114
+ 156, 94, 94, 54, 54, 55, 55, 21, 168, 56,
115
+ 56, 167, 132, 132, 125, 94, 128, 54, 20, 55,
116
+ 162, 162, 71, 56, 52, 52, 132, 131, 5, 4,
117
+ 3, 5, 4, 3, 162, 68, 68, 68, 52, 5,
118
+ 4, 3, 61, 61, 61, 61, 61, 164, 164, 164,
119
+ 164, 164, 111, 18, 57, 111, 111, 57, 57, 121,
120
+ 121, 121, 121, 121, 122, 122, 122, 122, 122, 19,
121
+ 19, 19, 19, 19, 64, 133, 134, 64, 67, 67,
122
+ 67, 135, 136, 70, 66, 143, 17, 86, 149, 150,
123
+ 151, 16, 14, 159, 160, 63, 9, 163, 62, 7,
124
+ 6, 1, 170, 172, 173, 175 ]
125
125
 
126
126
  racc_action_pointer = [
127
- 24, 82, 409, 408, 439, nil, 359, 358, 357, 4,
128
- 27, 398, 396, 391, 393, nil, nil, 97, 112, 388,
129
- 386, 385, 382, 380, 359, 20, 316, 354, nil, nil,
130
- nil, 187, 295, 14, 298, 300, 297, 251, 172, 232,
131
- 217, 262, 157, 322, 5, 4, nil, 330, 333, 67,
132
- 345, 127, 250, 236, nil, 227, nil, 401, nil, nil,
133
- nil, 299, -3, nil, 320, nil, 248, 247, 411, 369,
134
- 182, nil, 166, 173, 138, 18, -1, 269, -6, 120,
135
- 24, 367, -13, 95, nil, 303, 247, 9, 202, 122,
136
- nil, 307, nil, 341, 146, 149, 52, nil, 142, nil,
137
- nil, 176, nil, 67, nil, nil, 190, 205, 195, 14,
138
- nil, 376, nil, nil, -1, nil, 381, 9, 377, 295,
139
- 35, nil, 281, nil, 314, nil, 77, nil, 107, nil,
140
- nil, 345, nil, 10, 371, 379, 381, 315, 386, 288,
141
- 379, 382, nil, 318, nil, 37, 394, nil, 292, 382,
142
- 420, nil, 387, nil, nil, 399, nil, nil, 386, nil,
143
- 401, nil, 391, 326, 403, 43, nil, -7, 430, nil,
144
- 296, 324, nil, 409, 400, 401, nil ]
127
+ 24, 441, nil, 359, 358, 357, 407, 406, 112, 436,
128
+ nil, nil, nil, 20, 392, 4, 391, 386, 349, 403,
129
+ 318, 307, 157, 172, 244, 228, 24, 198, nil, nil,
130
+ 184, nil, nil, 190, 168, 150, 82, 298, 296, 146,
131
+ 187, 232, 217, 262, 142, 130, 250, 8, nil, 4,
132
+ 97, 67, 345, 300, 324, 326, 330, 359, 296, 298,
133
+ 65, 376, 417, 395, 373, 18, 380, 412, 369, nil,
134
+ 417, 356, -5, nil, 299, -3, nil, -1, -6, nil,
135
+ nil, nil, 212, 212, nil, nil, 394, 112, nil, nil,
136
+ nil, 9, 25, nil, 322, 120, 145, nil, 127, 160,
137
+ nil, 14, 167, 202, 37, 247, 303, nil, 206, 95,
138
+ nil, 357, nil, 281, 236, 269, nil, 9, nil, 284,
139
+ nil, 393, 398, 14, nil, 341, nil, nil, 321, 288,
140
+ 10, 334, 333, 371, 383, 387, 380, nil, nil, 32,
141
+ nil, 47, nil, 392, nil, nil, 292, nil, -16, 395,
142
+ 382, 420, nil, nil, 52, nil, 307, nil, nil, 400,
143
+ 390, 73, 341, 403, 381, nil, nil, 318, 315, -4,
144
+ 432, nil, 399, 400, nil, 411, nil ]
145
145
 
146
146
  racc_action_default = [
147
- -5, -76, -76, -76, -76, -1, -5, -5, -5, -42,
148
- -76, -76, -76, -46, -76, -63, -64, -76, -76, -76,
149
- -76, -76, -76, -76, -76, -76, -76, -76, -2, -3,
150
- -4, -76, -44, -76, -76, -76, -76, -76, -76, -76,
151
- -76, -76, -76, -76, -42, -76, -50, -76, -76, -76,
152
- -76, -76, -76, -76, -9, -22, 177, -47, -59, -62,
153
- -60, -76, -76, -67, -71, -53, -55, -54, -51, -52,
154
- -76, -56, -76, -37, -76, -76, -76, -76, -76, -45,
155
- -76, -76, -76, -76, -68, -76, -76, -76, -76, -76,
156
- -65, -76, -40, -76, -76, -43, -76, -39, -76, -9,
157
- -8, -76, -6, -11, -14, -15, -76, -76, -69, -76,
158
- -66, -70, -49, -75, -76, -41, -73, -76, -76, -76,
159
- -76, -13, -25, -18, -76, -48, -76, -38, -76, -58,
160
- -7, -17, -12, -37, -76, -76, -76, -76, -76, -25,
161
- -76, -19, -61, -76, -57, -76, -76, -10, -76, -76,
162
- -76, -27, -28, -23, -24, -76, -21, -74, -72, -16,
163
- -76, -26, -34, -76, -76, -41, -33, -76, -32, -36,
164
- -76, -76, -31, -76, -29, -30, -35 ]
147
+ -5, -76, -1, -5, -5, -5, -76, -76, -76, -76,
148
+ -2, -3, -4, -76, -76, -42, -76, -76, -76, -46,
149
+ -76, -76, -76, -76, -76, -76, -76, -76, -63, -64,
150
+ -76, 177, -9, -76, -22, -44, -76, -76, -76, -76,
151
+ -76, -76, -76, -76, -76, -76, -76, -42, -50, -76,
152
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
153
+ -76, -47, -37, -76, -76, -76, -45, -51, -52, -53,
154
+ -54, -55, -76, -67, -76, -71, -56, -76, -76, -59,
155
+ -60, -62, -76, -76, -6, -8, -76, -11, -14, -15,
156
+ -9, -76, -76, -40, -76, -43, -76, -39, -76, -76,
157
+ -68, -76, -76, -76, -76, -76, -76, -65, -76, -76,
158
+ -13, -76, -18, -25, -76, -76, -41, -76, -66, -69,
159
+ -49, -70, -73, -76, -75, -17, -12, -7, -76, -25,
160
+ -37, -76, -76, -76, -76, -76, -19, -38, -48, -76,
161
+ -58, -76, -10, -76, -23, -24, -76, -27, -28, -76,
162
+ -76, -76, -21, -57, -76, -61, -76, -16, -26, -76,
163
+ -34, -41, -76, -76, -72, -74, -33, -76, -76, -76,
164
+ -32, -36, -29, -30, -31, -76, -35 ]
165
165
 
166
166
  racc_goto_table = [
167
- 13, 58, 59, 60, 123, 138, 81, 75, 161, 77,
168
- 82, 70, 5, 62, 64, 72, 45, 46, 28, 29,
169
- 30, 83, 154, 132, 168, 147, 107, 4, 89, 128,
170
- 57, 126, 110, 150, nil, nil, nil, 65, 66, 67,
171
- 68, 69, nil, nil, 108, nil, nil, nil, 76, nil,
172
- 78, 118, 114, nil, nil, nil, nil, nil, nil, 113,
173
- nil, nil, 169, nil, nil, 172, nil, nil, nil, nil,
174
- nil, 176, nil, nil, nil, nil, nil, nil, nil, nil,
175
- nil, 140, nil, nil, nil, 109, nil, 111, nil, nil,
176
- nil, nil, nil, nil, nil, 116, 152, 117, 140, nil,
177
- nil, nil, nil, nil, nil, nil, nil, 162, nil, nil,
178
- nil, 157, nil, nil, nil, nil, nil, nil, nil, nil,
179
- nil, nil, 167, nil, nil, nil, nil, nil, nil, 174,
180
- 175, nil, nil, nil, nil, nil, nil, nil, nil, nil,
181
- nil, nil, nil, nil, 158 ]
167
+ 19, 79, 80, 81, 82, 83, 64, 65, 112, 57,
168
+ 128, 72, 75, 2, 48, 49, 10, 11, 12, 158,
169
+ 59, 60, 126, 170, 142, 92, 145, 1, 61, 102,
170
+ 139, 141, 67, 68, 69, 70, 71, 118, nil, nil,
171
+ nil, nil, 77, 78, nil, nil, nil, nil, nil, nil,
172
+ nil, nil, 151, nil, nil, 124, nil, nil, nil, nil,
173
+ nil, nil, nil, 115, nil, nil, nil, 111, nil, nil,
174
+ 119, nil, nil, nil, nil, nil, nil, nil, nil, nil,
175
+ 171, nil, 133, nil, nil, nil, 174, nil, nil, nil,
176
+ 117, nil, 176, nil, nil, 121, 122, 123, 133, nil,
177
+ nil, 148, nil, nil, nil, 165, nil, nil, nil, nil,
178
+ nil, nil, nil, nil, nil, 160, nil, nil, nil, nil,
179
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
180
+ nil, 169, nil, nil, nil, nil, 172, 173, nil, nil,
181
+ nil, nil, nil, nil, nil, nil, 164 ]
182
182
 
183
183
  racc_goto_check = [
184
- 20, 19, 19, 19, 12, 14, 6, 17, 16, 17,
185
- 11, 19, 2, 21, 21, 19, 20, 20, 2, 2,
186
- 2, 13, 14, 10, 18, 9, 8, 1, 22, 23,
187
- 20, 24, 25, 12, nil, nil, nil, 20, 20, 20,
188
- 20, 20, nil, nil, 17, nil, nil, nil, 20, nil,
189
- 20, 6, 17, nil, nil, nil, nil, nil, nil, 19,
190
- nil, nil, 12, nil, nil, 12, nil, nil, nil, nil,
191
- nil, 12, nil, nil, nil, nil, nil, nil, nil, nil,
192
- nil, 17, nil, nil, nil, 20, nil, 20, nil, nil,
193
- nil, nil, nil, nil, nil, 20, 17, 20, 17, nil,
194
- nil, nil, nil, nil, nil, nil, nil, 17, nil, nil,
195
- nil, 19, nil, nil, nil, nil, nil, nil, nil, nil,
196
- nil, nil, 17, nil, nil, nil, nil, nil, nil, 17,
184
+ 20, 19, 19, 19, 19, 19, 17, 17, 12, 6,
185
+ 14, 21, 21, 2, 20, 20, 2, 2, 2, 16,
186
+ 11, 13, 10, 18, 9, 8, 14, 1, 20, 22,
187
+ 23, 24, 20, 20, 20, 20, 20, 25, nil, nil,
188
+ nil, nil, 20, 20, nil, nil, nil, nil, nil, nil,
189
+ nil, nil, 12, nil, nil, 19, nil, nil, nil, nil,
190
+ nil, nil, nil, 17, nil, nil, nil, 6, nil, nil,
197
191
  17, nil, nil, nil, nil, nil, nil, nil, nil, nil,
198
- nil, nil, nil, nil, 20 ]
192
+ 12, nil, 17, nil, nil, nil, 12, nil, nil, nil,
193
+ 20, nil, 12, nil, nil, 20, 20, 20, 17, nil,
194
+ nil, 17, nil, nil, nil, 19, nil, nil, nil, nil,
195
+ nil, nil, nil, nil, nil, 17, nil, nil, nil, nil,
196
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
197
+ nil, 17, nil, nil, nil, nil, 17, 17, nil, nil,
198
+ nil, nil, nil, nil, nil, nil, 20 ]
199
199
 
200
200
  racc_goto_pointer = [
201
- nil, 27, 12, nil, nil, nil, -48, nil, -57, -106,
202
- -97, -45, -102, -34, -117, nil, -140, -41, -140, -32,
203
- -1, -23, -36, -87, -82, -55 ]
201
+ nil, 27, 13, nil, nil, nil, -23, nil, -35, -101,
202
+ -87, -14, -83, -13, -103, nil, -127, -31, -140, -51,
203
+ -8, -34, -46, -92, -93, -62 ]
204
204
 
205
205
  racc_goto_default = [
206
- nil, nil, nil, 6, 7, 8, nil, 100, 101, nil,
207
- 103, nil, nil, nil, nil, 139, nil, 24, nil, 10,
208
- nil, nil, nil, nil, nil, 63 ]
206
+ nil, nil, nil, 3, 4, 5, nil, 85, 86, nil,
207
+ 87, nil, nil, nil, nil, 129, nil, 18, nil, 26,
208
+ nil, nil, nil, nil, nil, 73 ]
209
209
 
210
210
  racc_reduce_table = [
211
211
  0, 0, :racc_error,
@@ -269,13 +269,23 @@ module SpassTranslator
269
269
  pred
270
270
  end
271
271
 
272
- def get_pred_name prefix
273
- prefix_of_prefix = prefix
274
- prefix_of_prefix = prefix.scan(/^(.+)_\d+$/).first.first if prefix =~ /^.+_\d+$/
272
+ def get_pred_name common_name
273
+ registered_names = (@functions + @predicates).map{ |a| a.name }
274
+ prefix = common_name
275
+ prefix = common_name.scan(/^(.+)_\d+$/).first.first if prefix =~ /^.+_\d+$/
276
+ regexp = /^#{ Regexp.escape prefix }(?:_(\d+))?$/
277
+
278
+ already_registered = registered_names.select{ |a| a =~ regexp }
279
+ return common_name if already_registered.empty?
275
280
 
276
- already_existing = (@functions + @predicates).select{ |a| a.name =~ /^#{Regexp.escape prefix_of_prefix}(_\d+)?$/ }.max_by{ |a| a.name }
277
- return prefix if already_existing.nil?
278
- return already_existing.name.increment_suffix
281
+ rhs_numbers = already_registered.map{ |a| [a, a.scan(regexp).first.first] }
282
+
283
+ rhs_numbers.each do |a|
284
+ a[1] = a[1].nil? ? -1 : a[1].to_i
285
+ end
286
+
287
+ max_name = rhs_numbers.max_by{ |a| a[1] }
288
+ return max_name[0].increment_suffix
279
289
  end
280
290
 
281
291
  def _reserve_names(*names)
@@ -13,18 +13,26 @@ module Util
13
13
  "\"#{obj.to_s.gsub('"', '""')}\""
14
14
  end
15
15
 
16
- def initialize
16
+ def initialize(*cols)
17
17
  @row_hashes = []
18
18
  @columns = []
19
+ cols.each do |col|
20
+ add_column col
21
+ end
19
22
  end
20
23
 
21
24
  def add_row(row)
22
25
  @row_hashes << row
23
26
  row.keys.each do |key|
24
- @columns << key unless @columns.include? key
27
+ add_column key unless @columns.include? key
25
28
  end
26
29
  end
27
30
 
31
+ def add_column(col)
32
+ raise "Duplicate column name #{col}" if @columns.include? col.to_sym
33
+ @columns << col.to_sym
34
+ end
35
+
28
36
  alias_method :<<, :add_row
29
37
 
30
38
  def to_s
data/lib/util/util.rb CHANGED
@@ -4,11 +4,12 @@ require 'thread'
4
4
 
5
5
  class String
6
6
  def increment_suffix
7
- suffix = scan(/_\d+$/).first
7
+ suffix = scan(/_(\d+)$/).last
8
8
  if suffix.nil?
9
9
  return self + "_2"
10
10
  else
11
- return self[0, self.length - suffix.length] + '_' + (suffix.to_i + 1).to_s
11
+ suffix = suffix.first
12
+ return self[0, self.length - suffix.length] + (suffix.to_i + 1).to_s
12
13
  end
13
14
  end
14
15
  end
@@ -24,12 +25,15 @@ end
24
25
  def container_for(*fields, &block)
25
26
  raise ArgumentError, 'Field list empty' if fields.empty?
26
27
 
28
+ all_fields_method_name = :container_for_fields
29
+
27
30
  all_fields = Set.new(fields)
28
- if methods.include? "container_for_fields"
29
- all_fields.merge send(:container_for_fields)
31
+ if methods.include? all_fields_method_name or methods.include? all_fields_method_name.to_s
32
+ prev_fields = send all_fields_method_name
33
+ all_fields.merge prev_fields
30
34
  end
31
35
  singleton_class = (class << self; self; end)
32
- singleton_class.send :define_method, :container_for_fields, lambda{all_fields}
36
+ singleton_class.send :define_method, all_fields_method_name, lambda{all_fields}
33
37
 
34
38
  attr_accessor *fields
35
39
 
@@ -44,7 +48,7 @@ def container_for(*fields, &block)
44
48
  if block
45
49
  instance_eval &block
46
50
  elsif not options_trimmed.empty?
47
- raise ArgumentError, "Undefined fields mentioned in initializer: #{options_trimmed.keys.map{ |key| ":#{key.to_s}"}.join(", ")}"
51
+ raise ArgumentError, "Undefined fields mentioned in initializer of #{self.class}: #{options_trimmed.keys.map{ |key| ":#{key.to_s}"}.join(", ")}" + "\n[#{all_fields.to_a.join ' ' }]"
48
52
  end
49
53
  end
50
54
 
@@ -54,7 +58,7 @@ def container_for(*fields, &block)
54
58
  while not to_inspect.empty?
55
59
  elem = to_inspect.pop
56
60
  inspected << elem
57
- if elem.class.methods.include? 'container_for_fields'
61
+ if elem.class.methods.include?(all_fields_method_name) or elem.class.methods.include?(all_fields_method_name.to_s)
58
62
  elem.class.container_for_fields.each do |field|
59
63
  field_val = elem.send(field)
60
64
  next if field_val.nil?