Compare View
Commits (5)
-
new action load(FILE)
-
one more example.
Showing
5 changed files
Show diff stats
| ... | ... | @@ -0,0 +1,1282 @@ |
| 1 | +_ > []. | |
| 2 | +_T > [[]|_T]. | |
| 3 | +[X|_T] > [preds(X)|_T]. | |
| 4 | +_T > [[]|_T]. | |
| 5 | +_T > [int|_T]. | |
| 6 | +_T > ['X_INTRODUCED_42'|_T]. | |
| 7 | +_T > [[]|_T]. | |
| 8 | +_T > [lit(1,int)|_T]. | |
| 9 | +_T > [lit(-1,int)|_T]. | |
| 10 | +[E|_T] > [[E]|_T]. | |
| 11 | +[T,H|_T] > [[H|T]|_T]. | |
| 12 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 13 | +[VAL,AN,ID,T|_T] > [var(ID, array(T,1,2), VAL, AN)|_T]. | |
| 14 | +[H,T|_T] > [[H|T]|_T]. | |
| 15 | +_T > [int|_T]. | |
| 16 | +_T > ['X_INTRODUCED_45'|_T]. | |
| 17 | +_T > [[]|_T]. | |
| 18 | +_T > [lit(1,int)|_T]. | |
| 19 | +_T > [lit(-1,int)|_T]. | |
| 20 | +_T > [lit(1,int)|_T]. | |
| 21 | +[E|_T] > [[E]|_T]. | |
| 22 | +[T,H|_T] > [[H|T]|_T]. | |
| 23 | +[T,H|_T] > [[H|T]|_T]. | |
| 24 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 25 | +[VAL,AN,ID,T|_T] > [var(ID, array(T,1,3), VAL, AN)|_T]. | |
| 26 | +[H,T|_T] > [[H|T]|_T]. | |
| 27 | +_T > [int|_T]. | |
| 28 | +_T > ['X_INTRODUCED_70'|_T]. | |
| 29 | +_T > [[]|_T]. | |
| 30 | +_T > [lit(1,int)|_T]. | |
| 31 | +_T > [lit(1,int)|_T]. | |
| 32 | +_T > [lit(-1,int)|_T]. | |
| 33 | +_T > [lit(-1,int)|_T]. | |
| 34 | +[E|_T] > [[E]|_T]. | |
| 35 | +[T,H|_T] > [[H|T]|_T]. | |
| 36 | +[T,H|_T] > [[H|T]|_T]. | |
| 37 | +[T,H|_T] > [[H|T]|_T]. | |
| 38 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 39 | +[VAL,AN,ID,T|_T] > [var(ID, array(T,1,4), VAL, AN)|_T]. | |
| 40 | +[H,T|_T] > [[H|T]|_T]. | |
| 41 | +_T > [int(1,6)|_T]. | |
| 42 | +_T > ['X_INTRODUCED_0'|_T]. | |
| 43 | +_T > [[]|_T]. | |
| 44 | +_T > [[]|_T]. | |
| 45 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
| 46 | +[H,T|_T] > [[H|T]|_T]. | |
| 47 | +_T > [int(1,6)|_T]. | |
| 48 | +_T > ['X_INTRODUCED_1'|_T]. | |
| 49 | +_T > [[]|_T]. | |
| 50 | +_T > [[]|_T]. | |
| 51 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
| 52 | +[H,T|_T] > [[H|T]|_T]. | |
| 53 | +_T > [int(1,6)|_T]. | |
| 54 | +_T > ['X_INTRODUCED_2'|_T]. | |
| 55 | +_T > [[]|_T]. | |
| 56 | +_T > [[]|_T]. | |
| 57 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
| 58 | +[H,T|_T] > [[H|T]|_T]. | |
| 59 | +_T > [int(1,6)|_T]. | |
| 60 | +_T > ['X_INTRODUCED_3'|_T]. | |
| 61 | +_T > [[]|_T]. | |
| 62 | +_T > [[]|_T]. | |
| 63 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
| 64 | +[H,T|_T] > [[H|T]|_T]. | |
| 65 | +_T > [int(1,6)|_T]. | |
| 66 | +_T > ['X_INTRODUCED_4'|_T]. | |
| 67 | +_T > [[]|_T]. | |
| 68 | +_T > [[]|_T]. | |
| 69 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
| 70 | +[H,T|_T] > [[H|T]|_T]. | |
| 71 | +_T > [int(1,6)|_T]. | |
| 72 | +_T > ['X_INTRODUCED_5'|_T]. | |
| 73 | +_T > [[]|_T]. | |
| 74 | +_T > [[]|_T]. | |
| 75 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
| 76 | +[H,T|_T] > [[H|T]|_T]. | |
| 77 | +_T > [[5]|_T]. | |
| 78 | +[Ls|_T] > [[4|Ls]|_T]. | |
| 79 | +[Ls|_T] > [[3|Ls]|_T]. | |
| 80 | +[Ls|_T] > [[2|Ls]|_T]. | |
| 81 | +[Ls|_T] > [[1|Ls]|_T]. | |
| 82 | +[Ls|_T] > [[-1|Ls]|_T]. | |
| 83 | +[Ls|_T] > [[-2|Ls]|_T]. | |
| 84 | +[Ls|_T] > [[-3|Ls]|_T]. | |
| 85 | +[Ls|_T] > [[-4|Ls]|_T]. | |
| 86 | +[Ls|_T] > [[-5|Ls]|_T]. | |
| 87 | +[Ls|_T] > [int(Ls)|_T]. | |
| 88 | +_T > ['X_INTRODUCED_7'|_T]. | |
| 89 | +_T > [id('is_defined_var')|_T]. | |
| 90 | +_T > [[]|_T]. | |
| 91 | +[As, E|_T] > [[E|As]|_T]. | |
| 92 | +_T > [[]|_T]. | |
| 93 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
| 94 | +[H,T|_T] > [[H|T]|_T]. | |
| 95 | +_T > [[5]|_T]. | |
| 96 | +[Ls|_T] > [[4|Ls]|_T]. | |
| 97 | +[Ls|_T] > [[3|Ls]|_T]. | |
| 98 | +[Ls|_T] > [[2|Ls]|_T]. | |
| 99 | +[Ls|_T] > [[1|Ls]|_T]. | |
| 100 | +[Ls|_T] > [[-1|Ls]|_T]. | |
| 101 | +[Ls|_T] > [[-2|Ls]|_T]. | |
| 102 | +[Ls|_T] > [[-3|Ls]|_T]. | |
| 103 | +[Ls|_T] > [[-4|Ls]|_T]. | |
| 104 | +[Ls|_T] > [[-5|Ls]|_T]. | |
| 105 | +[Ls|_T] > [int(Ls)|_T]. | |
| 106 | +_T > ['X_INTRODUCED_8'|_T]. | |
| 107 | +_T > [id('is_defined_var')|_T]. | |
| 108 | +_T > [[]|_T]. | |
| 109 | +[As, E|_T] > [[E|As]|_T]. | |
| 110 | +_T > [[]|_T]. | |
| 111 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
| 112 | +[H,T|_T] > [[H|T]|_T]. | |
| 113 | +_T > [[5]|_T]. | |
| 114 | +[Ls|_T] > [[4|Ls]|_T]. | |
| 115 | +[Ls|_T] > [[3|Ls]|_T]. | |
| 116 | +[Ls|_T] > [[2|Ls]|_T]. | |
| 117 | +[Ls|_T] > [[1|Ls]|_T]. | |
| 118 | +[Ls|_T] > [[-1|Ls]|_T]. | |
| 119 | +[Ls|_T] > [[-2|Ls]|_T]. | |
| 120 | +[Ls|_T] > [[-3|Ls]|_T]. | |
| 121 | +[Ls|_T] > [[-4|Ls]|_T]. | |
| 122 | +[Ls|_T] > [[-5|Ls]|_T]. | |
| 123 | +[Ls|_T] > [int(Ls)|_T]. | |
| 124 | +_T > ['X_INTRODUCED_9'|_T]. | |
| 125 | +_T > [id('is_defined_var')|_T]. | |
| 126 | +_T > [[]|_T]. | |
| 127 | +[As, E|_T] > [[E|As]|_T]. | |
| 128 | +_T > [[]|_T]. | |
| 129 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
| 130 | +[H,T|_T] > [[H|T]|_T]. | |
| 131 | +_T > [[5]|_T]. | |
| 132 | +[Ls|_T] > [[4|Ls]|_T]. | |
| 133 | +[Ls|_T] > [[3|Ls]|_T]. | |
| 134 | +[Ls|_T] > [[2|Ls]|_T]. | |
| 135 | +[Ls|_T] > [[1|Ls]|_T]. | |
| 136 | +[Ls|_T] > [[-1|Ls]|_T]. | |
| 137 | +[Ls|_T] > [[-2|Ls]|_T]. | |
| 138 | +[Ls|_T] > [[-3|Ls]|_T]. | |
| 139 | +[Ls|_T] > [[-4|Ls]|_T]. | |
| 140 | +[Ls|_T] > [[-5|Ls]|_T]. | |
| 141 | +[Ls|_T] > [int(Ls)|_T]. | |
| 142 | +_T > ['X_INTRODUCED_10'|_T]. | |
| 143 | +_T > [id('is_defined_var')|_T]. | |
| 144 | +_T > [[]|_T]. | |
| 145 | +[As, E|_T] > [[E|As]|_T]. | |
| 146 | +_T > [[]|_T]. | |
| 147 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
| 148 | +[H,T|_T] > [[H|T]|_T]. | |
| 149 | +_T > [[5]|_T]. | |
| 150 | +[Ls|_T] > [[4|Ls]|_T]. | |
| 151 | +[Ls|_T] > [[3|Ls]|_T]. | |
| 152 | +[Ls|_T] > [[2|Ls]|_T]. | |
| 153 | +[Ls|_T] > [[1|Ls]|_T]. | |
| 154 | +[Ls|_T] > [[-1|Ls]|_T]. | |
| 155 | +[Ls|_T] > [[-2|Ls]|_T]. | |
| 156 | +[Ls|_T] > [[-3|Ls]|_T]. | |
| 157 | +[Ls|_T] > [[-4|Ls]|_T]. | |
| 158 | +[Ls|_T] > [[-5|Ls]|_T]. | |
| 159 | +[Ls|_T] > [int(Ls)|_T]. | |
| 160 | +_T > ['X_INTRODUCED_11'|_T]. | |
| 161 | +_T > [id('is_defined_var')|_T]. | |
| 162 | +_T > [[]|_T]. | |
| 163 | +[As, E|_T] > [[E|As]|_T]. | |
| 164 | +_T > [[]|_T]. | |
| 165 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
| 166 | +[H,T|_T] > [[H|T]|_T]. | |
| 167 | +_T > [[5]|_T]. | |
| 168 | +[Ls|_T] > [[4|Ls]|_T]. | |
| 169 | +[Ls|_T] > [[3|Ls]|_T]. | |
| 170 | +[Ls|_T] > [[2|Ls]|_T]. | |
| 171 | +[Ls|_T] > [[1|Ls]|_T]. | |
| 172 | +[Ls|_T] > [[-1|Ls]|_T]. | |
| 173 | +[Ls|_T] > [[-2|Ls]|_T]. | |
| 174 | +[Ls|_T] > [[-3|Ls]|_T]. | |
| 175 | +[Ls|_T] > [[-4|Ls]|_T]. | |
| 176 | +[Ls|_T] > [[-5|Ls]|_T]. | |
| 177 | +[Ls|_T] > [int(Ls)|_T]. | |
| 178 | +_T > ['X_INTRODUCED_14'|_T]. | |
| 179 | +_T > [id('is_defined_var')|_T]. | |
| 180 | +_T > [[]|_T]. | |
| 181 | +[As, E|_T] > [[E|As]|_T]. | |
| 182 | +_T > [[]|_T]. | |
| 183 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
| 184 | +[H,T|_T] > [[H|T]|_T]. | |
| 185 | +_T > [[5]|_T]. | |
| 186 | +[Ls|_T] > [[4|Ls]|_T]. | |
| 187 | +[Ls|_T] > [[3|Ls]|_T]. | |
| 188 | +[Ls|_T] > [[2|Ls]|_T]. | |
| 189 | +[Ls|_T] > [[1|Ls]|_T]. | |
| 190 | +[Ls|_T] > [[-1|Ls]|_T]. | |
| 191 | +[Ls|_T] > [[-2|Ls]|_T]. | |
| 192 | +[Ls|_T] > [[-3|Ls]|_T]. | |
| 193 | +[Ls|_T] > [[-4|Ls]|_T]. | |
| 194 | +[Ls|_T] > [[-5|Ls]|_T]. | |
| 195 | +[Ls|_T] > [int(Ls)|_T]. | |
| 196 | +_T > ['X_INTRODUCED_15'|_T]. | |
| 197 | +_T > [id('is_defined_var')|_T]. | |
| 198 | +_T > [[]|_T]. | |
| 199 | +[As, E|_T] > [[E|As]|_T]. | |
| 200 | +_T > [[]|_T]. | |
| 201 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
| 202 | +[H,T|_T] > [[H|T]|_T]. | |
| 203 | +_T > [[5]|_T]. | |
| 204 | +[Ls|_T] > [[4|Ls]|_T]. | |
| 205 | +[Ls|_T] > [[3|Ls]|_T]. | |
| 206 | +[Ls|_T] > [[2|Ls]|_T]. | |
| 207 | +[Ls|_T] > [[1|Ls]|_T]. | |
| 208 | +[Ls|_T] > [[-1|Ls]|_T]. | |
| 209 | +[Ls|_T] > [[-2|Ls]|_T]. | |
| 210 | +[Ls|_T] > [[-3|Ls]|_T]. | |
| 211 | +[Ls|_T] > [[-4|Ls]|_T]. | |
| 212 | +[Ls|_T] > [[-5|Ls]|_T]. | |
| 213 | +[Ls|_T] > [int(Ls)|_T]. | |
| 214 | +_T > ['X_INTRODUCED_16'|_T]. | |
| 215 | +_T > [id('is_defined_var')|_T]. | |
| 216 | +_T > [[]|_T]. | |
| 217 | +[As, E|_T] > [[E|As]|_T]. | |
| 218 | +_T > [[]|_T]. | |
| 219 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
| 220 | +[H,T|_T] > [[H|T]|_T]. | |
| 221 | +_T > [[5]|_T]. | |
| 222 | +[Ls|_T] > [[4|Ls]|_T]. | |
| 223 | +[Ls|_T] > [[3|Ls]|_T]. | |
| 224 | +[Ls|_T] > [[2|Ls]|_T]. | |
| 225 | +[Ls|_T] > [[1|Ls]|_T]. | |
| 226 | +[Ls|_T] > [[-1|Ls]|_T]. | |
| 227 | +[Ls|_T] > [[-2|Ls]|_T]. | |
| 228 | +[Ls|_T] > [[-3|Ls]|_T]. | |
| 229 | +[Ls|_T] > [[-4|Ls]|_T]. | |
| 230 | +[Ls|_T] > [[-5|Ls]|_T]. | |
| 231 | +[Ls|_T] > [int(Ls)|_T]. | |
| 232 | +_T > ['X_INTRODUCED_17'|_T]. | |
| 233 | +_T > [id('is_defined_var')|_T]. | |
| 234 | +_T > [[]|_T]. | |
| 235 | +[As, E|_T] > [[E|As]|_T]. | |
| 236 | +_T > [[]|_T]. | |
| 237 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
| 238 | +[H,T|_T] > [[H|T]|_T]. | |
| 239 | +_T > [[5]|_T]. | |
| 240 | +[Ls|_T] > [[4|Ls]|_T]. | |
| 241 | +[Ls|_T] > [[3|Ls]|_T]. | |
| 242 | +[Ls|_T] > [[2|Ls]|_T]. | |
| 243 | +[Ls|_T] > [[1|Ls]|_T]. | |
| 244 | +[Ls|_T] > [[-1|Ls]|_T]. | |
| 245 | +[Ls|_T] > [[-2|Ls]|_T]. | |
| 246 | +[Ls|_T] > [[-3|Ls]|_T]. | |
| 247 | +[Ls|_T] > [[-4|Ls]|_T]. | |
| 248 | +[Ls|_T] > [[-5|Ls]|_T]. | |
| 249 | +[Ls|_T] > [int(Ls)|_T]. | |
| 250 | +_T > ['X_INTRODUCED_21'|_T]. | |
| 251 | +_T > [id('is_defined_var')|_T]. | |
| 252 | +_T > [[]|_T]. | |
| 253 | +[As, E|_T] > [[E|As]|_T]. | |
| 254 | +_T > [[]|_T]. | |
| 255 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
| 256 | +[H,T|_T] > [[H|T]|_T]. | |
| 257 | +_T > [[5]|_T]. | |
| 258 | +[Ls|_T] > [[4|Ls]|_T]. | |
| 259 | +[Ls|_T] > [[3|Ls]|_T]. | |
| 260 | +[Ls|_T] > [[2|Ls]|_T]. | |
| 261 | +[Ls|_T] > [[1|Ls]|_T]. | |
| 262 | +[Ls|_T] > [[-1|Ls]|_T]. | |
| 263 | +[Ls|_T] > [[-2|Ls]|_T]. | |
| 264 | +[Ls|_T] > [[-3|Ls]|_T]. | |
| 265 | +[Ls|_T] > [[-4|Ls]|_T]. | |
| 266 | +[Ls|_T] > [[-5|Ls]|_T]. | |
| 267 | +[Ls|_T] > [int(Ls)|_T]. | |
| 268 | +_T > ['X_INTRODUCED_22'|_T]. | |
| 269 | +_T > [id('is_defined_var')|_T]. | |
| 270 | +_T > [[]|_T]. | |
| 271 | +[As, E|_T] > [[E|As]|_T]. | |
| 272 | +_T > [[]|_T]. | |
| 273 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
| 274 | +[H,T|_T] > [[H|T]|_T]. | |
| 275 | +_T > [[5]|_T]. | |
| 276 | +[Ls|_T] > [[4|Ls]|_T]. | |
| 277 | +[Ls|_T] > [[3|Ls]|_T]. | |
| 278 | +[Ls|_T] > [[2|Ls]|_T]. | |
| 279 | +[Ls|_T] > [[1|Ls]|_T]. | |
| 280 | +[Ls|_T] > [[-1|Ls]|_T]. | |
| 281 | +[Ls|_T] > [[-2|Ls]|_T]. | |
| 282 | +[Ls|_T] > [[-3|Ls]|_T]. | |
| 283 | +[Ls|_T] > [[-4|Ls]|_T]. | |
| 284 | +[Ls|_T] > [[-5|Ls]|_T]. | |
| 285 | +[Ls|_T] > [int(Ls)|_T]. | |
| 286 | +_T > ['X_INTRODUCED_23'|_T]. | |
| 287 | +_T > [id('is_defined_var')|_T]. | |
| 288 | +_T > [[]|_T]. | |
| 289 | +[As, E|_T] > [[E|As]|_T]. | |
| 290 | +_T > [[]|_T]. | |
| 291 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
| 292 | +[H,T|_T] > [[H|T]|_T]. | |
| 293 | +_T > [[5]|_T]. | |
| 294 | +[Ls|_T] > [[4|Ls]|_T]. | |
| 295 | +[Ls|_T] > [[3|Ls]|_T]. | |
| 296 | +[Ls|_T] > [[2|Ls]|_T]. | |
| 297 | +[Ls|_T] > [[1|Ls]|_T]. | |
| 298 | +[Ls|_T] > [[-1|Ls]|_T]. | |
| 299 | +[Ls|_T] > [[-2|Ls]|_T]. | |
| 300 | +[Ls|_T] > [[-3|Ls]|_T]. | |
| 301 | +[Ls|_T] > [[-4|Ls]|_T]. | |
| 302 | +[Ls|_T] > [[-5|Ls]|_T]. | |
| 303 | +[Ls|_T] > [int(Ls)|_T]. | |
| 304 | +_T > ['X_INTRODUCED_28'|_T]. | |
| 305 | +_T > [id('is_defined_var')|_T]. | |
| 306 | +_T > [[]|_T]. | |
| 307 | +[As, E|_T] > [[E|As]|_T]. | |
| 308 | +_T > [[]|_T]. | |
| 309 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
| 310 | +[H,T|_T] > [[H|T]|_T]. | |
| 311 | +_T > [[5]|_T]. | |
| 312 | +[Ls|_T] > [[4|Ls]|_T]. | |
| 313 | +[Ls|_T] > [[3|Ls]|_T]. | |
| 314 | +[Ls|_T] > [[2|Ls]|_T]. | |
| 315 | +[Ls|_T] > [[1|Ls]|_T]. | |
| 316 | +[Ls|_T] > [[-1|Ls]|_T]. | |
| 317 | +[Ls|_T] > [[-2|Ls]|_T]. | |
| 318 | +[Ls|_T] > [[-3|Ls]|_T]. | |
| 319 | +[Ls|_T] > [[-4|Ls]|_T]. | |
| 320 | +[Ls|_T] > [[-5|Ls]|_T]. | |
| 321 | +[Ls|_T] > [int(Ls)|_T]. | |
| 322 | +_T > ['X_INTRODUCED_29'|_T]. | |
| 323 | +_T > [id('is_defined_var')|_T]. | |
| 324 | +_T > [[]|_T]. | |
| 325 | +[As, E|_T] > [[E|As]|_T]. | |
| 326 | +_T > [[]|_T]. | |
| 327 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
| 328 | +[H,T|_T] > [[H|T]|_T]. | |
| 329 | +_T > [[5]|_T]. | |
| 330 | +[Ls|_T] > [[4|Ls]|_T]. | |
| 331 | +[Ls|_T] > [[3|Ls]|_T]. | |
| 332 | +[Ls|_T] > [[2|Ls]|_T]. | |
| 333 | +[Ls|_T] > [[1|Ls]|_T]. | |
| 334 | +[Ls|_T] > [[-1|Ls]|_T]. | |
| 335 | +[Ls|_T] > [[-2|Ls]|_T]. | |
| 336 | +[Ls|_T] > [[-3|Ls]|_T]. | |
| 337 | +[Ls|_T] > [[-4|Ls]|_T]. | |
| 338 | +[Ls|_T] > [[-5|Ls]|_T]. | |
| 339 | +[Ls|_T] > [int(Ls)|_T]. | |
| 340 | +_T > ['X_INTRODUCED_35'|_T]. | |
| 341 | +_T > [id('is_defined_var')|_T]. | |
| 342 | +_T > [[]|_T]. | |
| 343 | +[As, E|_T] > [[E|As]|_T]. | |
| 344 | +_T > [[]|_T]. | |
| 345 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
| 346 | +[H,T|_T] > [[H|T]|_T]. | |
| 347 | +_T > [int(1,6)|_T]. | |
| 348 | +_T > ['costas'|_T]. | |
| 349 | +_T > [lit([1, 2, 3, 4, 5, 6], set(int))|_T]. | |
| 350 | +[E|_T] > [[E]|_T]. | |
| 351 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 352 | +[E|_T] > [[E]|_T]. | |
| 353 | +_T > [[]|_T]. | |
| 354 | +[As, E|_T] > [[E|As]|_T]. | |
| 355 | +_T > [id('X_INTRODUCED_0')|_T]. | |
| 356 | +_T > [id('X_INTRODUCED_1')|_T]. | |
| 357 | +_T > [id('X_INTRODUCED_2')|_T]. | |
| 358 | +_T > [id('X_INTRODUCED_3')|_T]. | |
| 359 | +_T > [id('X_INTRODUCED_4')|_T]. | |
| 360 | +_T > [id('X_INTRODUCED_5')|_T]. | |
| 361 | +[E|_T] > [[E]|_T]. | |
| 362 | +[T,H|_T] > [[H|T]|_T]. | |
| 363 | +[T,H|_T] > [[H|T]|_T]. | |
| 364 | +[T,H|_T] > [[H|T]|_T]. | |
| 365 | +[T,H|_T] > [[H|T]|_T]. | |
| 366 | +[T,H|_T] > [[H|T]|_T]. | |
| 367 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 368 | +[VAL,AN,ID,T|_T] > [var(ID, array(T,1,6), VAL, AN)|_T]. | |
| 369 | +[H,T|_T] > [[H|T]|_T]. | |
| 370 | +[X|_T] > [vars(X)|_T]. | |
| 371 | +_T > [[]|_T]. | |
| 372 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 373 | +_T > [id('X_INTRODUCED_0')|_T]. | |
| 374 | +_T > [id('X_INTRODUCED_1')|_T]. | |
| 375 | +[E|_T] > [[E]|_T]. | |
| 376 | +[T,H|_T] > [[H|T]|_T]. | |
| 377 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 378 | +_T > [lit(0,int)|_T]. | |
| 379 | +[E|_T] > [[E]|_T]. | |
| 380 | +[T,H|_T] > [[H|T]|_T]. | |
| 381 | +[T,H|_T] > [[H|T]|_T]. | |
| 382 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 383 | +_T > [[]|_T]. | |
| 384 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 385 | +[H,T|_T] > [[H|T]|_T]. | |
| 386 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 387 | +_T > [id('X_INTRODUCED_0')|_T]. | |
| 388 | +_T > [id('X_INTRODUCED_2')|_T]. | |
| 389 | +[E|_T] > [[E]|_T]. | |
| 390 | +[T,H|_T] > [[H|T]|_T]. | |
| 391 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 392 | +_T > [lit(0,int)|_T]. | |
| 393 | +[E|_T] > [[E]|_T]. | |
| 394 | +[T,H|_T] > [[H|T]|_T]. | |
| 395 | +[T,H|_T] > [[H|T]|_T]. | |
| 396 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 397 | +_T > [[]|_T]. | |
| 398 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 399 | +[H,T|_T] > [[H|T]|_T]. | |
| 400 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 401 | +_T > [id('X_INTRODUCED_0')|_T]. | |
| 402 | +_T > [id('X_INTRODUCED_3')|_T]. | |
| 403 | +[E|_T] > [[E]|_T]. | |
| 404 | +[T,H|_T] > [[H|T]|_T]. | |
| 405 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 406 | +_T > [lit(0,int)|_T]. | |
| 407 | +[E|_T] > [[E]|_T]. | |
| 408 | +[T,H|_T] > [[H|T]|_T]. | |
| 409 | +[T,H|_T] > [[H|T]|_T]. | |
| 410 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 411 | +_T > [[]|_T]. | |
| 412 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 413 | +[H,T|_T] > [[H|T]|_T]. | |
| 414 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 415 | +_T > [id('X_INTRODUCED_0')|_T]. | |
| 416 | +_T > [id('X_INTRODUCED_4')|_T]. | |
| 417 | +[E|_T] > [[E]|_T]. | |
| 418 | +[T,H|_T] > [[H|T]|_T]. | |
| 419 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 420 | +_T > [lit(0,int)|_T]. | |
| 421 | +[E|_T] > [[E]|_T]. | |
| 422 | +[T,H|_T] > [[H|T]|_T]. | |
| 423 | +[T,H|_T] > [[H|T]|_T]. | |
| 424 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 425 | +_T > [[]|_T]. | |
| 426 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 427 | +[H,T|_T] > [[H|T]|_T]. | |
| 428 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 429 | +_T > [id('X_INTRODUCED_0')|_T]. | |
| 430 | +_T > [id('X_INTRODUCED_5')|_T]. | |
| 431 | +[E|_T] > [[E]|_T]. | |
| 432 | +[T,H|_T] > [[H|T]|_T]. | |
| 433 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 434 | +_T > [lit(0,int)|_T]. | |
| 435 | +[E|_T] > [[E]|_T]. | |
| 436 | +[T,H|_T] > [[H|T]|_T]. | |
| 437 | +[T,H|_T] > [[H|T]|_T]. | |
| 438 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 439 | +_T > [[]|_T]. | |
| 440 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 441 | +[H,T|_T] > [[H|T]|_T]. | |
| 442 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 443 | +_T > [id('X_INTRODUCED_1')|_T]. | |
| 444 | +_T > [id('X_INTRODUCED_2')|_T]. | |
| 445 | +[E|_T] > [[E]|_T]. | |
| 446 | +[T,H|_T] > [[H|T]|_T]. | |
| 447 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 448 | +_T > [lit(0,int)|_T]. | |
| 449 | +[E|_T] > [[E]|_T]. | |
| 450 | +[T,H|_T] > [[H|T]|_T]. | |
| 451 | +[T,H|_T] > [[H|T]|_T]. | |
| 452 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 453 | +_T > [[]|_T]. | |
| 454 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 455 | +[H,T|_T] > [[H|T]|_T]. | |
| 456 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 457 | +_T > [id('X_INTRODUCED_1')|_T]. | |
| 458 | +_T > [id('X_INTRODUCED_3')|_T]. | |
| 459 | +[E|_T] > [[E]|_T]. | |
| 460 | +[T,H|_T] > [[H|T]|_T]. | |
| 461 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 462 | +_T > [lit(0,int)|_T]. | |
| 463 | +[E|_T] > [[E]|_T]. | |
| 464 | +[T,H|_T] > [[H|T]|_T]. | |
| 465 | +[T,H|_T] > [[H|T]|_T]. | |
| 466 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 467 | +_T > [[]|_T]. | |
| 468 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 469 | +[H,T|_T] > [[H|T]|_T]. | |
| 470 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 471 | +_T > [id('X_INTRODUCED_1')|_T]. | |
| 472 | +_T > [id('X_INTRODUCED_4')|_T]. | |
| 473 | +[E|_T] > [[E]|_T]. | |
| 474 | +[T,H|_T] > [[H|T]|_T]. | |
| 475 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 476 | +_T > [lit(0,int)|_T]. | |
| 477 | +[E|_T] > [[E]|_T]. | |
| 478 | +[T,H|_T] > [[H|T]|_T]. | |
| 479 | +[T,H|_T] > [[H|T]|_T]. | |
| 480 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 481 | +_T > [[]|_T]. | |
| 482 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 483 | +[H,T|_T] > [[H|T]|_T]. | |
| 484 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 485 | +_T > [id('X_INTRODUCED_1')|_T]. | |
| 486 | +_T > [id('X_INTRODUCED_5')|_T]. | |
| 487 | +[E|_T] > [[E]|_T]. | |
| 488 | +[T,H|_T] > [[H|T]|_T]. | |
| 489 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 490 | +_T > [lit(0,int)|_T]. | |
| 491 | +[E|_T] > [[E]|_T]. | |
| 492 | +[T,H|_T] > [[H|T]|_T]. | |
| 493 | +[T,H|_T] > [[H|T]|_T]. | |
| 494 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 495 | +_T > [[]|_T]. | |
| 496 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 497 | +[H,T|_T] > [[H|T]|_T]. | |
| 498 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 499 | +_T > [id('X_INTRODUCED_2')|_T]. | |
| 500 | +_T > [id('X_INTRODUCED_3')|_T]. | |
| 501 | +[E|_T] > [[E]|_T]. | |
| 502 | +[T,H|_T] > [[H|T]|_T]. | |
| 503 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 504 | +_T > [lit(0,int)|_T]. | |
| 505 | +[E|_T] > [[E]|_T]. | |
| 506 | +[T,H|_T] > [[H|T]|_T]. | |
| 507 | +[T,H|_T] > [[H|T]|_T]. | |
| 508 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 509 | +_T > [[]|_T]. | |
| 510 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 511 | +[H,T|_T] > [[H|T]|_T]. | |
| 512 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 513 | +_T > [id('X_INTRODUCED_2')|_T]. | |
| 514 | +_T > [id('X_INTRODUCED_4')|_T]. | |
| 515 | +[E|_T] > [[E]|_T]. | |
| 516 | +[T,H|_T] > [[H|T]|_T]. | |
| 517 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 518 | +_T > [lit(0,int)|_T]. | |
| 519 | +[E|_T] > [[E]|_T]. | |
| 520 | +[T,H|_T] > [[H|T]|_T]. | |
| 521 | +[T,H|_T] > [[H|T]|_T]. | |
| 522 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 523 | +_T > [[]|_T]. | |
| 524 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 525 | +[H,T|_T] > [[H|T]|_T]. | |
| 526 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 527 | +_T > [id('X_INTRODUCED_2')|_T]. | |
| 528 | +_T > [id('X_INTRODUCED_5')|_T]. | |
| 529 | +[E|_T] > [[E]|_T]. | |
| 530 | +[T,H|_T] > [[H|T]|_T]. | |
| 531 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 532 | +_T > [lit(0,int)|_T]. | |
| 533 | +[E|_T] > [[E]|_T]. | |
| 534 | +[T,H|_T] > [[H|T]|_T]. | |
| 535 | +[T,H|_T] > [[H|T]|_T]. | |
| 536 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 537 | +_T > [[]|_T]. | |
| 538 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 539 | +[H,T|_T] > [[H|T]|_T]. | |
| 540 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 541 | +_T > [id('X_INTRODUCED_3')|_T]. | |
| 542 | +_T > [id('X_INTRODUCED_4')|_T]. | |
| 543 | +[E|_T] > [[E]|_T]. | |
| 544 | +[T,H|_T] > [[H|T]|_T]. | |
| 545 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 546 | +_T > [lit(0,int)|_T]. | |
| 547 | +[E|_T] > [[E]|_T]. | |
| 548 | +[T,H|_T] > [[H|T]|_T]. | |
| 549 | +[T,H|_T] > [[H|T]|_T]. | |
| 550 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 551 | +_T > [[]|_T]. | |
| 552 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 553 | +[H,T|_T] > [[H|T]|_T]. | |
| 554 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 555 | +_T > [id('X_INTRODUCED_3')|_T]. | |
| 556 | +_T > [id('X_INTRODUCED_5')|_T]. | |
| 557 | +[E|_T] > [[E]|_T]. | |
| 558 | +[T,H|_T] > [[H|T]|_T]. | |
| 559 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 560 | +_T > [lit(0,int)|_T]. | |
| 561 | +[E|_T] > [[E]|_T]. | |
| 562 | +[T,H|_T] > [[H|T]|_T]. | |
| 563 | +[T,H|_T] > [[H|T]|_T]. | |
| 564 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 565 | +_T > [[]|_T]. | |
| 566 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 567 | +[H,T|_T] > [[H|T]|_T]. | |
| 568 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 569 | +_T > [id('X_INTRODUCED_4')|_T]. | |
| 570 | +_T > [id('X_INTRODUCED_5')|_T]. | |
| 571 | +[E|_T] > [[E]|_T]. | |
| 572 | +[T,H|_T] > [[H|T]|_T]. | |
| 573 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 574 | +_T > [lit(0,int)|_T]. | |
| 575 | +[E|_T] > [[E]|_T]. | |
| 576 | +[T,H|_T] > [[H|T]|_T]. | |
| 577 | +[T,H|_T] > [[H|T]|_T]. | |
| 578 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 579 | +_T > [[]|_T]. | |
| 580 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 581 | +[H,T|_T] > [[H|T]|_T]. | |
| 582 | +_T > [id('X_INTRODUCED_45')|_T]. | |
| 583 | +_T > [id('X_INTRODUCED_7')|_T]. | |
| 584 | +_T > [id('X_INTRODUCED_1')|_T]. | |
| 585 | +_T > [id('X_INTRODUCED_0')|_T]. | |
| 586 | +[E|_T] > [[E]|_T]. | |
| 587 | +[T,H|_T] > [[H|T]|_T]. | |
| 588 | +[T,H|_T] > [[H|T]|_T]. | |
| 589 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 590 | +_T > [lit(0,int)|_T]. | |
| 591 | +[E|_T] > [[E]|_T]. | |
| 592 | +[T,H|_T] > [[H|T]|_T]. | |
| 593 | +[T,H|_T] > [[H|T]|_T]. | |
| 594 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
| 595 | +_T > [id('X_INTRODUCED_7')|_T]. | |
| 596 | +[E|_T] > [[E]|_T]. | |
| 597 | +_T > [[]|_T]. | |
| 598 | +[As, E|_T] > [[E|As]|_T]. | |
| 599 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 600 | +[H,T|_T] > [[H|T]|_T]. | |
| 601 | +_T > [id('X_INTRODUCED_45')|_T]. | |
| 602 | +_T > [id('X_INTRODUCED_8')|_T]. | |
| 603 | +_T > [id('X_INTRODUCED_2')|_T]. | |
| 604 | +_T > [id('X_INTRODUCED_1')|_T]. | |
| 605 | +[E|_T] > [[E]|_T]. | |
| 606 | +[T,H|_T] > [[H|T]|_T]. | |
| 607 | +[T,H|_T] > [[H|T]|_T]. | |
| 608 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 609 | +_T > [lit(0,int)|_T]. | |
| 610 | +[E|_T] > [[E]|_T]. | |
| 611 | +[T,H|_T] > [[H|T]|_T]. | |
| 612 | +[T,H|_T] > [[H|T]|_T]. | |
| 613 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
| 614 | +_T > [id('X_INTRODUCED_8')|_T]. | |
| 615 | +[E|_T] > [[E]|_T]. | |
| 616 | +_T > [[]|_T]. | |
| 617 | +[As, E|_T] > [[E|As]|_T]. | |
| 618 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 619 | +[H,T|_T] > [[H|T]|_T]. | |
| 620 | +_T > [id('X_INTRODUCED_45')|_T]. | |
| 621 | +_T > [id('X_INTRODUCED_9')|_T]. | |
| 622 | +_T > [id('X_INTRODUCED_3')|_T]. | |
| 623 | +_T > [id('X_INTRODUCED_2')|_T]. | |
| 624 | +[E|_T] > [[E]|_T]. | |
| 625 | +[T,H|_T] > [[H|T]|_T]. | |
| 626 | +[T,H|_T] > [[H|T]|_T]. | |
| 627 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 628 | +_T > [lit(0,int)|_T]. | |
| 629 | +[E|_T] > [[E]|_T]. | |
| 630 | +[T,H|_T] > [[H|T]|_T]. | |
| 631 | +[T,H|_T] > [[H|T]|_T]. | |
| 632 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
| 633 | +_T > [id('X_INTRODUCED_9')|_T]. | |
| 634 | +[E|_T] > [[E]|_T]. | |
| 635 | +_T > [[]|_T]. | |
| 636 | +[As, E|_T] > [[E|As]|_T]. | |
| 637 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 638 | +[H,T|_T] > [[H|T]|_T]. | |
| 639 | +_T > [id('X_INTRODUCED_45')|_T]. | |
| 640 | +_T > [id('X_INTRODUCED_10')|_T]. | |
| 641 | +_T > [id('X_INTRODUCED_4')|_T]. | |
| 642 | +_T > [id('X_INTRODUCED_3')|_T]. | |
| 643 | +[E|_T] > [[E]|_T]. | |
| 644 | +[T,H|_T] > [[H|T]|_T]. | |
| 645 | +[T,H|_T] > [[H|T]|_T]. | |
| 646 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 647 | +_T > [lit(0,int)|_T]. | |
| 648 | +[E|_T] > [[E]|_T]. | |
| 649 | +[T,H|_T] > [[H|T]|_T]. | |
| 650 | +[T,H|_T] > [[H|T]|_T]. | |
| 651 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
| 652 | +_T > [id('X_INTRODUCED_10')|_T]. | |
| 653 | +[E|_T] > [[E]|_T]. | |
| 654 | +_T > [[]|_T]. | |
| 655 | +[As, E|_T] > [[E|As]|_T]. | |
| 656 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 657 | +[H,T|_T] > [[H|T]|_T]. | |
| 658 | +_T > [id('X_INTRODUCED_45')|_T]. | |
| 659 | +_T > [id('X_INTRODUCED_11')|_T]. | |
| 660 | +_T > [id('X_INTRODUCED_5')|_T]. | |
| 661 | +_T > [id('X_INTRODUCED_4')|_T]. | |
| 662 | +[E|_T] > [[E]|_T]. | |
| 663 | +[T,H|_T] > [[H|T]|_T]. | |
| 664 | +[T,H|_T] > [[H|T]|_T]. | |
| 665 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 666 | +_T > [lit(0,int)|_T]. | |
| 667 | +[E|_T] > [[E]|_T]. | |
| 668 | +[T,H|_T] > [[H|T]|_T]. | |
| 669 | +[T,H|_T] > [[H|T]|_T]. | |
| 670 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
| 671 | +_T > [id('X_INTRODUCED_11')|_T]. | |
| 672 | +[E|_T] > [[E]|_T]. | |
| 673 | +_T > [[]|_T]. | |
| 674 | +[As, E|_T] > [[E|As]|_T]. | |
| 675 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 676 | +[H,T|_T] > [[H|T]|_T]. | |
| 677 | +_T > [id('X_INTRODUCED_45')|_T]. | |
| 678 | +_T > [id('X_INTRODUCED_14')|_T]. | |
| 679 | +_T > [id('X_INTRODUCED_2')|_T]. | |
| 680 | +_T > [id('X_INTRODUCED_0')|_T]. | |
| 681 | +[E|_T] > [[E]|_T]. | |
| 682 | +[T,H|_T] > [[H|T]|_T]. | |
| 683 | +[T,H|_T] > [[H|T]|_T]. | |
| 684 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 685 | +_T > [lit(0,int)|_T]. | |
| 686 | +[E|_T] > [[E]|_T]. | |
| 687 | +[T,H|_T] > [[H|T]|_T]. | |
| 688 | +[T,H|_T] > [[H|T]|_T]. | |
| 689 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
| 690 | +_T > [id('X_INTRODUCED_14')|_T]. | |
| 691 | +[E|_T] > [[E]|_T]. | |
| 692 | +_T > [[]|_T]. | |
| 693 | +[As, E|_T] > [[E|As]|_T]. | |
| 694 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 695 | +[H,T|_T] > [[H|T]|_T]. | |
| 696 | +_T > [id('X_INTRODUCED_45')|_T]. | |
| 697 | +_T > [id('X_INTRODUCED_15')|_T]. | |
| 698 | +_T > [id('X_INTRODUCED_3')|_T]. | |
| 699 | +_T > [id('X_INTRODUCED_1')|_T]. | |
| 700 | +[E|_T] > [[E]|_T]. | |
| 701 | +[T,H|_T] > [[H|T]|_T]. | |
| 702 | +[T,H|_T] > [[H|T]|_T]. | |
| 703 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 704 | +_T > [lit(0,int)|_T]. | |
| 705 | +[E|_T] > [[E]|_T]. | |
| 706 | +[T,H|_T] > [[H|T]|_T]. | |
| 707 | +[T,H|_T] > [[H|T]|_T]. | |
| 708 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
| 709 | +_T > [id('X_INTRODUCED_15')|_T]. | |
| 710 | +[E|_T] > [[E]|_T]. | |
| 711 | +_T > [[]|_T]. | |
| 712 | +[As, E|_T] > [[E|As]|_T]. | |
| 713 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 714 | +[H,T|_T] > [[H|T]|_T]. | |
| 715 | +_T > [id('X_INTRODUCED_45')|_T]. | |
| 716 | +_T > [id('X_INTRODUCED_16')|_T]. | |
| 717 | +_T > [id('X_INTRODUCED_4')|_T]. | |
| 718 | +_T > [id('X_INTRODUCED_2')|_T]. | |
| 719 | +[E|_T] > [[E]|_T]. | |
| 720 | +[T,H|_T] > [[H|T]|_T]. | |
| 721 | +[T,H|_T] > [[H|T]|_T]. | |
| 722 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 723 | +_T > [lit(0,int)|_T]. | |
| 724 | +[E|_T] > [[E]|_T]. | |
| 725 | +[T,H|_T] > [[H|T]|_T]. | |
| 726 | +[T,H|_T] > [[H|T]|_T]. | |
| 727 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
| 728 | +_T > [id('X_INTRODUCED_16')|_T]. | |
| 729 | +[E|_T] > [[E]|_T]. | |
| 730 | +_T > [[]|_T]. | |
| 731 | +[As, E|_T] > [[E|As]|_T]. | |
| 732 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 733 | +[H,T|_T] > [[H|T]|_T]. | |
| 734 | +_T > [id('X_INTRODUCED_45')|_T]. | |
| 735 | +_T > [id('X_INTRODUCED_17')|_T]. | |
| 736 | +_T > [id('X_INTRODUCED_5')|_T]. | |
| 737 | +_T > [id('X_INTRODUCED_3')|_T]. | |
| 738 | +[E|_T] > [[E]|_T]. | |
| 739 | +[T,H|_T] > [[H|T]|_T]. | |
| 740 | +[T,H|_T] > [[H|T]|_T]. | |
| 741 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 742 | +_T > [lit(0,int)|_T]. | |
| 743 | +[E|_T] > [[E]|_T]. | |
| 744 | +[T,H|_T] > [[H|T]|_T]. | |
| 745 | +[T,H|_T] > [[H|T]|_T]. | |
| 746 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
| 747 | +_T > [id('X_INTRODUCED_17')|_T]. | |
| 748 | +[E|_T] > [[E]|_T]. | |
| 749 | +_T > [[]|_T]. | |
| 750 | +[As, E|_T] > [[E|As]|_T]. | |
| 751 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 752 | +[H,T|_T] > [[H|T]|_T]. | |
| 753 | +_T > [id('X_INTRODUCED_45')|_T]. | |
| 754 | +_T > [id('X_INTRODUCED_21')|_T]. | |
| 755 | +_T > [id('X_INTRODUCED_3')|_T]. | |
| 756 | +_T > [id('X_INTRODUCED_0')|_T]. | |
| 757 | +[E|_T] > [[E]|_T]. | |
| 758 | +[T,H|_T] > [[H|T]|_T]. | |
| 759 | +[T,H|_T] > [[H|T]|_T]. | |
| 760 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 761 | +_T > [lit(0,int)|_T]. | |
| 762 | +[E|_T] > [[E]|_T]. | |
| 763 | +[T,H|_T] > [[H|T]|_T]. | |
| 764 | +[T,H|_T] > [[H|T]|_T]. | |
| 765 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
| 766 | +_T > [id('X_INTRODUCED_21')|_T]. | |
| 767 | +[E|_T] > [[E]|_T]. | |
| 768 | +_T > [[]|_T]. | |
| 769 | +[As, E|_T] > [[E|As]|_T]. | |
| 770 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 771 | +[H,T|_T] > [[H|T]|_T]. | |
| 772 | +_T > [id('X_INTRODUCED_45')|_T]. | |
| 773 | +_T > [id('X_INTRODUCED_22')|_T]. | |
| 774 | +_T > [id('X_INTRODUCED_4')|_T]. | |
| 775 | +_T > [id('X_INTRODUCED_1')|_T]. | |
| 776 | +[E|_T] > [[E]|_T]. | |
| 777 | +[T,H|_T] > [[H|T]|_T]. | |
| 778 | +[T,H|_T] > [[H|T]|_T]. | |
| 779 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 780 | +_T > [lit(0,int)|_T]. | |
| 781 | +[E|_T] > [[E]|_T]. | |
| 782 | +[T,H|_T] > [[H|T]|_T]. | |
| 783 | +[T,H|_T] > [[H|T]|_T]. | |
| 784 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
| 785 | +_T > [id('X_INTRODUCED_22')|_T]. | |
| 786 | +[E|_T] > [[E]|_T]. | |
| 787 | +_T > [[]|_T]. | |
| 788 | +[As, E|_T] > [[E|As]|_T]. | |
| 789 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 790 | +[H,T|_T] > [[H|T]|_T]. | |
| 791 | +_T > [id('X_INTRODUCED_45')|_T]. | |
| 792 | +_T > [id('X_INTRODUCED_23')|_T]. | |
| 793 | +_T > [id('X_INTRODUCED_5')|_T]. | |
| 794 | +_T > [id('X_INTRODUCED_2')|_T]. | |
| 795 | +[E|_T] > [[E]|_T]. | |
| 796 | +[T,H|_T] > [[H|T]|_T]. | |
| 797 | +[T,H|_T] > [[H|T]|_T]. | |
| 798 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 799 | +_T > [lit(0,int)|_T]. | |
| 800 | +[E|_T] > [[E]|_T]. | |
| 801 | +[T,H|_T] > [[H|T]|_T]. | |
| 802 | +[T,H|_T] > [[H|T]|_T]. | |
| 803 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
| 804 | +_T > [id('X_INTRODUCED_23')|_T]. | |
| 805 | +[E|_T] > [[E]|_T]. | |
| 806 | +_T > [[]|_T]. | |
| 807 | +[As, E|_T] > [[E|As]|_T]. | |
| 808 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 809 | +[H,T|_T] > [[H|T]|_T]. | |
| 810 | +_T > [id('X_INTRODUCED_45')|_T]. | |
| 811 | +_T > [id('X_INTRODUCED_28')|_T]. | |
| 812 | +_T > [id('X_INTRODUCED_4')|_T]. | |
| 813 | +_T > [id('X_INTRODUCED_0')|_T]. | |
| 814 | +[E|_T] > [[E]|_T]. | |
| 815 | +[T,H|_T] > [[H|T]|_T]. | |
| 816 | +[T,H|_T] > [[H|T]|_T]. | |
| 817 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 818 | +_T > [lit(0,int)|_T]. | |
| 819 | +[E|_T] > [[E]|_T]. | |
| 820 | +[T,H|_T] > [[H|T]|_T]. | |
| 821 | +[T,H|_T] > [[H|T]|_T]. | |
| 822 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
| 823 | +_T > [id('X_INTRODUCED_28')|_T]. | |
| 824 | +[E|_T] > [[E]|_T]. | |
| 825 | +_T > [[]|_T]. | |
| 826 | +[As, E|_T] > [[E|As]|_T]. | |
| 827 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 828 | +[H,T|_T] > [[H|T]|_T]. | |
| 829 | +_T > [id('X_INTRODUCED_45')|_T]. | |
| 830 | +_T > [id('X_INTRODUCED_29')|_T]. | |
| 831 | +_T > [id('X_INTRODUCED_5')|_T]. | |
| 832 | +_T > [id('X_INTRODUCED_1')|_T]. | |
| 833 | +[E|_T] > [[E]|_T]. | |
| 834 | +[T,H|_T] > [[H|T]|_T]. | |
| 835 | +[T,H|_T] > [[H|T]|_T]. | |
| 836 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 837 | +_T > [lit(0,int)|_T]. | |
| 838 | +[E|_T] > [[E]|_T]. | |
| 839 | +[T,H|_T] > [[H|T]|_T]. | |
| 840 | +[T,H|_T] > [[H|T]|_T]. | |
| 841 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
| 842 | +_T > [id('X_INTRODUCED_29')|_T]. | |
| 843 | +[E|_T] > [[E]|_T]. | |
| 844 | +_T > [[]|_T]. | |
| 845 | +[As, E|_T] > [[E|As]|_T]. | |
| 846 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 847 | +[H,T|_T] > [[H|T]|_T]. | |
| 848 | +_T > [id('X_INTRODUCED_45')|_T]. | |
| 849 | +_T > [id('X_INTRODUCED_35')|_T]. | |
| 850 | +_T > [id('X_INTRODUCED_5')|_T]. | |
| 851 | +_T > [id('X_INTRODUCED_0')|_T]. | |
| 852 | +[E|_T] > [[E]|_T]. | |
| 853 | +[T,H|_T] > [[H|T]|_T]. | |
| 854 | +[T,H|_T] > [[H|T]|_T]. | |
| 855 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 856 | +_T > [lit(0,int)|_T]. | |
| 857 | +[E|_T] > [[E]|_T]. | |
| 858 | +[T,H|_T] > [[H|T]|_T]. | |
| 859 | +[T,H|_T] > [[H|T]|_T]. | |
| 860 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
| 861 | +_T > [id('X_INTRODUCED_35')|_T]. | |
| 862 | +[E|_T] > [[E]|_T]. | |
| 863 | +_T > [[]|_T]. | |
| 864 | +[As, E|_T] > [[E|As]|_T]. | |
| 865 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 866 | +[H,T|_T] > [[H|T]|_T]. | |
| 867 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 868 | +_T > [id('X_INTRODUCED_7')|_T]. | |
| 869 | +_T > [id('X_INTRODUCED_8')|_T]. | |
| 870 | +[E|_T] > [[E]|_T]. | |
| 871 | +[T,H|_T] > [[H|T]|_T]. | |
| 872 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 873 | +_T > [lit(0,int)|_T]. | |
| 874 | +[E|_T] > [[E]|_T]. | |
| 875 | +[T,H|_T] > [[H|T]|_T]. | |
| 876 | +[T,H|_T] > [[H|T]|_T]. | |
| 877 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 878 | +_T > [[]|_T]. | |
| 879 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 880 | +[H,T|_T] > [[H|T]|_T]. | |
| 881 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 882 | +_T > [id('X_INTRODUCED_7')|_T]. | |
| 883 | +_T > [id('X_INTRODUCED_9')|_T]. | |
| 884 | +[E|_T] > [[E]|_T]. | |
| 885 | +[T,H|_T] > [[H|T]|_T]. | |
| 886 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 887 | +_T > [lit(0,int)|_T]. | |
| 888 | +[E|_T] > [[E]|_T]. | |
| 889 | +[T,H|_T] > [[H|T]|_T]. | |
| 890 | +[T,H|_T] > [[H|T]|_T]. | |
| 891 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 892 | +_T > [[]|_T]. | |
| 893 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 894 | +[H,T|_T] > [[H|T]|_T]. | |
| 895 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 896 | +_T > [id('X_INTRODUCED_7')|_T]. | |
| 897 | +_T > [id('X_INTRODUCED_10')|_T]. | |
| 898 | +[E|_T] > [[E]|_T]. | |
| 899 | +[T,H|_T] > [[H|T]|_T]. | |
| 900 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 901 | +_T > [lit(0,int)|_T]. | |
| 902 | +[E|_T] > [[E]|_T]. | |
| 903 | +[T,H|_T] > [[H|T]|_T]. | |
| 904 | +[T,H|_T] > [[H|T]|_T]. | |
| 905 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 906 | +_T > [[]|_T]. | |
| 907 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 908 | +[H,T|_T] > [[H|T]|_T]. | |
| 909 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 910 | +_T > [id('X_INTRODUCED_7')|_T]. | |
| 911 | +_T > [id('X_INTRODUCED_11')|_T]. | |
| 912 | +[E|_T] > [[E]|_T]. | |
| 913 | +[T,H|_T] > [[H|T]|_T]. | |
| 914 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 915 | +_T > [lit(0,int)|_T]. | |
| 916 | +[E|_T] > [[E]|_T]. | |
| 917 | +[T,H|_T] > [[H|T]|_T]. | |
| 918 | +[T,H|_T] > [[H|T]|_T]. | |
| 919 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 920 | +_T > [[]|_T]. | |
| 921 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 922 | +[H,T|_T] > [[H|T]|_T]. | |
| 923 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 924 | +_T > [id('X_INTRODUCED_8')|_T]. | |
| 925 | +_T > [id('X_INTRODUCED_9')|_T]. | |
| 926 | +[E|_T] > [[E]|_T]. | |
| 927 | +[T,H|_T] > [[H|T]|_T]. | |
| 928 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 929 | +_T > [lit(0,int)|_T]. | |
| 930 | +[E|_T] > [[E]|_T]. | |
| 931 | +[T,H|_T] > [[H|T]|_T]. | |
| 932 | +[T,H|_T] > [[H|T]|_T]. | |
| 933 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 934 | +_T > [[]|_T]. | |
| 935 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 936 | +[H,T|_T] > [[H|T]|_T]. | |
| 937 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 938 | +_T > [id('X_INTRODUCED_8')|_T]. | |
| 939 | +_T > [id('X_INTRODUCED_10')|_T]. | |
| 940 | +[E|_T] > [[E]|_T]. | |
| 941 | +[T,H|_T] > [[H|T]|_T]. | |
| 942 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 943 | +_T > [lit(0,int)|_T]. | |
| 944 | +[E|_T] > [[E]|_T]. | |
| 945 | +[T,H|_T] > [[H|T]|_T]. | |
| 946 | +[T,H|_T] > [[H|T]|_T]. | |
| 947 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 948 | +_T > [[]|_T]. | |
| 949 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 950 | +[H,T|_T] > [[H|T]|_T]. | |
| 951 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 952 | +_T > [id('X_INTRODUCED_8')|_T]. | |
| 953 | +_T > [id('X_INTRODUCED_11')|_T]. | |
| 954 | +[E|_T] > [[E]|_T]. | |
| 955 | +[T,H|_T] > [[H|T]|_T]. | |
| 956 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 957 | +_T > [lit(0,int)|_T]. | |
| 958 | +[E|_T] > [[E]|_T]. | |
| 959 | +[T,H|_T] > [[H|T]|_T]. | |
| 960 | +[T,H|_T] > [[H|T]|_T]. | |
| 961 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 962 | +_T > [[]|_T]. | |
| 963 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 964 | +[H,T|_T] > [[H|T]|_T]. | |
| 965 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 966 | +_T > [id('X_INTRODUCED_9')|_T]. | |
| 967 | +_T > [id('X_INTRODUCED_10')|_T]. | |
| 968 | +[E|_T] > [[E]|_T]. | |
| 969 | +[T,H|_T] > [[H|T]|_T]. | |
| 970 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 971 | +_T > [lit(0,int)|_T]. | |
| 972 | +[E|_T] > [[E]|_T]. | |
| 973 | +[T,H|_T] > [[H|T]|_T]. | |
| 974 | +[T,H|_T] > [[H|T]|_T]. | |
| 975 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 976 | +_T > [[]|_T]. | |
| 977 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 978 | +[H,T|_T] > [[H|T]|_T]. | |
| 979 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 980 | +_T > [id('X_INTRODUCED_9')|_T]. | |
| 981 | +_T > [id('X_INTRODUCED_11')|_T]. | |
| 982 | +[E|_T] > [[E]|_T]. | |
| 983 | +[T,H|_T] > [[H|T]|_T]. | |
| 984 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 985 | +_T > [lit(0,int)|_T]. | |
| 986 | +[E|_T] > [[E]|_T]. | |
| 987 | +[T,H|_T] > [[H|T]|_T]. | |
| 988 | +[T,H|_T] > [[H|T]|_T]. | |
| 989 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 990 | +_T > [[]|_T]. | |
| 991 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 992 | +[H,T|_T] > [[H|T]|_T]. | |
| 993 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 994 | +_T > [id('X_INTRODUCED_10')|_T]. | |
| 995 | +_T > [id('X_INTRODUCED_11')|_T]. | |
| 996 | +[E|_T] > [[E]|_T]. | |
| 997 | +[T,H|_T] > [[H|T]|_T]. | |
| 998 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 999 | +_T > [lit(0,int)|_T]. | |
| 1000 | +[E|_T] > [[E]|_T]. | |
| 1001 | +[T,H|_T] > [[H|T]|_T]. | |
| 1002 | +[T,H|_T] > [[H|T]|_T]. | |
| 1003 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 1004 | +_T > [[]|_T]. | |
| 1005 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 1006 | +[H,T|_T] > [[H|T]|_T]. | |
| 1007 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 1008 | +_T > [id('X_INTRODUCED_14')|_T]. | |
| 1009 | +_T > [id('X_INTRODUCED_15')|_T]. | |
| 1010 | +[E|_T] > [[E]|_T]. | |
| 1011 | +[T,H|_T] > [[H|T]|_T]. | |
| 1012 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 1013 | +_T > [lit(0,int)|_T]. | |
| 1014 | +[E|_T] > [[E]|_T]. | |
| 1015 | +[T,H|_T] > [[H|T]|_T]. | |
| 1016 | +[T,H|_T] > [[H|T]|_T]. | |
| 1017 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 1018 | +_T > [[]|_T]. | |
| 1019 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 1020 | +[H,T|_T] > [[H|T]|_T]. | |
| 1021 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 1022 | +_T > [id('X_INTRODUCED_14')|_T]. | |
| 1023 | +_T > [id('X_INTRODUCED_16')|_T]. | |
| 1024 | +[E|_T] > [[E]|_T]. | |
| 1025 | +[T,H|_T] > [[H|T]|_T]. | |
| 1026 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 1027 | +_T > [lit(0,int)|_T]. | |
| 1028 | +[E|_T] > [[E]|_T]. | |
| 1029 | +[T,H|_T] > [[H|T]|_T]. | |
| 1030 | +[T,H|_T] > [[H|T]|_T]. | |
| 1031 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 1032 | +_T > [[]|_T]. | |
| 1033 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 1034 | +[H,T|_T] > [[H|T]|_T]. | |
| 1035 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 1036 | +_T > [id('X_INTRODUCED_14')|_T]. | |
| 1037 | +_T > [id('X_INTRODUCED_17')|_T]. | |
| 1038 | +[E|_T] > [[E]|_T]. | |
| 1039 | +[T,H|_T] > [[H|T]|_T]. | |
| 1040 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 1041 | +_T > [lit(0,int)|_T]. | |
| 1042 | +[E|_T] > [[E]|_T]. | |
| 1043 | +[T,H|_T] > [[H|T]|_T]. | |
| 1044 | +[T,H|_T] > [[H|T]|_T]. | |
| 1045 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 1046 | +_T > [[]|_T]. | |
| 1047 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 1048 | +[H,T|_T] > [[H|T]|_T]. | |
| 1049 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 1050 | +_T > [id('X_INTRODUCED_15')|_T]. | |
| 1051 | +_T > [id('X_INTRODUCED_16')|_T]. | |
| 1052 | +[E|_T] > [[E]|_T]. | |
| 1053 | +[T,H|_T] > [[H|T]|_T]. | |
| 1054 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 1055 | +_T > [lit(0,int)|_T]. | |
| 1056 | +[E|_T] > [[E]|_T]. | |
| 1057 | +[T,H|_T] > [[H|T]|_T]. | |
| 1058 | +[T,H|_T] > [[H|T]|_T]. | |
| 1059 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 1060 | +_T > [[]|_T]. | |
| 1061 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 1062 | +[H,T|_T] > [[H|T]|_T]. | |
| 1063 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 1064 | +_T > [id('X_INTRODUCED_15')|_T]. | |
| 1065 | +_T > [id('X_INTRODUCED_17')|_T]. | |
| 1066 | +[E|_T] > [[E]|_T]. | |
| 1067 | +[T,H|_T] > [[H|T]|_T]. | |
| 1068 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 1069 | +_T > [lit(0,int)|_T]. | |
| 1070 | +[E|_T] > [[E]|_T]. | |
| 1071 | +[T,H|_T] > [[H|T]|_T]. | |
| 1072 | +[T,H|_T] > [[H|T]|_T]. | |
| 1073 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 1074 | +_T > [[]|_T]. | |
| 1075 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 1076 | +[H,T|_T] > [[H|T]|_T]. | |
| 1077 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 1078 | +_T > [id('X_INTRODUCED_16')|_T]. | |
| 1079 | +_T > [id('X_INTRODUCED_17')|_T]. | |
| 1080 | +[E|_T] > [[E]|_T]. | |
| 1081 | +[T,H|_T] > [[H|T]|_T]. | |
| 1082 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 1083 | +_T > [lit(0,int)|_T]. | |
| 1084 | +[E|_T] > [[E]|_T]. | |
| 1085 | +[T,H|_T] > [[H|T]|_T]. | |
| 1086 | +[T,H|_T] > [[H|T]|_T]. | |
| 1087 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 1088 | +_T > [[]|_T]. | |
| 1089 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 1090 | +[H,T|_T] > [[H|T]|_T]. | |
| 1091 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 1092 | +_T > [id('X_INTRODUCED_21')|_T]. | |
| 1093 | +_T > [id('X_INTRODUCED_22')|_T]. | |
| 1094 | +[E|_T] > [[E]|_T]. | |
| 1095 | +[T,H|_T] > [[H|T]|_T]. | |
| 1096 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 1097 | +_T > [lit(0,int)|_T]. | |
| 1098 | +[E|_T] > [[E]|_T]. | |
| 1099 | +[T,H|_T] > [[H|T]|_T]. | |
| 1100 | +[T,H|_T] > [[H|T]|_T]. | |
| 1101 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 1102 | +_T > [[]|_T]. | |
| 1103 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 1104 | +[H,T|_T] > [[H|T]|_T]. | |
| 1105 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 1106 | +_T > [id('X_INTRODUCED_21')|_T]. | |
| 1107 | +_T > [id('X_INTRODUCED_23')|_T]. | |
| 1108 | +[E|_T] > [[E]|_T]. | |
| 1109 | +[T,H|_T] > [[H|T]|_T]. | |
| 1110 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 1111 | +_T > [lit(0,int)|_T]. | |
| 1112 | +[E|_T] > [[E]|_T]. | |
| 1113 | +[T,H|_T] > [[H|T]|_T]. | |
| 1114 | +[T,H|_T] > [[H|T]|_T]. | |
| 1115 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 1116 | +_T > [[]|_T]. | |
| 1117 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 1118 | +[H,T|_T] > [[H|T]|_T]. | |
| 1119 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 1120 | +_T > [id('X_INTRODUCED_22')|_T]. | |
| 1121 | +_T > [id('X_INTRODUCED_23')|_T]. | |
| 1122 | +[E|_T] > [[E]|_T]. | |
| 1123 | +[T,H|_T] > [[H|T]|_T]. | |
| 1124 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 1125 | +_T > [lit(0,int)|_T]. | |
| 1126 | +[E|_T] > [[E]|_T]. | |
| 1127 | +[T,H|_T] > [[H|T]|_T]. | |
| 1128 | +[T,H|_T] > [[H|T]|_T]. | |
| 1129 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 1130 | +_T > [[]|_T]. | |
| 1131 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 1132 | +[H,T|_T] > [[H|T]|_T]. | |
| 1133 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 1134 | +_T > [id('X_INTRODUCED_28')|_T]. | |
| 1135 | +_T > [id('X_INTRODUCED_29')|_T]. | |
| 1136 | +[E|_T] > [[E]|_T]. | |
| 1137 | +[T,H|_T] > [[H|T]|_T]. | |
| 1138 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 1139 | +_T > [lit(0,int)|_T]. | |
| 1140 | +[E|_T] > [[E]|_T]. | |
| 1141 | +[T,H|_T] > [[H|T]|_T]. | |
| 1142 | +[T,H|_T] > [[H|T]|_T]. | |
| 1143 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
| 1144 | +_T > [[]|_T]. | |
| 1145 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 1146 | +[H,T|_T] > [[H|T]|_T]. | |
| 1147 | +_T > [id('X_INTRODUCED_42')|_T]. | |
| 1148 | +_T > [id('X_INTRODUCED_0')|_T]. | |
| 1149 | +_T > [id('X_INTRODUCED_5')|_T]. | |
| 1150 | +[E|_T] > [[E]|_T]. | |
| 1151 | +[T,H|_T] > [[H|T]|_T]. | |
| 1152 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 1153 | +_T > [lit(-1,int)|_T]. | |
| 1154 | +[E|_T] > [[E]|_T]. | |
| 1155 | +[T,H|_T] > [[H|T]|_T]. | |
| 1156 | +[T,H|_T] > [[H|T]|_T]. | |
| 1157 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_le'|AL]. | |
| 1158 | +_T > [[]|_T]. | |
| 1159 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 1160 | +[H,T|_T] > [[H|T]|_T]. | |
| 1161 | +_T > [id('X_INTRODUCED_70')|_T]. | |
| 1162 | +_T > [id('X_INTRODUCED_8')|_T]. | |
| 1163 | +_T > [id('X_INTRODUCED_21')|_T]. | |
| 1164 | +_T > [id('X_INTRODUCED_14')|_T]. | |
| 1165 | +_T > [id('X_INTRODUCED_15')|_T]. | |
| 1166 | +[E|_T] > [[E]|_T]. | |
| 1167 | +[T,H|_T] > [[H|T]|_T]. | |
| 1168 | +[T,H|_T] > [[H|T]|_T]. | |
| 1169 | +[T,H|_T] > [[H|T]|_T]. | |
| 1170 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 1171 | +_T > [lit(0,int)|_T]. | |
| 1172 | +[E|_T] > [[E]|_T]. | |
| 1173 | +[T,H|_T] > [[H|T]|_T]. | |
| 1174 | +[T,H|_T] > [[H|T]|_T]. | |
| 1175 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
| 1176 | +_T > [[]|_T]. | |
| 1177 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 1178 | +[H,T|_T] > [[H|T]|_T]. | |
| 1179 | +_T > [id('X_INTRODUCED_70')|_T]. | |
| 1180 | +_T > [id('X_INTRODUCED_9')|_T]. | |
| 1181 | +_T > [id('X_INTRODUCED_22')|_T]. | |
| 1182 | +_T > [id('X_INTRODUCED_15')|_T]. | |
| 1183 | +_T > [id('X_INTRODUCED_16')|_T]. | |
| 1184 | +[E|_T] > [[E]|_T]. | |
| 1185 | +[T,H|_T] > [[H|T]|_T]. | |
| 1186 | +[T,H|_T] > [[H|T]|_T]. | |
| 1187 | +[T,H|_T] > [[H|T]|_T]. | |
| 1188 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 1189 | +_T > [lit(0,int)|_T]. | |
| 1190 | +[E|_T] > [[E]|_T]. | |
| 1191 | +[T,H|_T] > [[H|T]|_T]. | |
| 1192 | +[T,H|_T] > [[H|T]|_T]. | |
| 1193 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
| 1194 | +_T > [[]|_T]. | |
| 1195 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 1196 | +[H,T|_T] > [[H|T]|_T]. | |
| 1197 | +_T > [id('X_INTRODUCED_70')|_T]. | |
| 1198 | +_T > [id('X_INTRODUCED_10')|_T]. | |
| 1199 | +_T > [id('X_INTRODUCED_23')|_T]. | |
| 1200 | +_T > [id('X_INTRODUCED_16')|_T]. | |
| 1201 | +_T > [id('X_INTRODUCED_17')|_T]. | |
| 1202 | +[E|_T] > [[E]|_T]. | |
| 1203 | +[T,H|_T] > [[H|T]|_T]. | |
| 1204 | +[T,H|_T] > [[H|T]|_T]. | |
| 1205 | +[T,H|_T] > [[H|T]|_T]. | |
| 1206 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 1207 | +_T > [lit(0,int)|_T]. | |
| 1208 | +[E|_T] > [[E]|_T]. | |
| 1209 | +[T,H|_T] > [[H|T]|_T]. | |
| 1210 | +[T,H|_T] > [[H|T]|_T]. | |
| 1211 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
| 1212 | +_T > [[]|_T]. | |
| 1213 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 1214 | +[H,T|_T] > [[H|T]|_T]. | |
| 1215 | +_T > [id('X_INTRODUCED_70')|_T]. | |
| 1216 | +_T > [id('X_INTRODUCED_15')|_T]. | |
| 1217 | +_T > [id('X_INTRODUCED_28')|_T]. | |
| 1218 | +_T > [id('X_INTRODUCED_21')|_T]. | |
| 1219 | +_T > [id('X_INTRODUCED_22')|_T]. | |
| 1220 | +[E|_T] > [[E]|_T]. | |
| 1221 | +[T,H|_T] > [[H|T]|_T]. | |
| 1222 | +[T,H|_T] > [[H|T]|_T]. | |
| 1223 | +[T,H|_T] > [[H|T]|_T]. | |
| 1224 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 1225 | +_T > [lit(0,int)|_T]. | |
| 1226 | +[E|_T] > [[E]|_T]. | |
| 1227 | +[T,H|_T] > [[H|T]|_T]. | |
| 1228 | +[T,H|_T] > [[H|T]|_T]. | |
| 1229 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
| 1230 | +_T > [[]|_T]. | |
| 1231 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 1232 | +[H,T|_T] > [[H|T]|_T]. | |
| 1233 | +_T > [id('X_INTRODUCED_70')|_T]. | |
| 1234 | +_T > [id('X_INTRODUCED_16')|_T]. | |
| 1235 | +_T > [id('X_INTRODUCED_29')|_T]. | |
| 1236 | +_T > [id('X_INTRODUCED_22')|_T]. | |
| 1237 | +_T > [id('X_INTRODUCED_23')|_T]. | |
| 1238 | +[E|_T] > [[E]|_T]. | |
| 1239 | +[T,H|_T] > [[H|T]|_T]. | |
| 1240 | +[T,H|_T] > [[H|T]|_T]. | |
| 1241 | +[T,H|_T] > [[H|T]|_T]. | |
| 1242 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 1243 | +_T > [lit(0,int)|_T]. | |
| 1244 | +[E|_T] > [[E]|_T]. | |
| 1245 | +[T,H|_T] > [[H|T]|_T]. | |
| 1246 | +[T,H|_T] > [[H|T]|_T]. | |
| 1247 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
| 1248 | +_T > [[]|_T]. | |
| 1249 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 1250 | +[H,T|_T] > [[H|T]|_T]. | |
| 1251 | +_T > [id('X_INTRODUCED_70')|_T]. | |
| 1252 | +_T > [id('X_INTRODUCED_22')|_T]. | |
| 1253 | +_T > [id('X_INTRODUCED_35')|_T]. | |
| 1254 | +_T > [id('X_INTRODUCED_28')|_T]. | |
| 1255 | +_T > [id('X_INTRODUCED_29')|_T]. | |
| 1256 | +[E|_T] > [[E]|_T]. | |
| 1257 | +[T,H|_T] > [[H|T]|_T]. | |
| 1258 | +[T,H|_T] > [[H|T]|_T]. | |
| 1259 | +[T,H|_T] > [[H|T]|_T]. | |
| 1260 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 1261 | +_T > [lit(0,int)|_T]. | |
| 1262 | +[E|_T] > [[E]|_T]. | |
| 1263 | +[T,H|_T] > [[H|T]|_T]. | |
| 1264 | +[T,H|_T] > [[H|T]|_T]. | |
| 1265 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
| 1266 | +_T > [[]|_T]. | |
| 1267 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 1268 | +[H,T|_T] > [[H|T]|_T]. | |
| 1269 | +[X|_T] > [constrs(X)|_T]. | |
| 1270 | +_T > [id('costas')|_T]. | |
| 1271 | +_T > [id('input_order')|_T]. | |
| 1272 | +_T > [id('indomain_min')|_T]. | |
| 1273 | +_T > [id('complete')|_T]. | |
| 1274 | +[E|_T] > [[E]|_T]. | |
| 1275 | +[T,H|_T] > [[H|T]|_T]. | |
| 1276 | +[T,H|_T] > [[H|T]|_T]. | |
| 1277 | +[T,H|_T] > [[H|T]|_T]. | |
| 1278 | +_T > [[]|_T]. | |
| 1279 | +[As, E|_T] > [[E|As]|_T]. | |
| 1280 | +_T > [satisfy|_T]. | |
| 1281 | +[S,A|_T] > [solve(S, A)|_T]. | |
| 1282 | +[S,C,V,P|_T] > [fzn(P, V, C, S)|_T]. | ... | ... |
fzn-parser/examples/aust.ast
| ... | ... | @@ -5,15 +5,16 @@ _T > [[]|_T]. |
| 5 | 5 | _T > [int|_T]. |
| 6 | 6 | _T > ['X_INTRODUCED_0'|_T]. |
| 7 | 7 | _T > [[]|_T]. |
| 8 | -_T > [int:lit(1)|_T]. | |
| 9 | -_T > [int:lit(-1)|_T]. | |
| 10 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 11 | -[Es|_T] > [array(_):alit(Es)|_T]. | |
| 8 | +_T > [lit(1,int)|_T]. | |
| 9 | +_T > [lit(-1,int)|_T]. | |
| 10 | +[E|_T] > [[E]|_T]. | |
| 11 | +[T,H|_T] > [[H|T]|_T]. | |
| 12 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 12 | 13 | [VAL,AN,ID,T|_T] > [var(ID, array(T,1,2), VAL, AN)|_T]. |
| 13 | 14 | [H,T|_T] > [[H|T]|_T]. |
| 14 | 15 | _T > [int(1,3)|_T]. |
| 15 | 16 | _T > ['wa'|_T]. |
| 16 | -_T > [_:id('output_var')|_T]. | |
| 17 | +_T > [id('output_var')|_T]. | |
| 17 | 18 | _T > [[]|_T]. |
| 18 | 19 | [As, E|_T] > [[E|As]|_T]. |
| 19 | 20 | _T > [[]|_T]. |
| ... | ... | @@ -21,7 +22,7 @@ _T > [[]|_T]. |
| 21 | 22 | [H,T|_T] > [[H|T]|_T]. |
| 22 | 23 | _T > [int(1,3)|_T]. |
| 23 | 24 | _T > ['nt'|_T]. |
| 24 | -_T > [_:id('output_var')|_T]. | |
| 25 | +_T > [id('output_var')|_T]. | |
| 25 | 26 | _T > [[]|_T]. |
| 26 | 27 | [As, E|_T] > [[E|As]|_T]. |
| 27 | 28 | _T > [[]|_T]. |
| ... | ... | @@ -29,7 +30,7 @@ _T > [[]|_T]. |
| 29 | 30 | [H,T|_T] > [[H|T]|_T]. |
| 30 | 31 | _T > [int(1,3)|_T]. |
| 31 | 32 | _T > ['sa'|_T]. |
| 32 | -_T > [_:id('output_var')|_T]. | |
| 33 | +_T > [id('output_var')|_T]. | |
| 33 | 34 | _T > [[]|_T]. |
| 34 | 35 | [As, E|_T] > [[E|As]|_T]. |
| 35 | 36 | _T > [[]|_T]. |
| ... | ... | @@ -37,7 +38,7 @@ _T > [[]|_T]. |
| 37 | 38 | [H,T|_T] > [[H|T]|_T]. |
| 38 | 39 | _T > [int(1,3)|_T]. |
| 39 | 40 | _T > ['q'|_T]. |
| 40 | -_T > [_:id('output_var')|_T]. | |
| 41 | +_T > [id('output_var')|_T]. | |
| 41 | 42 | _T > [[]|_T]. |
| 42 | 43 | [As, E|_T] > [[E|As]|_T]. |
| 43 | 44 | _T > [[]|_T]. |
| ... | ... | @@ -45,7 +46,7 @@ _T > [[]|_T]. |
| 45 | 46 | [H,T|_T] > [[H|T]|_T]. |
| 46 | 47 | _T > [int(1,3)|_T]. |
| 47 | 48 | _T > ['nsw'|_T]. |
| 48 | -_T > [_:id('output_var')|_T]. | |
| 49 | +_T > [id('output_var')|_T]. | |
| 49 | 50 | _T > [[]|_T]. |
| 50 | 51 | [As, E|_T] > [[E|As]|_T]. |
| 51 | 52 | _T > [[]|_T]. |
| ... | ... | @@ -53,7 +54,7 @@ _T > [[]|_T]. |
| 53 | 54 | [H,T|_T] > [[H|T]|_T]. |
| 54 | 55 | _T > [int(1,3)|_T]. |
| 55 | 56 | _T > ['v'|_T]. |
| 56 | -_T > [_:id('output_var')|_T]. | |
| 57 | +_T > [id('output_var')|_T]. | |
| 57 | 58 | _T > [[]|_T]. |
| 58 | 59 | [As, E|_T] > [[E|As]|_T]. |
| 59 | 60 | _T > [[]|_T]. |
| ... | ... | @@ -61,7 +62,7 @@ _T > [[]|_T]. |
| 61 | 62 | [H,T|_T] > [[H|T]|_T]. |
| 62 | 63 | _T > [int(1,3)|_T]. |
| 63 | 64 | _T > ['t'|_T]. |
| 64 | -_T > [_:id('output_var')|_T]. | |
| 65 | +_T > [id('output_var')|_T]. | |
| 65 | 66 | _T > [[]|_T]. |
| 66 | 67 | [As, E|_T] > [[E|As]|_T]. |
| 67 | 68 | _T > [[]|_T]. |
| ... | ... | @@ -69,113 +70,131 @@ _T > [[]|_T]. |
| 69 | 70 | [H,T|_T] > [[H|T]|_T]. |
| 70 | 71 | [X|_T] > [vars(X)|_T]. |
| 71 | 72 | _T > [[]|_T]. |
| 72 | -_T > [_:id('X_INTRODUCED_0')|_T]. | |
| 73 | -_T > [_:id('wa')|_T]. | |
| 74 | -_T > [_:id('nt')|_T]. | |
| 75 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 76 | -[Es|_T] > [array(_):alit(Es)|_T]. | |
| 77 | -_T > [int:lit(0)|_T]. | |
| 78 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 79 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 73 | +_T > [id('X_INTRODUCED_0')|_T]. | |
| 74 | +_T > [id('wa')|_T]. | |
| 75 | +_T > [id('nt')|_T]. | |
| 76 | +[E|_T] > [[E]|_T]. | |
| 77 | +[T,H|_T] > [[H|T]|_T]. | |
| 78 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 79 | +_T > [lit(0,int)|_T]. | |
| 80 | +[E|_T] > [[E]|_T]. | |
| 81 | +[T,H|_T] > [[H|T]|_T]. | |
| 82 | +[T,H|_T] > [[H|T]|_T]. | |
| 80 | 83 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. |
| 81 | 84 | _T > [[]|_T]. |
| 82 | -[A,C,E|_T] > [constraint(C,E,A)|_T]. | |
| 83 | -[H,T|_T] > [[H|T]|_T]. | |
| 84 | -_T > [_:id('X_INTRODUCED_0')|_T]. | |
| 85 | -_T > [_:id('wa')|_T]. | |
| 86 | -_T > [_:id('sa')|_T]. | |
| 87 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 88 | -[Es|_T] > [array(_):alit(Es)|_T]. | |
| 89 | -_T > [int:lit(0)|_T]. | |
| 90 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 91 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 85 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 86 | +[H,T|_T] > [[H|T]|_T]. | |
| 87 | +_T > [id('X_INTRODUCED_0')|_T]. | |
| 88 | +_T > [id('wa')|_T]. | |
| 89 | +_T > [id('sa')|_T]. | |
| 90 | +[E|_T] > [[E]|_T]. | |
| 91 | +[T,H|_T] > [[H|T]|_T]. | |
| 92 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 93 | +_T > [lit(0,int)|_T]. | |
| 94 | +[E|_T] > [[E]|_T]. | |
| 95 | +[T,H|_T] > [[H|T]|_T]. | |
| 96 | +[T,H|_T] > [[H|T]|_T]. | |
| 92 | 97 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. |
| 93 | 98 | _T > [[]|_T]. |
| 94 | -[A,C,E|_T] > [constraint(C,E,A)|_T]. | |
| 95 | -[H,T|_T] > [[H|T]|_T]. | |
| 96 | -_T > [_:id('X_INTRODUCED_0')|_T]. | |
| 97 | -_T > [_:id('nt')|_T]. | |
| 98 | -_T > [_:id('sa')|_T]. | |
| 99 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 100 | -[Es|_T] > [array(_):alit(Es)|_T]. | |
| 101 | -_T > [int:lit(0)|_T]. | |
| 102 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 103 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 99 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 100 | +[H,T|_T] > [[H|T]|_T]. | |
| 101 | +_T > [id('X_INTRODUCED_0')|_T]. | |
| 102 | +_T > [id('nt')|_T]. | |
| 103 | +_T > [id('sa')|_T]. | |
| 104 | +[E|_T] > [[E]|_T]. | |
| 105 | +[T,H|_T] > [[H|T]|_T]. | |
| 106 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 107 | +_T > [lit(0,int)|_T]. | |
| 108 | +[E|_T] > [[E]|_T]. | |
| 109 | +[T,H|_T] > [[H|T]|_T]. | |
| 110 | +[T,H|_T] > [[H|T]|_T]. | |
| 104 | 111 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. |
| 105 | 112 | _T > [[]|_T]. |
| 106 | -[A,C,E|_T] > [constraint(C,E,A)|_T]. | |
| 107 | -[H,T|_T] > [[H|T]|_T]. | |
| 108 | -_T > [_:id('X_INTRODUCED_0')|_T]. | |
| 109 | -_T > [_:id('nt')|_T]. | |
| 110 | -_T > [_:id('q')|_T]. | |
| 111 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 112 | -[Es|_T] > [array(_):alit(Es)|_T]. | |
| 113 | -_T > [int:lit(0)|_T]. | |
| 114 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 115 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 113 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 114 | +[H,T|_T] > [[H|T]|_T]. | |
| 115 | +_T > [id('X_INTRODUCED_0')|_T]. | |
| 116 | +_T > [id('nt')|_T]. | |
| 117 | +_T > [id('q')|_T]. | |
| 118 | +[E|_T] > [[E]|_T]. | |
| 119 | +[T,H|_T] > [[H|T]|_T]. | |
| 120 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 121 | +_T > [lit(0,int)|_T]. | |
| 122 | +[E|_T] > [[E]|_T]. | |
| 123 | +[T,H|_T] > [[H|T]|_T]. | |
| 124 | +[T,H|_T] > [[H|T]|_T]. | |
| 116 | 125 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. |
| 117 | 126 | _T > [[]|_T]. |
| 118 | -[A,C,E|_T] > [constraint(C,E,A)|_T]. | |
| 119 | -[H,T|_T] > [[H|T]|_T]. | |
| 120 | -_T > [_:id('X_INTRODUCED_0')|_T]. | |
| 121 | -_T > [_:id('sa')|_T]. | |
| 122 | -_T > [_:id('q')|_T]. | |
| 123 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 124 | -[Es|_T] > [array(_):alit(Es)|_T]. | |
| 125 | -_T > [int:lit(0)|_T]. | |
| 126 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 127 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 127 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 128 | +[H,T|_T] > [[H|T]|_T]. | |
| 129 | +_T > [id('X_INTRODUCED_0')|_T]. | |
| 130 | +_T > [id('sa')|_T]. | |
| 131 | +_T > [id('q')|_T]. | |
| 132 | +[E|_T] > [[E]|_T]. | |
| 133 | +[T,H|_T] > [[H|T]|_T]. | |
| 134 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 135 | +_T > [lit(0,int)|_T]. | |
| 136 | +[E|_T] > [[E]|_T]. | |
| 137 | +[T,H|_T] > [[H|T]|_T]. | |
| 138 | +[T,H|_T] > [[H|T]|_T]. | |
| 128 | 139 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. |
| 129 | 140 | _T > [[]|_T]. |
| 130 | -[A,C,E|_T] > [constraint(C,E,A)|_T]. | |
| 131 | -[H,T|_T] > [[H|T]|_T]. | |
| 132 | -_T > [_:id('X_INTRODUCED_0')|_T]. | |
| 133 | -_T > [_:id('sa')|_T]. | |
| 134 | -_T > [_:id('nsw')|_T]. | |
| 135 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 136 | -[Es|_T] > [array(_):alit(Es)|_T]. | |
| 137 | -_T > [int:lit(0)|_T]. | |
| 138 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 139 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 141 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 142 | +[H,T|_T] > [[H|T]|_T]. | |
| 143 | +_T > [id('X_INTRODUCED_0')|_T]. | |
| 144 | +_T > [id('sa')|_T]. | |
| 145 | +_T > [id('nsw')|_T]. | |
| 146 | +[E|_T] > [[E]|_T]. | |
| 147 | +[T,H|_T] > [[H|T]|_T]. | |
| 148 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 149 | +_T > [lit(0,int)|_T]. | |
| 150 | +[E|_T] > [[E]|_T]. | |
| 151 | +[T,H|_T] > [[H|T]|_T]. | |
| 152 | +[T,H|_T] > [[H|T]|_T]. | |
| 140 | 153 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. |
| 141 | 154 | _T > [[]|_T]. |
| 142 | -[A,C,E|_T] > [constraint(C,E,A)|_T]. | |
| 143 | -[H,T|_T] > [[H|T]|_T]. | |
| 144 | -_T > [_:id('X_INTRODUCED_0')|_T]. | |
| 145 | -_T > [_:id('sa')|_T]. | |
| 146 | -_T > [_:id('v')|_T]. | |
| 147 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 148 | -[Es|_T] > [array(_):alit(Es)|_T]. | |
| 149 | -_T > [int:lit(0)|_T]. | |
| 150 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 151 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 155 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 156 | +[H,T|_T] > [[H|T]|_T]. | |
| 157 | +_T > [id('X_INTRODUCED_0')|_T]. | |
| 158 | +_T > [id('sa')|_T]. | |
| 159 | +_T > [id('v')|_T]. | |
| 160 | +[E|_T] > [[E]|_T]. | |
| 161 | +[T,H|_T] > [[H|T]|_T]. | |
| 162 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 163 | +_T > [lit(0,int)|_T]. | |
| 164 | +[E|_T] > [[E]|_T]. | |
| 165 | +[T,H|_T] > [[H|T]|_T]. | |
| 166 | +[T,H|_T] > [[H|T]|_T]. | |
| 152 | 167 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. |
| 153 | 168 | _T > [[]|_T]. |
| 154 | -[A,C,E|_T] > [constraint(C,E,A)|_T]. | |
| 155 | -[H,T|_T] > [[H|T]|_T]. | |
| 156 | -_T > [_:id('X_INTRODUCED_0')|_T]. | |
| 157 | -_T > [_:id('q')|_T]. | |
| 158 | -_T > [_:id('nsw')|_T]. | |
| 159 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 160 | -[Es|_T] > [array(_):alit(Es)|_T]. | |
| 161 | -_T > [int:lit(0)|_T]. | |
| 162 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 163 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 169 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 170 | +[H,T|_T] > [[H|T]|_T]. | |
| 171 | +_T > [id('X_INTRODUCED_0')|_T]. | |
| 172 | +_T > [id('q')|_T]. | |
| 173 | +_T > [id('nsw')|_T]. | |
| 174 | +[E|_T] > [[E]|_T]. | |
| 175 | +[T,H|_T] > [[H|T]|_T]. | |
| 176 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 177 | +_T > [lit(0,int)|_T]. | |
| 178 | +[E|_T] > [[E]|_T]. | |
| 179 | +[T,H|_T] > [[H|T]|_T]. | |
| 180 | +[T,H|_T] > [[H|T]|_T]. | |
| 164 | 181 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. |
| 165 | 182 | _T > [[]|_T]. |
| 166 | -[A,C,E|_T] > [constraint(C,E,A)|_T]. | |
| 167 | -[H,T|_T] > [[H|T]|_T]. | |
| 168 | -_T > [_:id('X_INTRODUCED_0')|_T]. | |
| 169 | -_T > [_:id('nsw')|_T]. | |
| 170 | -_T > [_:id('v')|_T]. | |
| 171 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 172 | -[Es|_T] > [array(_):alit(Es)|_T]. | |
| 173 | -_T > [int:lit(0)|_T]. | |
| 174 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 175 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | |
| 183 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 184 | +[H,T|_T] > [[H|T]|_T]. | |
| 185 | +_T > [id('X_INTRODUCED_0')|_T]. | |
| 186 | +_T > [id('nsw')|_T]. | |
| 187 | +_T > [id('v')|_T]. | |
| 188 | +[E|_T] > [[E]|_T]. | |
| 189 | +[T,H|_T] > [[H|T]|_T]. | |
| 190 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
| 191 | +_T > [lit(0,int)|_T]. | |
| 192 | +[E|_T] > [[E]|_T]. | |
| 193 | +[T,H|_T] > [[H|T]|_T]. | |
| 194 | +[T,H|_T] > [[H|T]|_T]. | |
| 176 | 195 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. |
| 177 | 196 | _T > [[]|_T]. |
| 178 | -[A,C,E|_T] > [constraint(C,E,A)|_T]. | |
| 197 | +[A,C|_T] > [constraint(C,A)|_T]. | |
| 179 | 198 | [H,T|_T] > [[H|T]|_T]. |
| 180 | 199 | [X|_T] > [constrs(X)|_T]. |
| 181 | 200 | _T > [[]|_T]. | ... | ... |
fzn-parser/fznslurp.pl
| ... | ... | @@ -6,19 +6,27 @@ main :- |
| 6 | 6 | argument_list(A), |
| 7 | 7 | main(A). |
| 8 | 8 | |
| 9 | -main([ACTION|REST]) :- action(ACTION), !, main(REST). | |
| 9 | +main([ACTION_S|REST]) :- | |
| 10 | + read_term_from_atom(ACTION_S, ACTION, [end_of_term(eof)]), | |
| 11 | + action(ACTION), !, main(REST). | |
| 10 | 12 | main([]). |
| 11 | 13 | |
| 12 | -action(load) :- !, load_ast(AST), g_assign(ast, AST). | |
| 13 | -action(dump) :- !, g_read(ast, AST), dump_ast(AST). | |
| 14 | -action(name) :- !, | |
| 15 | - g_read(ast, AST), | |
| 16 | - sa_names(AST, NAST), | |
| 17 | - g_assign(ast, NAST). | |
| 18 | -action(halt) :- !, halt. | |
| 19 | -action(debug) :- g_read(ast_debug, true), !, g_assign(ast_debug, false). | |
| 20 | -action(debug) :- !, g_assign(ast_debug, true). | |
| 21 | -action(ACTION) :- format("%w: unknown action.\n", [ACTION]). | |
| 14 | +action(load(F)) :- !, see(F), action(load), seen. | |
| 15 | +action(load) :- !, load_ast(AST), g_assign(ast, AST). | |
| 16 | +action(dump(A)) :- !, dump_ast(A). | |
| 17 | +action(dump) :- !, g_read(ast, AST), dump_ast(AST). | |
| 18 | +action(name) :- !, | |
| 19 | + g_read(ast, AST), | |
| 20 | + sa_names(AST, NAST, ST), | |
| 21 | + g_assign(ast_n, NAST+ST). | |
| 22 | +action(type) :- !, | |
| 23 | + g_read(ast_n, AST+ST), | |
| 24 | + sa_types(AST, ST), | |
| 25 | + g_assign(ast_t, AST+ST). | |
| 26 | +action(halt) :- !, halt. | |
| 27 | +action(debug) :- g_read(ast_debug, true), !, g_assign(ast_debug, false). | |
| 28 | +action(debug) :- !, g_assign(ast_debug, true). | |
| 29 | +action(ACTION) :- format("%w: unknown action.\n", [ACTION]). | |
| 22 | 30 | |
| 23 | 31 | |
| 24 | 32 | % ----------------------------------------------------------------------------- | ... | ... |
fzn-parser/semantic.pl
| 1 | 1 | % == No, Emacs this is -*-Prolog-*- code, not what you thought... ============= |
| 2 | 2 | |
| 3 | +% == NAMES ==================================================================== | |
| 4 | + | |
| 5 | +% -- sa_names(AST_IN, AST_OUT, ST) -------------------------------------------- | |
| 6 | +% | |
| 7 | +% sa_names/3: do name analysis (replace identifiers by their dict. entry) | |
| 8 | + | |
| 3 | 9 | sa_names(fzn(preds(IP), vars(IV), constrs(IC), SOLVE), |
| 4 | - fzn(preds(OP), vars(OV), constrs(OC), SOLVE, ST)) :- | |
| 10 | + fzn(preds(OP), vars(OV), constrs(OC), SOLVE), ST) :- | |
| 5 | 11 | sa_n_traverse(IP, OP, ST), % predicates |
| 6 | 12 | sa_n_traverse(IV, OV, ST), % variables |
| 7 | 13 | sa_n_traverse(IC, OC, ST). % constraints |
| 8 | 14 | |
| 9 | 15 | % ----------------------------------------------------------------------------- |
| 10 | 16 | |
| 11 | -sa_n_traverse([], [], _ST). | |
| 17 | +sa_n_traverse([], [], _ST) :- !. | |
| 12 | 18 | sa_n_traverse([N|Ns], [NN|NNs], ST) :- |
| 13 | 19 | sa_n(N, NN, ST), !, |
| 14 | 20 | sa_n_traverse(Ns, NNs, ST). |
| 15 | -sa_n_traverse([_|Ns], NNs, ST) :- % ignore failing nodes (beware!) | |
| 21 | +sa_n_traverse([_|Ns], NNs, ST) :- !, % ignore failing nodes (beware!) | |
| 16 | 22 | sa_n_traverse(Ns, NNs, ST). |
| 17 | 23 | |
| 24 | +sa_n_traverse(N, NN, ST) :- sa_n(N, NN, ST). % non-list case | |
| 25 | + | |
| 18 | 26 | |
| 19 | 27 | % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
| 20 | 28 | % |
| 21 | 29 | % sa_n(AST_N_IN, AST_N_OUT, ST) |
| 30 | +% | |
| 31 | +% arguments: | |
| 32 | +% AST_N_IN - input AST node | |
| 33 | +% AST_N_OUT - output AST node (same structure, rewritten) | |
| 34 | +% ST - symbol table (gets extended) | |
| 35 | +% | |
| 36 | +% handle all AST cases: | |
| 37 | +% var(N,T,I,A) - Name, Type, Initializer, Attrib -- variable declaration | |
| 38 | +% lit(V,T) - Value, Type -- literal with type | |
| 39 | +% id(N) - Name -- identifier | |
| 40 | +% constraint(C,A) - Constraint, Attrib -- constraint | |
| 41 | +% | |
| 22 | 42 | |
| 23 | 43 | sa_n(var(N,T,I,A), V, ST) :- |
| 24 | 44 | sa_attribs(A, AX, ST), |
| 25 | - sa_n(I, NI, ST), % parse initializer | |
| 45 | + sa_n_traverse(I, NI, ST), % parse initializer | |
| 26 | 46 | V=var(N,T,NI,AX), % new AST node becomes ST entry value |
| 27 | 47 | st_insert(ST, N, V). |
| 28 | 48 | |
| 29 | 49 | |
| 50 | +sa_n(lit(E,array(T)), lit(NE, array(T)), ST) :- | |
| 51 | + sa_n_traverse(E, NE, ST). | |
| 52 | +sa_n(lit(E,int), lit(E,int), _ST). | |
| 53 | +sa_n(lit(E,float), lit(E,float), _ST). | |
| 54 | +sa_n(lit(E,string), lit(E,string), _ST). | |
| 55 | + | |
| 56 | + | |
| 57 | +sa_n(id(N), V, ST) :- st_lookup(ST, N, V), !. | |
| 58 | +sa_n(id(N), V, ST) :- V=var(N,_,_,_), % type as yet unknown | |
| 59 | + st_insert(ST, N, V). | |
| 60 | + | |
| 61 | + | |
| 62 | +sa_n(constraint(CE, AT), constraint(NCE, AT), ST) :- | |
| 63 | + CE=..[C|AS], | |
| 64 | + sa_n_traverse(AS, NAS, ST), | |
| 65 | + NCE=..[C|NAS]. | |
| 66 | + | |
| 30 | 67 | % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
| 31 | 68 | |
| 69 | +% == TYPES ==================================================================== | |
| 70 | + | |
| 71 | +% -- sa_types(AST, ST) -------------------------------------------------------- | |
| 72 | +% | |
| 73 | +% sa_types/2: do type analysis (traverse AST enforcing type correctness). | |
| 74 | +% as a side-effect, it will do type inference. | |
| 75 | + | |
| 76 | +sa_types(fzn(_PS, vars(VS), constrs(CS), _S), ST) :- | |
| 77 | + sa_t_traverse(VS, ST), | |
| 78 | + sa_t_traverse(CS, ST). | |
| 79 | + | |
| 80 | +% ----------------------------------------------------------------------------- | |
| 81 | + | |
| 82 | +sa_t_traverse([], _ST) :- !. | |
| 83 | +sa_t_traverse([N|Ns], ST) :- | |
| 84 | + sa_t(N, ST), !, | |
| 85 | + sa_t_traverse(Ns, ST). | |
| 86 | +sa_t_traverse([_|Ns], ST) :- !, % ignore failing nodes (beware!) | |
| 87 | + sa_t_traverse(Ns, ST). | |
| 88 | + | |
| 89 | +sa_t_traverse(N, ST) :- sa_t(N, ST). % non-list case | |
| 90 | + | |
| 91 | +% -- sa_t(NODE, ST) ----------------------------------------------------------- | |
| 92 | + | |
| 93 | +sa_t(var(_N,T,I,_A), _ST) :- type(I,T). | |
| 94 | +sa_t(lit(E,T), _ST) :- type(lit(E,T), T). | |
| 95 | +sa_t(constraint(CE, _AT), ST) :- | |
| 96 | + CE=..[_|AS], | |
| 97 | + sa_t_traverse(AS, ST). | |
| 98 | + | |
| 99 | +% ============================================================================= | |
| 100 | + | |
| 32 | 101 | sa_attribs([A|As], [NA|NAs], ST) :- |
| 33 | 102 | sa_attrib(A, NA, ST), !, |
| 34 | 103 | sa_attribs(As, NAs, ST). |
| ... | ... | @@ -40,3 +109,4 @@ sa_attribs([], [], _). |
| 40 | 109 | sa_attrib(id(output_var), output, _). |
| 41 | 110 | |
| 42 | 111 | % ----------------------------------------------------------------------------- |
| 112 | + | ... | ... |
fzn-parser/types.pl
| 1 | 1 | % == No, Emacs this is -*-Prolog-*- code, not what you thought... ============= |
| 2 | 2 | |
| 3 | -% sa_type/2 - locate the TYPE field | |
| 3 | +% -- type(NODE, TYPE) --------------------------------------------------------- | |
| 4 | +% | |
| 5 | +% type/2: Extract type from AST node. | |
| 4 | 6 | |
| 5 | -sa_type(var(_NAME,TYPE,_INIT,_ANNOT), TYPE). | |
| 6 | -sa_type(constraint(_NAME)). | |
| 7 | +type(var(_,T,_,_), T) :- type(T). | |
| 8 | +type(lit(_,T), T) :- type(T). | |
| 9 | +type(id(_,T), T) :- type(T). | |
| 10 | + | |
| 11 | +type(lit(E,array(T)), array(T)) :- type(E, T). | |
| 12 | +type(lit(_,T), T) :- type(T). | |
| 13 | + | |
| 14 | +type([], _). | |
| 15 | +type([E|Es], T) :- type(E, T), type(Es, T). | |
| 16 | + | |
| 17 | +% -- type(TYPE) --------------------------------------------------------------- | |
| 18 | +% | |
| 19 | +% type/1: generate or test valid types. | |
| 20 | + | |
| 21 | +type(int). % integer | |
| 22 | +type(int(_L,_U)). % integer interval | |
| 23 | +type(float). % floating point | |
| 24 | +type(float(_L,_U)). % floating point interval | |
| 25 | +type(string). % string | |
| 26 | +type(array(T,1,_U)) :- type(T). % array of type | ... | ... |