Re:Prefer the British Style of Quotation Mark Punctuation ov...
by int_19h on Wednesday September 15, 2021 @06:30AM
(#28537423)
Pascal is fully self-consistent here: in it, semicolon is a statement separator, not a statement terminator. Since the statement before "end" is the last one in the block, there's no statement to separate it from with a trailing semicolon, and so it's a syntax error.
[ Parent
| on HN ]
Re:Prefer the British Style of Quotation Mark Punctuation ov...
by barrkel on Wednesday September 15, 2021 @08:45AM
(#28538390)
Pascal permits a null production for the statement grammar.
simple-statement =
empty-statement
| assignment-statement
| procedure-statement
| goto-statement .
empty-statement = .
from http://www.pascal-central.com/iso7185.html#6.8%20Statements (ISO 7185 Pascal)In practice the separator-vs-terminator distinction mostly shows up in if-statements:
if foo then
bar
else
baz;
I believe that anywhere else in a statement context, you can put in as many extra ';' as you like and it won't make a difference. And of course you can drop the final ';' before 'end' or 'until'.
Re:Prefer the British Style of Quotation Mark Punctuation ov...
by stkdump on Wednesday September 15, 2021 @07:21AM
(#28537697)
It's not a syntax error.
Re:Prefer the British Style of Quotation Mark Punctuation ov...
by denton-scratch on Wednesday September 15, 2021 @08:48AM
(#28538416)
Correct - the redundant semi-colon denotes an empty statement.