World: r3wp
[Parse] Discussion of PARSE dialect
older newer | first last |
shadwolf 30-Jun-2009 [3970x3] | 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. | |
this way we will give the next step to the people initially interrested by rebol but letting it appart because progressing in it once you get the basis way to work become a hell path. | |
Graham 30-Jun-2009 [3973x4] | the wikibook is on wikipedia ... not Rebol's sites .... |
http://en.wikibooks.org/wiki/REBOL_Programming | |
http://en.wikibooks.org/wiki/REBOL_Programming/Language_Features/Parse | |
We started a couple of years ago writing this .. but ran out of steam :( | |
shadwolf 30-Jun-2009 [3977x2] | yeah i'm ready it .. that's complete but it's missing a human dimension to that documentation i mean i read it and i'm still not able to do what i want to do .... |
but yeah lot of good ideas in that documentation .... I like the progression u do | |
Graham 30-Jun-2009 [3979] | Multiple authors ... |
shadwolf 30-Jun-2009 [3980] | that's the same progressing angle i choose to explain what is a rule if you look my doc |
Graham 30-Jun-2009 [3981] | I see a lot of Ladislav's work there :) |
shadwolf 30-Jun-2009 [3982] | you is plural too :P |
Graham 30-Jun-2009 [3983] | you is plural, u is singular :) |
shadwolf 30-Jun-2009 [3984] | if you want i speak to you in french we french have a more noticeable way to use you in plural :P |
Graham 30-Jun-2009 [3985] | Anyway, you are welcome to change things .. the book is a work in progress. |
shadwolf 30-Jun-2009 [3986x3] | good basis to start a true documentation will make people speak with parse and knows all about it |
ok book marked and i will see what i can do with that | |
running out of steam well so many things where oneshot intent in rebol community ... | |
Graham 30-Jun-2009 [3989] | we should all be like the terminator and have a shielded nuclear power source .... |
shadwolf 30-Jun-2009 [3990x2] | hihihi hum ... no because nuclear thing hurts the planet ... |
there is so many interresting aspect in rebol than focusing on only one and going to the extend of it is really hard ... | |
Graham 30-Jun-2009 [3992] | How's the collaborative editor going? |
shadwolf 30-Jun-2009 [3993x7] | but rebolution can't come if it don't bring freedom with it isn't it ? |
graham i thought your irc was to handle that kind of conversation lol | |
well since i'm stuck with parse .... it's not going at all | |
if you hit metal and shape it you are a blacksmith if you hit parse and shape your code you are a reboler :P | |
i like the idea of building a colaborativ editor around irc and vid i find the cross of both technologies reallly interresting... but the bound to those technologies have to be parse parse parse and only parse | |
if i make another compse and if find based project steeve is going to kill me :P | |
ok i'm leaving to bed see u | |
Graham 30-Jun-2009 [4000] | bye |
Gregg 1-Jul-2009 [4001] | Shadwolf, I think you'll get a lot of agreement about the doc situation, but the REBOL community has never reached critical mass. Also, REBOLers tend to roll their own. That's partly due to REBOL not having support for PitL (e.g. modules), but also a mindset. |
Maxim 1-Jul-2009 [4002] | shadwolf. REBOL dialects are by definitions BLOCK parsing dialects. ypu fail to mention that there is block parsing in the document you started. |
shadwolf 3-Jul-2009 [4003x7] | maxim no i called it the block rule and i made a section dedicated to dialect So waht i will put in the block rule that is different than a dialact ... |
in the block rule i will explain the big lines and then i will try to apply those consepts to build a simple dialect that i will comment . | |
and as that's the most difficult part i don't really undersand it so we will see any help is welcome anyway. | |
for me and that's probably a noob though becasuse i'm not a guru... but none rule and string rule avec almost the same effect isolating and spliting items of a string and arranging it into a returned block! but yes the bigest part will be to explain the block rule the parse in a block rule instructions (copy at thru to etc...) | |
i will have to explain any some end newline all those kind of things that annimate parse and make it completly another thing compared to regular expression | |
Gregg well ... i'm not against contributing but I think one of the good way is for lower ranked programmer to express their problems and try to construct a doc helped by gurus to answers their ask then if it's readable and understandable by me I assum anyone could understand it My point is once people end rading the doc they will say "yeah i understoud what it's all about so now lets play with parse :P" if that only goal can be achieve I think a big step will be done. | |
and parse is something I really want to use in extensiv ways and if in the process i can acquiere enough knowledge and sahre it then we will all benefit from that | |
Maxim 10-Jul-2009 [4010] | shadwolf... just found this nice little tutorial... :-) http://compsci.ca/v3/viewtopic.php?t=17706 |
Brock 10-Jul-2009 [4011] | Can anyone explain the error indicated in the last comment? |
Graham 10-Jul-2009 [4012] | You should define a complement to spaces and then change the parse rule to copy the complementary characters. |
Anton 11-Jul-2009 [4013] | The changed rule has copy varb to spaces Note: that's *to* spaces, not *thru* spaces. That is, the spaces are not consumed like they were in the previous rule. If you have a rule spaces then those spaces will be consumed. If you have a rule to spaces then the parse index will be moved to the head of those spaces, so the spaces themselves will not be consumed. So if you want the spaces also to be consumed (the parse index to be advanced through them), then you need a rule: to spaces spaces That's right, you have to repeat yourself a little bit. So the fixed version of the broken rule from the article should be: rule: ["a" spaces copy varb to spaces spaces "c"] (Feel free to post this answer to the article.) |
sqlab 13-Jul-2009 [4014] | no, I see it differently. the problem is that spaces is " [some spacer]" , and R2 does not allow "to subrule". |
Anton 13-Jul-2009 [4015x5] | You are right. (I was so confident I didn't test my code. Good thing nobody posted it.) |
Ok, this is tested: | |
. spacer: charset " ^-^/" ; Space, tab, newline. non-spacer: complement spacer ; All chars except the three above. whatever: [some non-spacer] spaces: [some spacer] rule: ["a" spaces copy varb whatever spaces "c"] parse/all "a b c" rule ;== true | |
Maybe someone who subscribed can post this code, with additional comments: | |
The above problem reduces to: spacer: charset " " parse/all " " [to spacer] ** Script Error: Invalid argument: make bitset! #{ 0000000001000000000000000000000000000000000000000000000000000000 } ** Near: parse/all " " [to spacer] The reason is Rebol2 parse does not allow "to subrule". (Pointed out by sqlab, thanks.) Here's a way to do it using COMPLEMENT (suggested by Graham): spacer: charset " ^-^/" ; Space, tab, newline. non-spacer: complement spacer ; All chars except the three above. whatever: [some non-spacer] spaces: [some spacer] rule: ["a" spaces copy varb whatever spaces "c"] parse/all "a b c" rule ;== true | |
older newer | first last |