peter (02/13/83)
The reason the Berkeley Pascal compiler and interpreter don't handle if <condition> then else <statement> correctly is because the parser generator we were using had a bug in it having to do with look ahead sets across non-terminals that could derive the empty string (one of which is <statement>). We've fixed the parser generator and now we don't have this problem. The funny part is that in the 6+ years this parser generator has been broken the null-then-clause is the only example of it that anyone ever complained about, though after we found the bug, we discovered there were maybe 7 or 8 other places where this caused problems (details left to the reader). You should all hurry up and order your 4.1c bsd tapes which have the latest Pascal system on it. In the meantime, inserting ``begin end'' will get around the problem. ... peter b. kessler