LET 49 VAR 57 ID(N) 61 ASSIGN 63 INT(8) 66 TYPE 73 ID(intArray) 78 EQ 87 ARRAY 89 OF 95 ID(int) 98 VAR 107 ID(row) 111 ASSIGN 115 ID(intArray) 118 LBRACK 127 ID(N) 129 RBRACK 131 OF 133 INT(0) 136 VAR 142 ID(col) 146 ASSIGN 150 ID(intArray) 153 LBRACK 162 ID(N) 164 RBRACK 166 OF 168 INT(0) 171 VAR 177 ID(diag1) 181 ASSIGN 187 ID(intArray) 190 LBRACK 199 ID(N) 200 PLUS 201 ID(N) 202 MINUS 203 INT(1) 204 RBRACK 205 OF 207 INT(0) 210 VAR 216 ID(diag2) 220 ASSIGN 226 ID(intArray) 229 LBRACK 238 ID(N) 239 PLUS 240 ID(N) 241 MINUS 242 INT(1) 243 RBRACK 244 OF 246 INT(0) 249 FUNCTION 256 ID(printboard) 265 LPAREN 275 RPAREN 276 EQ 278 LPAREN 287 FOR 288 ID(i) 292 ASSIGN 294 INT(0) 297 TO 299 ID(N) 302 MINUS 303 INT(1) 304 DO 308 LPAREN 311 FOR 312 ID(j) 316 ASSIGN 318 INT(0) 321 TO 323 ID(N) 326 MINUS 327 INT(1) 328 DO 338 ID(print) 341 LPAREN 346 IF 347 ID(col) 350 LBRACK 353 ID(i) 354 RBRACK 355 EQ 356 ID(j) 357 THEN 359 STRING( O) 364 ELSE 369 STRING( .) 374 RPAREN 378 SEMICOLON 379 ID(print) 387 LPAREN 392 STRING( ) 393 RPAREN 397 RPAREN 398 SEMICOLON 399 ID(print) 410 LPAREN 415 STRING( ) 416 RPAREN 420 RPAREN 421 FUNCTION 428 ID(try) 437 LPAREN 440 ID(c) 441 COLON 442 ID(int) 443 RPAREN 446 EQ 448 LPAREN 451 IF 516 ID(c) 519 EQ 520 ID(N) 521 THEN 528 ID(printboard) 533 LPAREN 543 RPAREN 544 ELSE 551 FOR 556 ID(r) 560 ASSIGN 562 INT(0) 565 TO 567 ID(N) 570 MINUS 571 INT(1) 572 DO 578 IF 581 ID(row) 584 LBRACK 587 ID(r) 588 RBRACK 589 EQ 590 INT(0) 591 AND 593 ID(diag1) 595 LBRACK 600 ID(r) 601 PLUS 602 ID(c) 603 RBRACK 604 EQ 605 INT(0) 606 AND 608 ID(diag2) 610 LBRACK 615 ID(r) 616 PLUS 617 INT(7) 618 MINUS 619 ID(c) 620 RBRACK 621 EQ 622 INT(0) 623 THEN 637 LPAREN 642 ID(row) 643 LBRACK 646 ID(r) 647 RBRACK 648 ASSIGN 649 INT(1) 651 SEMICOLON 652 ID(diag1) 654 LBRACK 659 ID(r) 660 PLUS 661 ID(c) 662 RBRACK 663 ASSIGN 664 INT(1) 666 SEMICOLON 667 ID(diag2) 669 LBRACK 674 ID(r) 675 PLUS 676 INT(7) 677 MINUS 678 ID(c) 679 RBRACK 680 ASSIGN 681 INT(1) 683 SEMICOLON 684 ID(col) 697 LBRACK 700 ID(c) 701 RBRACK 702 ASSIGN 703 ID(r) 705 SEMICOLON 706 ID(try) 726 LPAREN 729 ID(c) 730 PLUS 731 INT(1) 732 RPAREN 733 SEMICOLON 734 ID(row) 740 LBRACK 743 ID(r) 744 RBRACK 745 ASSIGN 746 INT(0) 748 SEMICOLON 749 ID(diag1) 751 LBRACK 756 ID(r) 757 PLUS 758 ID(c) 759 RBRACK 760 ASSIGN 761 INT(0) 763 SEMICOLON 764 ID(diag2) 766 LBRACK 771 ID(r) 772 PLUS 773 INT(7) 774 MINUS 775 ID(c) 776 RBRACK 777 ASSIGN 778 INT(0) 780 RPAREN 781 RPAREN 784 IN 787 ID(try) 790 LPAREN 793 INT(0) 794 RPAREN 795 END 797 EOF 800