<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">dear Wolfgang and others,<div class=""><br class=""></div><div class="">thank you very much for your advice. I think the problem came form the fact that some WEB units</div><div class="">are procedures (and therefore need a semicolon at the end) and others are just code fragments</div><div class="">that TANGLE will place at a location where semicolon is not allowed.</div><div class=""><br class=""></div><div class="">BTW a question: when adding features to existing TeX engines is it better to break the changes</div><div class="">into many WEB units, so that their documentation is easier to follow or to keep the existing WEB</div><div class="">units so that people can refer to them by using stable unit numbers?</div><div class=""><br class=""></div><div class="">For example, if I modify substantially §1015 which is the \patterns scanner, shall I rather break my </div><div class="">modifications into new units and call them inside §1015, or keep a long §1015 so that what was </div><div class="">previously §1016 keeps the same identifier?</div><div class=""><br class=""></div><div class="">eTeX's <Hyphenation codes for current language> has been placed at the end of the file, §1666, this</div><div class="">allows keeping numbers §1014, §1015, etc. unchanged, but makes it more difficult to read the code:</div><div class="">I have to permanently switch from PDF page 663 to PDF page 440…</div><div class=""><br class=""></div><div class="">cheers,</div><div class=""><br class=""></div><div class="">Yannis</div><div class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">Le 22 mars 2021 à 11:28, Wolfgang Helbig <<a href="mailto:helbig@mailbox.org" class="">helbig@mailbox.org</a>> a écrit :</div><br class="Apple-interchange-newline"><div class="">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" class="">
<div class="">
<div class="moz-cite-prefix">Dear Yannis,<br class="">
<br class="">
in Pascal, the semicolon seperates two statements, whereas in
ALGOL and C, the semicolon terminates a statement.<br class="">
<br class="">
Or in Pascal, the semicolon is never part of a statement and in C
it is always is part of a statement.<br class="">
<br class="">
In Pascal, the empty string is a statement, called "empty
statement". It does nothing.<br class="">
So in parts of the program, where the syntax rules allow one or
more statements, you can always put the semicolon without changing
the meaning of the program.<br class="">
<br class="">
But there are places, where only one statement is accepted,
notably the 'then' part of an if statement: A semicolon after the
statement in the 'then'-part ends the 'if'-statement, which is
followed by the empty statement. If your if-statement does have an
else part, an 'else' is following the empty statement. But 'else'
may only follow the 'then' part of the 'if'-statement, not the
if-statement as a whole.<br class="">
<br class="">
Unfortunately, some people misuse the empty statement and feel
licensed to terminate every statement with a semicolon -- A
confusing step backward in the evolution of ALGOL-like languages.
A step forward of course is Dijkstra's Guarded Commands notation.
In fact, the empty statement is the very first statement in
Dijkstra: "A Discipline of Programming", 1976, p. 25. and in
Jensen, Wirth: "Pascal User Manual and Report", 3rd ed. 1985, p.
169.<br class="">
<br class="">
Alas, compilers are rare for dot.not, as I prefer to call
Dijkstra's notation. You recognize by its dots in the notation for
arrays.<br class="">
<br class="">
greetings,<br class="">
Wolfgang<br class="">
</div>
<blockquote type="cite" cite="mid:CBF7CA65-809A-4979-9CC4-65D9119E1268@gmail.com" class="">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" class="">
dear Karl,
<div class=""><br class="">
</div>
<div class="">thanks for your answer. I finally found the error,
it was an unnecessary semicolon after an "end".</div>
<div class=""><br class="">
</div>
<div class="">I have a hard time finding the precise rules: when
are semicolons after "end" necessary / optional / forbidden?</div>
<div class=""><br class="">
</div>
<div class="">(The only thing I know for sure is that the
semicolon is forbidden when we are in an if-test</div>
<div class="">and an "else" is following:</div>
<div class=""><br class="">
</div>
<div class="">if xxx begin xxx end else begin xxx end; <---
no semicolon between "end" and "else"</div>
<div class=""><br class="">
</div>
<div class="">but beside that I couldn't find precise information
and TeX's Pascal code is either not very consistent</div>
<div class="">with respect to semicolons or maybe it follows some
pattern that I wasn't able to find out yet…)</div>
<div class=""><br class="">
</div>
<div class="">Thanks again for your help,</div>
<div class=""><br class="">
</div>
<div class="">Yannis</div>
<div class=""><br class="">
<div class=""><br class="">
<blockquote type="cite" class="">
<div class="">Le 21 mars 2021 à 02:57, Karl Berry <<a href="mailto:karl@freefriends.org" class="" moz-do-not-send="true">karl@freefriends.org</a>> a
écrit :</div>
<br class="Apple-interchange-newline">
<div class="">
<div class=""> Is there a way to localize the error? <br class="">
<br class="">
For the record, this is the brief reply I sent to when
Yannis asked me<br class="">
separately. It's all I have. Web2c is a lousy
development environment,<br class="">
no question.<br class="">
<br class="">
-----------------------------------------------------------------------------<br class="">
Date: Fri, 19 Mar 2021 11:19:09 -0700<br class="">
From: Karl Berry <<a href="mailto:karl@freefriends.org" class="" moz-do-not-send="true">karl@freefriends.org</a>><br class="">
To: <a href="mailto:yannis1962@gmail.com" class="" moz-do-not-send="true">yannis1962@gmail.com</a><br class="">
Subject: Re: Debugging<br class="">
In-Reply-To: <<a href="mailto:466F362F-4E43-4655-B0FC-2710ABD215AD@gmail.com" class="" moz-do-not-send="true">466F362F-4E43-4655-B0FC-2710ABD215AD@gmail.com</a>><br class="">
<br class="">
Can you tell me how to localize the error?<br class="">
<br class="">
There is no good way. Just have to go back to the
original, make sure it<br class="">
works, and add individual lines until you find the
error, which<br class="">
apparently has something to do with "true" and a
semicolon.<br class="">
<br class="">
Sometimes the .c file(s) left in (in your case)<br class="">
/var/folders/1n/fvs3dd2d5gqghwcw8khb41_h0000gn/T/<br class="">
as given by the error msg provide a clue. [...]<br class="">
</div>
</div>
</blockquote>
</div>
<br class="">
<div class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0);
letter-spacing: normal; text-align: start; text-indent:
0px; text-transform: none; white-space: normal;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
text-decoration: none; word-wrap: break-word;
-webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<table style="background-color: rgb(241, 241, 241);
border: 1px solid rgb(221, 221, 221);" class="">
<tbody class="">
<tr class="">
<td colspan="3" class=""><br class="">
</td>
</tr>
<tr class="">
<td class=""><a href="http://www.imt-atlantique.fr/" target="_blank" class="" moz-do-not-send="true"><img src="http://img.mines-telecom.fr/signature-mail/logos/logo-imta.png" title="Site web IMT Atlantique" alt="IMT
Atlantique" style="padding: 4px 0px 4px 4px;" class="" moz-do-not-send="true"></a></td>
<td class="">
<div style="float: left; font-style: normal;
font-variant-caps: normal; font-weight: normal;
font-stretch: normal; font-size: 13px;
line-height: 1.5; font-family: sans-serif;
color: rgb(85, 85, 85); padding: 8px 15px;" class=""><strong class="">Yannis HARALAMBOUS</strong><br class="">
Professor<br class="">
Computer Science Department<br class="">
UMR CNRS 6285 Lab-STICC<br class="">
<a href="http://perso.telecom-bretagne.eu/yannisharalambous/" target="_blank" style="text-decoration: none;" class="" moz-do-not-send="true"><img src="https://img.mines-telecom.fr/signature-mail/social/web.png" title="Site web IMT Atlantique" alt="Site
web IMT Atlantique" style="padding: 3px 10px
4px 0px;" class="" moz-do-not-send="true"></a><a href="https://twitter.com/y_haralambous" target="_blank" style="text-decoration: none;" class="" moz-do-not-send="true"><img src="https://img.mines-telecom.fr/signature-mail/social/twitter.png" title="Twitter IMT Atlantique" alt="Twitter
IMT Atlantique" style="padding: 3px 10px 4px
0px;" class="" moz-do-not-send="true"></a><a href="https://www.linkedin.com/in/yannis-haralambous-5529073?trk=hp-identity-name" target="_blank" style="text-decoration: none;" class="" moz-do-not-send="true"><img src="https://img.mines-telecom.fr/signature-mail/social/linkedin.png" title="LinkedIn IMT Atlantique" alt="LinkedIn IMT Atlantique" style="padding: 3px 10px 4px 0px;" class="" moz-do-not-send="true"></a></div>
<div style="float: left; font-style: normal;
font-variant-caps: normal; font-weight: bold;
font-stretch: normal; font-size: 11px;
line-height: 1.5; font-family: sans-serif;
color: rgb(136, 136, 136); padding: 8px 15px;" class="">Technopôle Brest-Iroise CS 83818<br class="">
29238 Brest Cedex 3, France<br class="">
Une école de<span class="Apple-converted-space"> </span><a href="http://www.imt.fr/" target="_blank" class="" moz-do-not-send="true">l'IMT</a></div>
</td>
</tr>
<tr class="">
<td colspan="3" class=""><br class="">
</td>
</tr>
</tbody>
</table><p class=""><i class="">Any sufficiently advanced bug is
indistinguishable from a feature.</i> (Rich
Kulawiec)<br class="">
<br class="">
</p>
</div>
</div>
</div>
<br class="">
</div>
</blockquote>
<br class="">
<br class="">
<pre class="moz-signature" cols="72">--
Wolfgang Helbig
Stauferstr. 22
71334 Waiblingen
07151-920 227</pre>
</div>
<span id="cid:7DBDE360-FB38-465D-9651-2C189FDA437F"><helbig.vcf></span></div></blockquote></div><br class=""><div class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div dir="auto" style="caret-color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><table style="background-color: rgb(241, 241, 241); border: 1px solid rgb(221, 221, 221);" class=""><tbody class=""><tr class=""><td colspan="3" class=""></td></tr><tr class=""><td class=""><a href="http://www.imt-atlantique.fr" target="_blank" class=""><img src="http://img.mines-telecom.fr/signature-mail/logos/logo-imta.png" title="Site web IMT Atlantique" alt="IMT Atlantique" style="padding: 4px 0px 4px 4px;" class=""></a></td><td class=""><div style="float: left; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 13px; line-height: 1.5; font-family: sans-serif; color: rgb(85, 85, 85); padding: 8px 15px;" class=""><strong class="">Yannis HARALAMBOUS</strong><br class="">Professor<br class="">Computer Science Department<br class="">UMR CNRS 6285 Lab-STICC<br class=""><a href="http://perso.telecom-bretagne.eu/yannisharalambous/" target="_blank" style="text-decoration: none;" class=""><img src="https://img.mines-telecom.fr/signature-mail/social/web.png" title="Site web IMT Atlantique" alt="Site web IMT Atlantique" style="padding: 3px 10px 4px 0px;" class=""></a><a href="https://twitter.com/y_haralambous" target="_blank" style="text-decoration: none;" class=""><img src="https://img.mines-telecom.fr/signature-mail/social/twitter.png" title="Twitter IMT Atlantique" alt="Twitter IMT Atlantique" style="padding: 3px 10px 4px 0px;" class=""></a><a href="https://www.linkedin.com/in/yannis-haralambous-5529073?trk=hp-identity-name" target="_blank" style="text-decoration: none;" class=""><img src="https://img.mines-telecom.fr/signature-mail/social/linkedin.png" title="LinkedIn IMT Atlantique" alt="LinkedIn IMT Atlantique" style="padding: 3px 10px 4px 0px;" class=""></a></div><div style="float: left; font-style: normal; font-variant-caps: normal; font-weight: bold; font-stretch: normal; font-size: 11px; line-height: 1.5; font-family: sans-serif; color: rgb(136, 136, 136); padding: 8px 15px;" class="">Technopôle Brest-Iroise CS 83818<br class="">29238 Brest Cedex 3, France<br class="">Une école de<span class="Apple-converted-space"> </span><a href="http://www.imt.fr" target="_blank" class="">l'IMT</a></div></td></tr><tr class=""><td colspan="3" class=""><div style="float: left; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: 1.5; font-family: sans-serif; color: rgb(85, 85, 85); padding: 8px 15px;" class=""></div></td></tr></tbody></table><p class=""><i class=""><span class="">Le lecteur a le droit et même parfois le devoir de savoir en quels caractères <br class="">
est composé le livre qu'il a entre les mains, et on ne peut exiger de lui <br class="">
qu'il sache le reconnaître tout seul.</span></i> (Gérard Genette)<br class=""><br class=""></p></div></div>
</div><br class=""></div></body></html>