Adriaan van Os wrote:
Frank Heckenbach wrote:
willett wrote:
program file attached is a program missing a "}" which should get compilation error, but which compiles without errors and when run, gets a "Segmentation fault" and quits.
It compiles fine on my system using 20041218.
As Russ wrote, the program should compile, since in Pascal comments cannot be nested, i.e. the one `}' terminates the comment, even if it contains additional `{'s.
In the ISO Pascal Standard Report (Jensen, Wirth, third edition) I read at the end of Section 5:
Comment = { "{" | "(*" ) { CommentElement } ( "}" | "*)" ) .
A CommentElement is either an end of line or any sequence of characters not containing "}" or "*)".
Notes: { ...*) and (* ...} are valid comments. The comment {(*) is equivalent to the comment {(}.
This means that {{} is a valid comment, but {}} isn't, according to the standard. Several other Pascal compilers, however, only allow (*.. { .. } .. *) or { .. (* .. *) .. }. But, as Frank noted, you can use the --nested-comments option in GPC to get similar behaviour.
This would be `--no-mixed-comments' which is set (i.e. "no") by default, except in standard Pascal modes. 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