אני יודע שזה ישמע מטומטם, אבל לדעתי
זה בלתי אפשרי! אין לי בדיוק הוכחה לכך, ואולי בגלל שאמרת שיש לך פיתרון אז באמת יש פיתרון, אבל אני אנסה לעשות לעצמי פדיחא ו"להסביר" למה לדעתי אין פיתרון. נניח שאנחנו עוסקים בשפת פסקל, ויש לך את הפקודה הבאה:
writeLn(a);
זוהי פקודה, שחוץ מזה שהיא מתפקדת בתוכנית אתה גם צריך להדפיס אותה. נניח שניקח מחרוזת כדי להדפיס אותה(אני לא מראה את ההצהרה על המחרוזת, אבל נניח שההצהרה עליה קיימת[וגם אותה צריך להדפיס
]):
s:="writeLn(a);"
(אגב אני לא זוכר אם בפסקל צריך " או ', אבל זה לא משנה..). ברגע שיש לך מחרוזת כזו, היא חלק מהתוכנית. זאת אומרת, היא מדפיסה פקודה מן התוכנית, וגם כאן(
), ההשמה של הטקסט בתוך המחרוזת הופכת להיות חלק מהתוכנית, וגם אותה צריך להדפיס
אז לדוגמא הקטע הבא של התוכנית יהיה:
s2:="s:="writeLn(a);"";
ו, כאמור, גם הפקודה הזו היא חלק מהתוכנית ואז גם אותה צריך להדפיס. כאן אתה בעצם נכנס למין רקורסיה מטורפת, ולפי ה"היגיון הבריא שלי
" אין דרך לעשות זאת, אלא מקריאה ממקור חיצוני, או פקודה שמדפיסה את התוכנית, שזה כמובן לא פיתרון. מקווה שהסברתי את עצמי טוב