World: r3wp
[REBOL Syntax] Discussions about REBOL syntax
older newer | first last |
Ladislav 17-Feb-2012 [137x3] | A112 (not released) is reported to have other improvements related to get-words and set-words |
remains a problem when followed by a tag - indeed, needs adjustment then | |
A question for Brian: do you think the case: load "a<a>" ; == [a <a>] shall be mentioned in CC? (and, eventually, where?, a new ticket or an old one?) | |
Steeve 17-Feb-2012 [140] | Question: Why #"/" is in termination-char ? (termination-char: union whitespace charset "()[]^"{}/^@;" ) |
Ladislav 17-Feb-2012 [141] | That is because #"/" is a separator in paths |
Steeve 17-Feb-2012 [142] | well it's a problem for the other datatypes which use [termination] |
Ladislav 17-Feb-2012 [143] | example? |
Steeve 17-Feb-2012 [144x2] | example: word-syntax with the current ruke a word can be terlinated with #"/' |
*rule | |
Ladislav 17-Feb-2012 [146] | yes, but that is not a problem |
Steeve 17-Feb-2012 [147] | *terminated/followed |
Ladislav 17-Feb-2012 [148] | (is it?) |
Maxim 17-Feb-2012 [149] | >> hh/ ** Syntax Error: Invalid path -- hh/ ** Near: (line 1) hh/ |
Ladislav 17-Feb-2012 [150] | Yes, but that is not a problem for the word, it is an invalid path |
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 | |
older newer | first last |