r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[REBOL Syntax] Discussions about REBOL syntax

Steeve
17-Feb-2012
[151]
[aaaa/] is not a word! it's a path!
Maxim
17-Feb-2012
[152]
I was just wondering if that is what Steeve meant
Steeve
17-Feb-2012
[153]
yep
Maxim
17-Feb-2012
[154]
Steve are you aware of the R3 parse AND operator?  maybe that is 
throwing you off?
Ladislav
17-Feb-2012
[155x2]
yes, load "aaaa/" reports an "invalid path". However, the word is 
valid.
>> p: load "aaaa/1"
== aaaa/1

>> type? first p
== word!
Steeve
17-Feb-2012
[157]
but I think it should be detected inside the path-syntax not in the 
word-syntax or not ?
Ladislav
17-Feb-2012
[158]
Actually, inside the path-syntax you need to detect the word...
Maxim
17-Feb-2012
[159x2]
the AND is a look ahead.  it doesn't advance the input, so whatever 
is matched by    [ AND termination ] only tries to find a delimiter.
signaling the end of the word, without consuming the "/"
Steeve
17-Feb-2012
[161]
I know that already Max ;-)
Maxim
17-Feb-2012
[162]
ok, just wanted to be sure :-)
Steeve
17-Feb-2012
[163]
Al least it's a problem with [termination] used in tuple-syntax and 
decimal-syntax.
Don't say i'm wrong here again :-)
Ladislav
17-Feb-2012
[164]
I do not know an example where it would be wrong
Steeve
17-Feb-2012
[165]
[1.2.3/] how can that be valid ?
Maxim
17-Feb-2012
[166]
ah, yes... you are struggling with the AND here   :-)   the termination 
is not part of the tuple... but it does mark it  :-)
Steeve
17-Feb-2012
[167]
with the current rules it would be checjed like [1.2.3 /]
Ladislav
17-Feb-2012
[168]
that is not a valid path, but this one is:

>> type? second load "a/1.2.3/b"
== tuple!
Steeve
17-Feb-2012
[169]
That's right it makes the tupple valid which is wrong
Ladislav
17-Feb-2012
[170]
The tuple *is* valid, what is invalid is just the path in your example
Maxim
17-Feb-2012
[171]
no, it makes the PATH invalid.
Steeve
17-Feb-2012
[172x3]
what !!!!!!
I can't believe it
[1.2.3/b] = [1.2.3  /b]
it may be valid but it has nothing to do with a path anymore
Gregg
17-Feb-2012
[175]
Paths have to start with a word, don't they?
Ladislav
17-Feb-2012
[176]
path-syntax shall be something like path-syntax: [word-syntax some 
[#"/" value-syntax]]
Gregg
17-Feb-2012
[177]
Otherwise, they load as a block.
Maxim
17-Feb-2012
[178]
yep.  so the above is not a path   :-)   its a tuple, followed by 
a refinement.
Steeve
17-Feb-2012
[179x2]
Argh sorry
>> [a/1.2.3/a]
== [a/1.2.3/a]
valid path
Ok you"re right again with tuple!
Gregg
17-Feb-2012
[181]
Same for other types too. e.g. paren!
Steeve
17-Feb-2012
[182]
My last try.
It doesn't work with decimals
Maxim
17-Feb-2012
[183]
the key here really is that AND  ;-)
Steeve
17-Feb-2012
[184x3]
>> [a/0.3/a]
** Syntax error: invalid "decimal" -- "0.3"
** Near: (line 1) [a/0.3/a]
>> [a/0.3/a]
** Syntax error: invalid "decimal" -- "0.3"
** Near: (line 1) [a/0.3/a]
Ahaaaaaaaaaaaaa
Ladislav
17-Feb-2012
[187x2]
Hmm, this must be a LOAD bug, I think
>> type? second load "a/1.1"
== decimal!
Maxim
17-Feb-2012
[189]
its valid in R2
Steeve
17-Feb-2012
[190]
neither this in R3
>> [0.3/a]
** Syntax error: invalid "decimal" -- "0.3"
** Near: (line 1) [0.3/a]
Ladislav
17-Feb-2012
[191]
That really deserves a CC ticket
Andreas
17-Feb-2012
[192]
Looks like a bug indeed.
Ladislav
17-Feb-2012
[193]
>> a: [0.3 xxx]
== [0.3 xxx]

>> a/0.3
== xxx
Steeve
17-Feb-2012
[194]
So you got me with the "it's a bug !"
Okkkkkkkkk :)
Ladislav
17-Feb-2012
[195]
Well, I do not know exactly what to do now, there is an option to 
reflect the state in the DECIMAL-SYNTAX definition
Steeve
17-Feb-2012
[196]
At least it should be noted as a comment in the source
Ladislav
17-Feb-2012
[197]
yes
Steeve
17-Feb-2012
[198]
I still think there is a problem with that form [aaa/]

It will be checked like 2 separate valid words although it's an invalid 
path
Maxim
17-Feb-2012
[199]
btw, I was not able to use decimals in paths in R2.
>> a: [0.3 test]
== [0.3 test]
>> a/0.3
== none
Ladislav
17-Feb-2012
[200]
system/version?