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

World: r3wp

[Parse] Discussion of PARSE dialect

PeterWood
16-Jun-2009
[3922]
I guess you could answer that end is past the end of the input. But 
the behavior seems inconsistent:

>> parse "123456789" [thru "8" "9" end
]
== true

>> parse "123456789" [thru "9" end]
  
== true
>> parse "123456789" [thru end]
        
== false
Maxim
16-Jun-2009
[3923]
but brian, skipping past the end, still puts you at the end of the 
series, but the parser know you tried to go beyond the end... ITs 
the thru wich is failing, cause it knows you are trying to go beyond 
the end.
PeterWood
16-Jun-2009
[3924]
It's different in R3 :-)

>> parse "123456789" [thru end]

== true
Maxim
16-Jun-2009
[3925]
thru consumes the end word, and then detects that, as a result, it 
would put you beyond the end.  
really, its quite logical.  


but in practically, thru shouldn't complain.... cause as you say, 
in this specific context, thru and to really do mean the same end.
PeterWood
16-Jun-2009
[3926]
I prefer the R3 behaviour. I really hope that it doesn't change.
BrianH
16-Jun-2009
[3927]
I'll make sure of that, Peter.
PeterWood
16-Jun-2009
[3928]
Thanks.
Ladislav
16-Jun-2009
[3929]
yes, Peter, I am sure R3 behaviour is correct
BrianH
23-Jun-2009
[3930x2]
In R2:

>> parse/all { X X  XX X X} [(prin 'a) some [(prin 'b) "X" (prin 
'c) [(prin 'd) "X" (prin 'e) | (prin 'f) skip (prin 'g)] (prin 'h) 
| (prin 'i) skip (prin 'j)] (prin 'k)]
abijbcdfghbcdfghbijbcdehbijbcdfghbcdfijbik== true

In R3:

>> parse/all { X X  XX X X} [(prin 'a) some [(prin 'b) "X" (prin 
'c) [(prin 'd) "X" (prin 'e) | (prin 'f) skip (prin 'g)] (prin 'h) 
| (prin 'i) skip (prin 'j)] (prin 'k)]
abijbcdfghbcdfghbijbcdehbijbcdfghbcdfijk== true


In both cases the fij near the end should should be fgh - a bug in 
PARSE.
Never mind, I missed that the last X is at the end of the string. 
No bugs.
shadwolf
30-Jun-2009
[3932x2]
the more i try to understand parse the less i understand it
i want to try to make a tutorial about parse but my knowledge of 
it is poor 

 so as we have a wiki we could start a project to write a documentation 
  with the goal to make people understand what is the interrest of 
 parse
Sunanda
30-Jun-2009
[3934]
Parse question on stackoverflow (unanswered as yet:)

http://stackoverflow.com/questions/1060727/rebol-parse-dealing-with-whitespace-and-copy-var
BrianH
30-Jun-2009
[3935]
Answered :)
Sunanda
30-Jun-2009
[3936]
Fast!
shadwolf
30-Jun-2009
[3937]
http://www.rebolfrance.info/articles/allaboutparse
documentation to put all what we want to now about parse
BrianH
30-Jun-2009
[3938]
There's also a lot of documentation about parse's behavior (in theory) 
at the beginning of the Parse Proposals page on DocBase.
shadwolf
30-Jun-2009
[3939]
BrianH yea but that's really too light you can't expect people gaining 
Guru level in parse with so poor documentation ... I want to know 
all about parse and i want that knowledge to be sahred
BrianH
30-Jun-2009
[3940x2]
Alas, to know all about parse you have to go to the guru level. To 
know enough to get by, you don't :)
Code like that example above with all the (prin) calls can help a 
lot wiith understanding parse though.
Sunanda
30-Jun-2009
[3942]
What would be useful would be a parse cookbook.....HowTo questions 
with sample answers.

That way, we could build up a set of carefully graded examples of 
putting parse to work.
shadwolf
30-Jun-2009
[3943x4]
sunanda that's what i have in mind
but not only ...
first you give the basic you say what is parse you eplain how you 
can use it and then for the very hl part of the documentation you 
have examples working or not and answers from gurus explaining what 
 you missed in your implementation
sunanda look the page i submited if you have any comments
Maxim
30-Jun-2009
[3947]
parse is a part of rebol which needs a complete book to be written 
about it.   To go from zero to hero it could easily span 100 or more 
pages.
shadwolf
30-Jun-2009
[3948]
Maxim i agree lets do it :P
Maxim
30-Jun-2009
[3949]
to me parse is something that is useless until you understand it.... 
at which point, you are a guru.   There is no real middle ground, 
which is the problem.
shadwolf
30-Jun-2009
[3950]
but really i have a thousand projects in mind and i'm locked because 
of  my parse low knowlege i can add things to existing parse rules 
 but building a rule or a dialect from scratch is impossible for 
me
Pekr
30-Jun-2009
[3951x2]
parse just needs to implement suggested refinements to make it more 
easy to use ...
I am able to parse what I need, am far from guru, but I still find 
parse usefull. I would not be able to write single regexp line ....
shadwolf
30-Jun-2009
[3953]
Maxim if people will know how to explain parse in ten years of existance 
it will be done already but nothing goes against trying and in the 
end the result can be surprising
BrianH
30-Jun-2009
[3954]
One of the best ways to learn is to try to figure out enough to teach 
others :)
shadwolf
30-Jun-2009
[3955x7]
Pekr if you saw viva-rebol code you could see parse will be usefull 
for the function click and go  part

