PROGRAM QUINE BEGIN READ(D$,Y$) LOOP READ(X$) EXIT IF LEN(X$)<1 PRINT(X$) END LOOP RESTORE LOOP READ(X$) EXIT IF LEN(X$)<1 PRINT(D$;CHR$(34);X$;CHR$(34);CHR$(41)) END LOOP PRINT(D$;CHR$(34);CHR$(34);CHR$(41)) PRINT(Y$) DATA("DATA(") DATA("END PROGRAM") DATA("PROGRAM QUINE") DATA("BEGIN") DATA("READ(D$,Y$)") DATA("LOOP") DATA(" READ(X$)") DATA(" EXIT IF LEN(X$)<1") DATA(" PRINT(X$)") DATA("END LOOP") DATA("RESTORE") DATA("LOOP") DATA(" READ(X$)") DATA(" EXIT IF LEN(X$)<1") DATA(" PRINT(D$;CHR$(34);X$;CHR$(34);CHR$(41))") DATA("END LOOP") DATA("PRINT(D$;CHR$(34);CHR$(34);CHR$(41))") DATA("PRINT(Y$)") DATA("") END PROGRAM