Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-10-06 Thread Udo Schneider
On 06.10.14 11:46, Damien Cassou wrote: no such guide exist. Do your best and we will do another pass on it afterwards. Ok - good to know. I checked in a version which is IMHO reasonably "clean". I'll check again in two weeks or so - it's sometimes surprising how different something looks when

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-10-06 Thread Damien Cassou
On Thu, Oct 2, 2014 at 8:43 PM, Udo Schneider wrote: > > BTW: Is there any guide regarding the kind of language (e.g. tonality) of > the book. I'd change the it given the fact that the blog entry is pretty > informal which is IMHO not appropriate for a book ... no such guide exist. Do your best

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-10-02 Thread Udo Schneider
On 02.10.14 18:17, Damien Cassou wrote: you should have received an invitation Yepp - I did. Already committed the Blog entry 1:1. Working on cleaning up the language now. BTW: Is there any guide regarding the kind of language (e.g. tonality) of the book. I'd change the it given the fact that

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-10-02 Thread Damien Cassou
On Wed, Oct 1, 2014 at 5:53 PM, Udo Schneider wrote: > I'll check the project structure and tell you. But I assume I'd prefer > working directly - even if in "my" directory only. you should have received an invitation -- Damien Cassou http://damiencassou.seasidehosting.st "Success is the abil

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-10-01 Thread Udo Schneider
On 30.09.14 17:50, Damien Cassou wrote: 1- please give me your github username krodelin 2- clone https://github.com/SquareBracketAssociates/PharoForTheEnterprise-english 3- read the README and add your chapter If you prefer, you can also send a pull request. I'll check the project structure

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-30 Thread Damien Cassou
On Mon, Sep 29, 2014 at 9:03 PM, Udo Schneider wrote: > How to proceed? 1- please give me your github username 2- clone https://github.com/SquareBracketAssociates/PharoForTheEnterprise-english 3- read the README and add your chapter If you prefer, you can also send a pull request. -- Damien

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-29 Thread Udo Schneider
Hi Damien, moving to Pillar was quite easy: http://pillarhub.pharocloud.com/hub/UdoSchneider/6bqsrq7ut85ddotzjy2xqrtth How to proceed? Best Regards, Udo On 29.09.14 18:47, Udo Schneider wrote: Hi Damien, I think the most important thing to start with is not to add content, > but to put th

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-29 Thread Udo Schneider
Hi Damien, I think the most important thing to start with is not to add content, > but to put the content you already have in > https://github.com/SquareBracketAssociates/PharoForTheEnterprise-english. > You will have to use Pillar: > https://ci.inria.fr/pharo-contribution/job/EnterprisePharoBoo

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-28 Thread Damien Cassou
Hi Udo, On Thu, Sep 25, 2014 at 10:28 PM, Udo Schneider wrote: >> We could easily turn your blog into a chapter for a future book :) > Wow! I didn't really expect that! But I'd happy to help any way I can. Maybe > by adding some bits an pieces how to parse blocks with multiple expressions? I th

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-25 Thread Udo Schneider
Hi Stef, > We could easily turn your blog into a chapter for a future book :) Wow! I didn't really expect that! But I'd happy to help any way I can. Maybe by adding some bits an pieces how to parse blocks with multiple expressions? I have that working for a project I'm working on - but it isn't

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-25 Thread stepharo
Yes I do, but you also know (it was clear from the article) that you learn a lot yourself from writing something for public consumption. Most people underestimate how powerful that is. :) In fact I only write for that: to force myself to deeply understand something and be able to forget it

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-25 Thread stepharo
Hi udo I agree with sven :) We could easily turn your blog into a chapter for a future book :) I have the impression that the blog is how to avoid parsing and still get translation done! Stef Hi Sven, thanks for the feedback. > Keep that kind of stuff coming, it is very helpful. I'll try t

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread Udo Schneider
Phil, I mixed up the books. It "Fundamentals of Smalltalk Programming Technique, Volume 1" by "Andres Valloud". Just checked it. http://www.lulu.com/shop/andres-valloud/fundamentals-of-smalltalk-programming-technique-volume-1/paperback/product-5299835.html CU, Udo On 23.09.14 16:05, Udo Sc

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread Udo Schneider
> Yes I do, but you also know (it was clear from the article) that you > learn a lot yourself from writing something for public consumption. > Most people underestimate how powerful that is. True indeed - sorting my thoughts to be able to write them down in a coherent way for public consumption r

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread Sven Van Caekenberghe
On 23 Sep 2014, at 21:00, Udo Schneider wrote: > Hi Sven, > > thanks for the feedback. > > > Keep that kind of stuff coming, it is very helpful. > I'll try to. It just always takes so long to write stuff. But I think you > know that, don't you? :-) Yes I do, but you also know (it was clear f

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread Udo Schneider
Hi Sven, thanks for the feedback. > Keep that kind of stuff coming, it is very helpful. I'll try to. It just always takes so long to write stuff. But I think you know that, don't you? :-) CU, Udo On 23.09.14 16:00, Sven Van Caekenberghe wrote: Hi Udo, This is really an excellent article:

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread Udo Schneider
> I reviewed a few techniques for implementing internal / embeddel DSLs in > a host language and I didn't saw this one :) IMHO it's a nice tool to know about. Only for specific use cases but still useful. CU, Udo On 23.09.14 09:06, Thierry Goubier wrote: Thanks Udo; I reviewed a few techni

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread Thierry Goubier
2014-09-23 15:57 GMT+02:00 Udo Schneider : > > Confirmed in even a better way: given how convoluted and hacky is > > writing a full Python Parser, it is probably not even a Context Free > > Grammar. > Let's agree on the fact that you'll be able to parse it using Context > Sensitive Grammar (Type 1

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread Udo Schneider
Phil, If I remember correctly one of Andres Valloud's books has some more information on Boolean (logic) and Smalltalk. I think it was "A Mentoring Course on Smalltalk" [1]. Definitely worth a read!! CU, Udo [1] http://www.lulu.com/shop/andres-valloud/a-mentoring-course-on-smalltalk/paper

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread Sven Van Caekenberghe
Hi Udo, This is really an excellent article: I enjoyed reading it a lot. It is well written, has lots of relevant code examples and a nice pace, but above all it is really interesting. Thanks a lot. Keep that kind of stuff coming, it is very helpful. Sven On 23 Sep 2014, at 01:48, Udo Schnei

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread Udo Schneider
> Confirmed in even a better way: given how convoluted and hacky is > writing a full Python Parser, it is probably not even a Context Free > Grammar. Let's agree on the fact that you'll be able to parse it using Context Sensitive Grammar (Type 1) for sure ... and if you're very lucky Context Fre

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread kilon alios
damn you guys speak in a language I am not aware of :D Looks like I have reading to do. Anyway regex worked fin for converting pharo messages to python method calls and assignment / reading variables . Regex was actually quite simple to learn. Now for classes I dont know if RBParser would be an o

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread Thierry Goubier
2014-09-23 13:57 GMT+02:00 Udo Schneider : > > yeap noway I compare Regex with PettitParser. I will probably give a > > PettitParser a try, because I try to parse Pharo syntax to Python, I > > want now to parse Pharo classes to python class and that will be a > > nightmare with regex, so time to g

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread p...@highoctane.be
Thx for this! I'd say that the material is worthy of inclusion into a bool chapter. Phil Le 23 sept. 2014 12:51, "Udo Schneider" a écrit : > Phil, > > I'd say that's an implementation of the "Material implication"[1] operator > from Propositional calculus. > > You can write it as > > P -> Q > >

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread Udo Schneider
> yeap noway I compare Regex with PettitParser. I will probably give a > PettitParser a try, because I try to parse Pharo syntax to Python, I > want now to parse Pharo classes to python class and that will be a > nightmare with regex, so time to give PettitParser a serious try. Without wanting to

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread Thierry Goubier
2014-09-23 13:35 GMT+02:00 kilon alios : > yeap noway I compare Regex with PettitParser. I will probably give a > PettitParser a try, because I try to parse Pharo syntax to Python, I want > now to parse Pharo classes to python class and that will be a nightmare > with regex, so time to give Pettit

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread kilon alios
yeap noway I compare Regex with PettitParser. I will probably give a PettitParser a try, because I try to parse Pharo syntax to Python, I want now to parse Pharo classes to python class and that will be a nightmare with regex, so time to give PettitParser a serious try. On Tue, Sep 23, 2014 at 1:1

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread Udo Schneider
Phil, I'd say that's an implementation of the "Material implication"[1] operator from Propositional calculus. You can write it as P -> Q and read it as "P implies Q" or (not 100% correct) "if P (is true) then Q (is true)". Let's take a look at the truth table: P | Q | P -> Q ---+---+---

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread Udo Schneider
> I have not used PettitParser yet, looks powerful but I find it a bit > weird in design. On the other hand regex is quite ugly and understanding > complex regex a pain. I normally encounter two issues with RegExps: 1) The syntax between different apps/libs/frameworks differs sligtly. Esp. for c

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread p...@highoctane.be
On Tue, Sep 23, 2014 at 10:15 AM, kilon alios wrote: > it reminds a lot of Kent's Beck Smalltalk Practice Patterns where it > removes all ifs and replaces them with regular unary messages . It is > definitely an elegant way of coding making the code just flow. > > I have not used PettitParser yet

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread p...@highoctane.be
Cool article & technique indeed. Ah Smalltalk, where were you all those years ;-) Speaking of PetitParser, which is excellent indeed, there is this #==> method in Boolean. PetitParser uses that a lot. I can use the thing but do not really grasps how it works. Now, the method comment says: Boole

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread S Krish
MarkupBuilder in Groovy uses similar logic #doesNotUnderstand: .. but not debug capable ..!.. On Tue, Sep 23, 2014 at 1:45 PM, kilon alios wrote: > it reminds a lot of Kent's Beck Smalltalk Practice Patterns where it > removes all ifs and replaces them with regular unary messages . It is > defi

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread kilon alios
it reminds a lot of Kent's Beck Smalltalk Practice Patterns where it removes all ifs and replaces them with regular unary messages . It is definitely an elegant way of coding making the code just flow. I have not used PettitParser yet, looks powerful but I find it a bit weird in design. On the oth

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread Udo Schneider
> just as it is black magic for me now :D The nice thing about this approach is the fact that it "just" piggybacks the normal Smalltalk message sending. So you can step through it using the Debugger - it's Smalltalk all the way down. I still remember my first shock when (having no formal backg

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread kilon alios
just as it is black magic for me now :D At least I get the general feeling. I am new to parsing too, so far I have only played with regex parsing. Not the most smalltalkish way but it works well so far. On Tue, Sep 23, 2014 at 9:39 AM, Udo Schneider wrote: > Hi Estaban, > > I think the first ti

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread Udo Schneider
On 23.09.14 02:27, Ben Coman wrote: Very nice write up. Fairly straight forward to follow but not something I could have done from scratch. Nice to have a recipe for it. Thanks One spelling mistake... > This will give es enough clues This will give us enough clues Thanks for the feedback -

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-23 Thread Thierry Goubier
Thanks Udo; I reviewed a few techniques for implementing internal / embeddel DSLs in a host language and I didn't saw this one :) Thierry 2014-09-23 1:48 GMT+02:00 Udo Schneider : > All, > > I just finished a blog entry. It shows how to use Smalltalk blocks as > parsers/translators. E.g. transl

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-22 Thread Udo Schneider
Hi Estaban, I think the first time I saw this pattern was in ReStore on Dolphin Smalltalk. I didn't understand it's implementation back then. I assume that it's similar to what I described though. But having a Smalltalk block automagically creating the equivalent SQL SELECT expression was lik

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-22 Thread Esteban A. Maringolo
Excellent article. I think GLORP uses a similar technique to setup its expressions, and also have issues with #and:/#or: selectors due to inlining, so it uses AND:/#OR: instead. Regards! Esteban A. Maringolo pd: Your blog and it's choosen topic made me remember http://use-the-index-luke.com/ 2

Re: [Pharo-users] BLOG: Block Translators - parsing magic

2014-09-22 Thread Ben Coman
Udo Schneider wrote: All, I just finished a blog entry. It shows how to use Smalltalk blocks as parsers/translators. E.g. translating a Block [:customer | (customer joinDate year is: Date today year)] into an SQL-like String (YEAR(customers.joinDate) = 2014)

[Pharo-users] BLOG: Block Translators - parsing magic

2014-09-22 Thread Udo Schneider
All, I just finished a blog entry. It shows how to use Smalltalk blocks as parsers/translators. E.g. translating a Block [:customer | (customer joinDate year is: Date today year)] into an SQL-like String (YEAR(customers.joinDate) = 2014) The SQL stuff is just an example - yo