Am 04.03.2018 um 18:45 schrieb Sven Barth via fpc-pascal:
On 04.03.2018 18:06, Bernd Oppolzer wrote:
Are procedure and function parameters allowed in Free Pascal?

When I tried to compile the Man-or-boy example program (Knuth's test),
FPC complained with a syntax error:


c:\work\pascal\work>fpc manorboy.pas
Free Pascal Compiler version 3.0.0 [2015/11/16] for i386
Copyright (c) 1993-2015 by Florian Klaempfl and others
Target OS: Win32 for i386
Compiling manorboy.pas
manorboy.pas(41,28) Fatal: Syntax error, "identifier" expected but
"FUNCTION" found
Fatal: Compilation aborted
Error: C:\FPC\3.0.0\bin\i386-win32\ppc386.exe returned an error exitcode


This is the place where the function parameter appears in the
definition of the function A:


function A ( K : INTEGER ; function X1 : INTEGER ; function X2 :
            INTEGER ; function X3 : INTEGER ; function X4 : INTEGER ;
            function X5 : INTEGER ) : INTEGER ;
There is only one solution that currently really will work with that
kind of code: use {$mode iso} at the top of the file to use the ISO
Pascal compatible mode.

In theory it should also be possible to use another mode plus
{$modeswitch nestedprocvars}, but that doesn't play nicely with the call
to A inside of B as the compiler seems to call the X4 parameter while it
shouldn't...

Regards,
Sven


Thanks,

mode iso worked without problems;
the results were as expected.

Kind regards

Bernd

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to