4 ms·
In fact in some programming languages you can (or should) omit things like this. E.g. pascal does not require or explicitly forbids semicolon before end keyword
by ivan_gammel 5y ago
In fact in some programming languages you can (or should) omit things like this. E.g. pascal does not require or explicitly forbids semicolon before end keyword.
- int_19h 5y agoPascal 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.
- stkdump 5y agoIt's not a syntax error.
- denton-scratch 5y agoCorrect - the redundant semi-colon denotes an empty statement.
- barrkel 5y agoPascal 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 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'.
- ngcc_hk 5y agoIn those day when moving cursors with full screen editor (which is Not vi or Emacs), how many hours of my life wasted on this deletion of semicolons. Sigh. Still I actually struggled each time this given not exactly sure I am in English or American camp.
- montroser 5y agoSee also automatic semicolon insertion in JavaScript, and conditional permission to omit closing <p> tags in HTML. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#automatic_semicolon_insertion https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe... https://html.spec.whatwg.org/multipage/grouping-content.html#the-p-element https://html.spec.whatwg.org/multipage/grouping-content.html...