instead of the weak actual solution base  on  either any [ find ...] 
]
as area-tc is base on parse to draw on screen having a better understanding 
of parse would lead to the creation of a all purpose ritch text rendering 
widget using an adapated dialect
but i'm amased  some years ago rebol was all about eep computing 
simple by creating dialects addapted to your needs. But in reality 
parse is so compexe that this aspect of rebol is from far one of 
the less used ....
and in my opinion we are missing really something ... That's the 
kind of thing carl found so easy to use that he never though about 
creating a complete documentaton on it
at least that's my opinion ... I always delayed this kind of project 
I was expecting someone to do it 
But time passed and no complete documentation emerged.
i started writing the documentation and organising the plan of the 
document and how i see things organised.

all comments or adding to this document are welcome.
I recall the URL: http://www.rebolfrance.info/articles/allaboutparse
Graham
30-Jun-2009
[3962]
there is  a section on parse in the wikibook .. you could add to 
that...
shadwolf
30-Jun-2009
[3963x9]
graham .. wiki is for R3 since R2 and R3  are not the same it's better 
to not mix them. We can build the  documentation prototype on french 
wiki and then upload it with adaptations to unicode and other R3 
parse new things... to R3 wiki.


I prefere using french wiki because it's wide open no need to fill 
a form and log to be granted as a reader and in my mind this have 
to be the most open wide possible.
as a writer lol ofcourse ...
but yes that will be a need to be on wiki R3 .. but before talking 
on what is not official can we talk about what is official and already 
wait for us to use it since so many years ?
graham even if from taht wor then you write a book on parse and become 
billionare I won't be annoyed by that hahaha (if that's the case 
I and the other writers would gladly appreciate you to send us a 
plane to ticket to visit you graham :P)
any people that want to explain what he understoud from parse should 
be able to write it somewhere and have other people contribute to 
it well in my particular case that will end fast lol i'm not a parse 
guru i'm just a rebol coder willing to understand parse and use it 
the more often possible in all my projects.
i recognise i have been lazy and skipping the pain to understand 
parse too much time...
we can live without parse yes .... but then we have post from Carl 
saying that the rebol community is coding in rebol like they could 
code in any other language and skippping the most part of interrest 
of coding in rebol... and yes i'm not against that remark that's 
completly true. what interrest me is how can we promote the use of 
parse and how can we give back to parse use and dialects conception 
the  central place they deserve ?
many answers to that goal can be provided, make parse more friendly 
? write documentation about parse ? providing other point of entry 
to parse comming from other more "fun" technologies like a VID face 
using parse rules to draw on screen ritch text ? 


And why not using all of those possible solutions to this problem 
?
Another thing that annoys me ... don't take it as a personal attack 
okay that's just what i saw in 6 years of being part of rebol community. 


We provide our community tools to exchange information (altme, chat, 
forums etc...) people come with their problems they obtain an answer 
and then what ? the answer is lost in the flaw of talking and no 
one remembers them. then time later another guy come with the same 
problem obtain the same reply and the reply again is lost in the 
wind. 


The purpose of documentation is offering a way to answer the most 
basic problems and for harder problems one never though about then 
we use forums, altme, chat etc  and then this problem is backuped 
cleaned and organised into a cookbook will say sunanda or a detailled 
any level documentation i would say.