Timeline for Was there a bug in Wirth's original Pascal compiler?
Current License: CC BY-SA 4.0
11 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Jun 7, 2021 at 15:02 | vote | accept | Leo B. | ||
Jun 5, 2021 at 8:30 | comment | added | Leo B. | @texdr.aft Thank you! Apparently the hand-written parser of Turbo Pascal was quite deficient. Out of the two compilers I have, one says "semicolon required", pointing to ":="; the other says "no END", mentioning "foo" as the last identifier parsed. | |
Jun 5, 2021 at 8:02 | comment | added | texdr.aft | I found an explanation for the strange Turbo Pascal error: news.ycombinator.com/item?id=6573092 | |
Jun 3, 2021 at 8:02 | history | became hot network question | |||
Jun 3, 2021 at 2:00 | answer | added | texdr.aft | timeline score: 12 | |
Jun 3, 2021 at 0:58 | comment | added | Leo B. | (1) Yes, homepages.cwi.nl/~steven/pascal/p4c.tar.gz (2) Right; Although judging by the timeline (the first BESM-6 compiler was released in 1976), they could be based on the P-series rather than the original. | |
Jun 3, 2021 at 0:52 | comment | added | texdr.aft | (1) C source of P4? (2) By independent do you mean not derived from the P series? | |
Jun 3, 2021 at 0:49 | comment | added | Leo B. | @texdr.aft I was just a few minutes behind you; having run that experiment myself after spending some time fixing the C source of P4. The high error code was a hint. But it would be instructive to see an independent compiler with the bug in action. | |
Jun 3, 2021 at 0:35 | comment | added | texdr.aft | The error code displayed by P4 is 177 ("You may only assign to the identifier of a function in the body of that function", see homepages.cwi.nl/~steven/pascal/book/…), which was not included in the list of error codes at the end of the Pascal user manual, so I would propose that the answer to your question is yes. | |
Jun 3, 2021 at 0:29 | comment | added | texdr.aft |
Compare the source code of the func branch of the selector routine in the P2 compiler (search for "IMPL. RELAT. ADDR. OF FCT. RESULT " to find the relevant line) and in the P4 compiler. In the latter there is an error check complaining if a function name is assigned to outside its body. (In adding the check, an odd begin -end pair was left, as noted in Daniels and Pemberton's book about P4).
|
|
Jun 2, 2021 at 23:58 | history | asked | Leo B. | CC BY-SA 4.0 |