"Recursion, need more stack space."_(re)

Mon, 16 Jun 1997 15:25:17 +0200



Jan-Jaap van der Heijden wrote:

> > Guess what: the program compiled and ran fine with gpc, but couldn't
> > possibly compile with BP. :-)
> > 
> :-) :-)  Pathetic 64K limits :-) :-)
 
Not because of these, but because BP doesn't handle stacke frames
with procedural parameters (variables).

If it were only the 64kB limit, that's an old story, I wouldn't
even have mentioned it here...

> > Another little bug I just found:
> > 
> > program x;
> > var x:real value 0; {"initial value is of wrong type}
> > begin
> > end.
> 
> 
> It's not a bug, I believe.
> 
> From ISO 10206:1990, sec 6.1.7:
> 
> unsigned-rel = digit-sequence `.' fractional-part [ `e' scale factor ]
>                | digits-sequence `e' scale factor
 
I thought EP would allow arbitrary expressions as variable initializers
(even things like sin(x+3), AFAIR). So an implicit integer->real
conversion should be possible, too, I'd think. Even if the standard
doesn't demand it, I think it's a good idea to have it in gpc.
 
BTW: Isn't there are general rule like (sorry, I don't know the actual
identifiers):

real_value = integer_value | ...

(IMHO, there should be. After all, as we mathematicians say,
$\Z \subseteq \Q$ :-)

> I see a simular definition in my Turbo pascal Programmer's Guide, so
> BP should not accept it either.
 
I'll look it up, but BP allows some kinds of expressions (e.g.
(a+b)/2 if a and b are constants, not with variables, no sin, ...),
so it seems logical to allow simple integers, too.

> Try to make it "0.0" or "0e0"
 
That's one of the (many) things I don't like about C...
-- 
Frank Heckenbach, Erlangen, Germany
heckenb@mi.uni-erlangen.de
Turbo Pascal:   http://www.mi.uni-erlangen.de/~heckenb/programs.htm
Internet links: http://www.mi.uni-erlangen.de/~heckenb/links.htm


Frank Heckenbach (heckenb@mi.uni-erlangen.de)

HTML conversion by Lluís de Yzaguirre i Maura
Institut de Lingüística Aplicada - Universitat "Pompeu Fabra"
e-mail: de_yza@upf.es