Old lady swallowed a fly: Difference between revisions

Content added Content deleted
(Replaced "import zlib" with "import zip/zlib"; changed the call to uncompress.)
(Add PL/M)
Line 2,888: Line 2,888:


(oldLady (car *Dict))</lang>
(oldLady (car *Dict))</lang>

=={{header|PL/M}}==
<lang plm>100H:

/* CP/M CALL */
BDOS: PROCEDURE(FUNC, ARGS);
DECLARE FUNC BYTE, ARGS ADDRESS;
GO TO 5;
END BDOS;

/* PRINT STRING */
PRINT: PROCEDURE(STRING);
DECLARE STRING ADDRESS;
CALL BDOS(9, STRING);
END PRINT;

DECLARE COMMA$CRLF DATA (',',13,10,'$');
DECLARE CRLF DATA (13,10,'$');

DECLARE ANIMALS (8) ADDRESS;
ANIMALS(0) = .'FLY$';
ANIMALS(1) = .'SPIDER$';
ANIMALS(2) = .'BIRD$';
ANIMALS(3) = .'CAT$';
ANIMALS(4) = .'DOG$';
ANIMALS(5) = .'GOAT$';
ANIMALS(6) = .'COW$';
ANIMALS(7) = .'HORSE$';

DECLARE VERSES (8) ADDRESS;
VERSES(0) = .('I DON''T KNOW WHY SHE SWALLOWED THAT FLY',
' - PERHAPS SHE''LL DIE.',10,13,'$');
VERSES(1) = .'THAT WIGGLED AND JIGGLED AND TICKLED INSIDE HER$';
VERSES(2) = .'HOW ABSURD TO SWALLOW A BIRD$';
VERSES(3) = .'IMAGINED THAT - SHE SWALLOWED A CAT$';
VERSES(4) = .'WHAT A HOG TO SWALLOW A DOG$';
VERSES(5) = .'SHE JUST OPENED HER THROAT AND SWALLOWED THAT GOAT$';
VERSES(6) = .'I DON''T KNOW HOW SHE SWALLOWED THAT COW$';
VERSES(7) = .'SHE''S DEAD, OF COURSE.$';
DECLARE (I, J) BYTE;
DO I = 0 TO LAST(VERSES);
CALL PRINT(.'THERE WAS AN OLD LADY WHO SWALLOWED A $');
CALL PRINT(ANIMALS(I));
CALL PRINT(.COMMA$CRLF);
CALL PRINT(VERSES(I));
CALL PRINT(.CRLF);
J = I;
DO WHILE J > 0 AND I < LAST(ANIMALS);
CALL PRINT(.'SHE SWALLOWED THE $');
CALL PRINT(ANIMALS(J));
CALL PRINT(.' TO CATCH THE $');
CALL PRINT(ANIMALS(J-1));
CALL PRINT(.COMMA$CRLF);
IF J <= 2 THEN DO;
CALL PRINT(VERSES(J-1));
CALL PRINT(.CRLF);
END;
J = J - 1;
END;
END;

CALL BDOS(0,0);
EOF</lang>


=={{header|PowerShell}}==
=={{header|PowerShell}}==