No -- neither in Pascal nor in Algol do statements end
in semicolon.
Instead, statements are SEPARATED by semicolons. An important
difference, which PL/1 and C both got wrong, in different ways.
How did C get it wrong? I think Pascal got it wrong and C got it
right, because C did it much more the way humans tend to think of it
(and that, after all, is really what a programming language is all
about: communicating from a human to a computer.)
Of course, in C, semicolons don't terminate statements. They terminate
*some* statements - specifically, expression statements. (Well, that's
the big one. There are also null statements, the do-while,
break/continue/return, and (if you count them) declarations, and
semicolons occur embedded in a few places like the for statement. And
I may have forgotten something.)
/~\ The ASCII der Mouse
\ / Ribbon Campaign
X Against HTML mouse at rodents.montreal.qc.ca
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B