|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
|
|