POV-Ray : Newsgroups : povray.general : POV-Ray Error Messages Server Time
13 Aug 2024 11:22:51 EDT (-0400)
  POV-Ray Error Messages (Message 1 to 5 of 5)  
From: Ken
Subject: POV-Ray Error Messages
Date: 24 Sep 1998 15:02:34
Message: <360A8973.DA2915CF@pacbell.net>
What practical purpose does Pov's non-fatal error messages serve.
Example using the new syntax of 3.1:

wrong  #delclare Red =  rgb<1,0,0>
correct #delclare Red =  rgb<1,0,0>;


Notice the missing ";" ?
Without the semicolon an error is reported stated "all declared float ..."
    My argument is if the syntax does not actually affect the outcome
of the desired feature why report it as an error at all ?
I'm not knocking it, nor am I asking for a change, I am only seeking
clarification on this issue.

Ken Tyler


Post a reply to this message

From: Dan Connelly
Subject: Re: POV-Ray Error Messages
Date: 24 Sep 1998 17:04:58
Message: <360AA5E8.D84C81FC@flash.net>
I have no inside information on this issue, but can only
speculate.

When in a language it is desired to implement a change in
syntax which would render obsolete a substantial amount of existing
code,  it is often done in steps.  First the old syntax, while
supported, is tagged with an error to discourage its use.  But
after sufficient time has elapsed the support for the old
style is discontinued.  There are examples of this in C.

Clearly the POV team wants to use the semicolon to avoid ambiguity
in some situations.  These situations don't yet exist, but some
change in syntax in a future released will exploit the semicolon.

What I find curious is that the semicolon is used on only a subset of
commands....

Okay :
#declare a = 4;

Not okay:
#render "Hello!\n";

But I am sure this will make more sense at 3.2.

Dan

P.S. I would have preferred the jump be made more directly.  There
is always #version 3.0 to preserve old code.  The current state
of the syntax seems to lack coherence.



Ken wrote:
> 
> What practical purpose does Pov's non-fatal error messages serve.
> Example using the new syntax of 3.1:
> 
> wrong  #delclare Red =  rgb<1,0,0>
> correct #delclare Red =  rgb<1,0,0>;
> 
> Notice the missing ";" ?
> Without the semicolon an error is reported stated "all declared float ..."
>     My argument is if the syntax does not actually affect the outcome
> of the desired feature why report it as an error at all ?
> I'm not knocking it, nor am I asking for a change, I am only seeking
> clarification on this issue.
> 
> Ken Tyler

-- 
http://www.flash.net/~djconnel/


Post a reply to this message

From: Ken
Subject: Re: POV-Ray Error Messages
Date: 24 Sep 1998 17:10:02
Message: <360AA755.E02A2D35@pacbell.net>
Dan Connelly wrote:

> But I am sure this will make more sense at 3.2.

That's presuming a 3.2 before a 4.0. I remember a rumor to the
effect that the Pov team was already working on parts of the
4.0 version though I can't remember it's source or time frame.

> Dan
>
> P.S. I would have preferred the jump be made more directly.  There
> is always #version 3.0 to preserve old code.  The current state
> of the syntax seems to lack coherence.

Agreed.

Ken Tyler


Post a reply to this message

From: Ron Parker
Subject: Re: POV-Ray Error Messages
Date: 24 Sep 1998 17:56:02
Message: <360ab1e2.0@news.povray.org>
On Thu, 24 Sep 1998 11:03:31 -0700, Ken <tyl### [at] pacbellnet> wrote:
>What practical purpose does Pov's non-fatal error messages serve.
>Example using the new syntax of 3.1:
>
>wrong  #delclare Red =  rgb<1,0,0>
>correct #delclare Red =  rgb<1,0,0>;
>
>
>Notice the missing ";" ?
>Without the semicolon an error is reported stated "all declared float ..."
>    My argument is if the syntax does not actually affect the outcome
>of the desired feature why report it as an error at all ?

The syntax does affect the outcome.  Consider this:

#declare Center=<0,0,0>;
union {
    #while (Center.x < 10)
        sphere {
            #declare Center = Center + x;
            -Center - y
            1.5
        }
    #end
    texture {...}
}

Now this is admittedly contrived and stupid, but notice that if the
semicolon weren't there, it would not be at all obvious (to the parser,
which ignores newlines and other formatting) where the #declare stops 
and the center of the sphere begins.  I'm sure there are situations, 
such as in the algorithmic declaration of a triangle or a mesh, where 
such situations are either unavoidable or difficult to spot.  

The introduction of a semicolon is a bit like the introduction of a 
comma (which is still optional, but recommended) into the vector 
syntax in that the old format allowed unparseable constructs like 
<1 -2 3> which could be either a 2d or a 3d vector, depending on 
how you look at it.  

Why the parser feels the need to let us know about the problem, 
where it doesn't for commas, is anybody's guess, but I'd assume 
it's because whoever found the above problem spent a long time 
tracking it down and would prefer for the parser to do all that 
work in the future.


Post a reply to this message

From: Alessandro Coppo
Subject: Re: POV-Ray Error Messages
Date: 26 Sep 1998 08:16:37
Message: <360ccd15.0@news.povray.org>
I too had "confidential" information about a direct jump to 4.0 after 3.1.
As it was said to be a huge rewrite, I am afraid that it might take some
time... ;-)

Ken wrote in message <360AA755.E02A2D35@pacbell.net>...
>Dan Connelly wrote:
>
>> But I am sure this will make more sense at 3.2.
>
>That's presuming a 3.2 before a 4.0. I remember a rumor to the
>effect that the Pov team was already working on parts of the
>4.0 version though I can't remember it's source or time frame.
>


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.