By "garbage" I mean something that is not Pascal code.
The sample code bellow illustrates what I mean:
Beginning of source>> Program GarbageAfterDot; Begin WriteLn('Ok'); End.
This line is not processed by GPC when -fignore-garbage-after-dot is on command-line.
<<End of source
This program compiles, links and executes properly only if "-fignore-garbage-after-dot" is on command-line, even if the last line has nothing to do with Pascal code. Also, the word "garbage" is contained in the command-line switch :-)
Kind regards
Pascal Viandier
<snip>
-----Message d'origine----- De : gpc-owner@gnu.de [mailto:gpc-owner@gnu.de] De la part de Frank Heckenbach Envoyé : March 2, 2006 11:36 À : gpc@gnu.de Objet : Re: RE : Reading source past end of block
Please write below quotes, thanks.
Pascal Viandier wrote:
For sure I read paragraph 6.13 of ISO 10206 before asking your advice. I must say, for me the Note 1:
:1 This International Standard constrains the order of program-components of : a conforming program only by the partial ordering defined by 6.2.2.9. A : further restriction by a processor on the order of program-components can : be justified only by subclause 1.2 a).
does not state "clearly" one can freely put garbage in his/her source code provided that it is after the final "End." :-) I admire people like you who can see clearly something in a so cryptic text
- at
least for me -. This kind of things keeps me humble.
De : gpc-owner@gnu.de [mailto:gpc-owner@gnu.de] De la part de Waldek
Hebisch
There is reference in ISO 10206: see 6.13, especially rule for program-
block.
AFAICS the compiler is required to accept multi-module program in a single file. In particular Note 1 to 6.13 clarily states that "useless" modules may follow main program.
I don't think it says you can put garbage after the `end.', but only useless, i.e. unused, modules, as Waldek said. In fact the syntax rules above this paragraph say:
program = programblock . programblock = programcomponent { programcomponent } . programcomponent = mainprogramdeclaration `.' | moduledeclaration `.' .
Nothing about garbage there.
Frank
-- Frank Heckenbach, frank@g-n-u.de, http://fjf.gnu.de/, 7977168E GPC To-Do list, latest features, fixed bugs: http://www.gnu-pascal.de/todo.html GPC download signing key: ACB3 79B2 7EB2 B7A7 EFDE D101 CD02 4C9D 0FE0 E5E8