World: r3wp
[REBOL Syntax] Discussions about REBOL syntax
older newer | first last |
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? |
older newer | first last |