I was looking at SmaCC and noticed the latest version
on Dolphin and VW seems to support GLR parsing. What would be needed to make that work on Pharo (3/Moose5)? What practical consequences might I expect if we replace a PetitParser based parser by a SmaCC one? Stephan _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Le 05/02/2014 14:04, Stephan Eggermont a écrit : > I was looking at SmaCC and noticed the latest version > on Dolphin and VW seems to support GLR parsing. > What would be needed to make that work on Pharo (3/Moose5)? Not much, the work is almost finished, I just told Alain Plantec and Stéphane Ducasse they can try it. Just load the development version of SmaCC on Pharo3 and you'll be able to tell me if I missed a few things. It's hosted at: https://github.com/ThierryGoubier/SmaCC Loadable through: Gofer new url: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo30/main'; configurationOf: 'SmaCC'; loadDevelopment stable version loads the previous SmaCC. > What practical consequences might I expect if we replace > a PetitParser based parser by a SmaCC one? I believe that someone showed a while ago a significant speed difference between a SmaCC generated parser and a PetitParser. Beware: not everything works (not yet) and I may consider necessary to do some tuning on it. Regards, Thierry -- Thierry Goubier CEA list Laboratoire des Fondations des Systèmes Temps Réel Embarqués 91191 Gif sur Yvette Cedex France Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95 _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Stephan Eggermont-3
I assume you want
spec for: #'pharo3.x' version: '2.0.3' instead of 203. I’m blocked on the use of git at the moment (see pharo list) Stephan _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Le 06/02/2014 12:25, Stephan Eggermont a écrit : > I assume you want > > spec for: #'pharo3.x' version: '2.0.3' > > instead of 203. Done, thanks for pointing that out :) > I’m blocked on the use of git at the moment (see pharo list) Yes, I'm looking. Thierry -- Thierry Goubier CEA list Laboratoire des Fondations des Systèmes Temps Réel Embarqués 91191 Gif sur Yvette Cedex France Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95 _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Stephan Eggermont-3
Instructions for using it without git support and/or configuration:
Download: https://github.com/ThierryGoubier/SmaCC/archive/master.zip Unzip that somewhere. It should create a SmaCC-master directory. Start a Pharo 3 image. Open the Monticello browser. Add a repository filetree:// on the SmaCC-master directory. Load the following packages in that order : SmaCC-Source-Editing.package SmaCC-Runtime.package SmaCC-GLR-Runtime.package SmaCC-Development.package SmaCC-Development-UI.package You can then choose if you want to try the additions. There is a lot of interesting stuff in the remainder : SmaCC-Tests.package SmaCC-C-Parser.package SmaCC-Java.package SmaCC-CSharp.package SmaCC-Smalltalk-Parser.package The rest is at your own risks. It's an unstable version, and I'll change it without warnings if I need to. The github repository will keep track of the changes. Regards, Thierry Le 06/02/2014 12:25, Stephan Eggermont a écrit : > I assume you want > > spec for: #'pharo3.x' version: '2.0.3' > > instead of 203. > > I’m blocked on the use of git at the moment (see pharo list) > > Stephan > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev > > -- Thierry Goubier CEA list Laboratoire des Fondations des Systèmes Temps Réel Embarqués 91191 Gif sur Yvette Cedex France Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95 _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Interesting. Do you also have implementations for the corresponding ASTs of these languages? Doru On Thu, Feb 6, 2014 at 1:34 PM, Goubier Thierry <[hidden email]> wrote: Instructions for using it without git support and/or configuration: "Every thing has its own flow"
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
As far as I got the time to see, those implementations have full ASTs.
The C# and the Java parsers are around a hundred classes each, with only 2 for the parser and the scanner. There is code in there for automatic generation of the AST nodes classes. Thierry Le 06/02/2014 13:41, Tudor Girba a écrit : > Interesting. Do you also have implementations for the corresponding ASTs > of these languages? > > Doru > > > On Thu, Feb 6, 2014 at 1:34 PM, Goubier Thierry <[hidden email] > <mailto:[hidden email]>> wrote: > > Instructions for using it without git support and/or configuration: > > Download: > > https://github.com/__ThierryGoubier/SmaCC/archive/__master.zip > <https://github.com/ThierryGoubier/SmaCC/archive/master.zip> > > Unzip that somewhere. It should create a SmaCC-master directory. > > Start a Pharo 3 image. > > Open the Monticello browser. Add a repository filetree:// on the > SmaCC-master directory. Load the following packages in that order : > > SmaCC-Source-Editing.package > SmaCC-Runtime.package > SmaCC-GLR-Runtime.package > SmaCC-Development.package > SmaCC-Development-UI.package > > You can then choose if you want to try the additions. There is a lot > of interesting stuff in the remainder : > > SmaCC-Tests.package > SmaCC-C-Parser.package > SmaCC-Java.package > SmaCC-CSharp.package > SmaCC-Smalltalk-Parser.package > > The rest is at your own risks. It's an unstable version, and I'll > change it without warnings if I need to. The github repository will > keep track of the changes. > > Regards, > > Thierry > > > Le 06/02/2014 12:25, Stephan Eggermont a écrit : > > I assume you want > > spec for: #'pharo3.x' version: '2.0.3' > > instead of 203. > > I’m blocked on the use of git at the moment (see pharo list) > > Stephan > _________________________________________________ > Moose-dev mailing list > [hidden email] <mailto:[hidden email]> > https://www.iam.unibe.ch/__mailman/listinfo/moose-dev > <https://www.iam.unibe.ch/mailman/listinfo/moose-dev> > > > > -- > Thierry Goubier > CEA list > Laboratoire des Fondations des Systèmes Temps Réel Embarqués > 91191 Gif sur Yvette Cedex > France > Phone/Fax: +33 (0) 1 69 08 32 92 > <tel:%2B33%20%280%29%201%2069%2008%2032%2092> / 83 95 > _________________________________________________ > Moose-dev mailing list > [hidden email] <mailto:[hidden email]> > https://www.iam.unibe.ch/__mailman/listinfo/moose-dev > <https://www.iam.unibe.ch/mailman/listinfo/moose-dev> > > > > > -- > www.tudorgirba.com <http://www.tudorgirba.com> > > "Every thing has its own flow" > > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev > -- Thierry Goubier CEA list Laboratoire des Fondations des Systèmes Temps Réel Embarqués 91191 Gif sur Yvette Cedex France Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95 _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Very interesting. Do you know who built those parsers and ASTs? Also, what is the license for the source code? Doru On Thu, Feb 6, 2014 at 1:51 PM, Goubier Thierry <[hidden email]> wrote: As far as I got the time to see, those implementations have full ASTs. "Every thing has its own flow"
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
As far as I know, it's the work of John Brant and Don Roberts. The
license is the one associated with SmaCC, that is MIT. http://www.refactoryworkers.com/SmaCC/index.html For those experts in refactoring, note that with that version of SmaCC you get a langage-agnostic refactoring engine you can generate for each parser (as well as the pattern langage). Working with such code is really cool. I feel priviledged to have access to that (and it will help me significantly in my current work). Thierry Le 06/02/2014 14:10, Tudor Girba a écrit : > Very interesting. > > Do you know who built those parsers and ASTs? > > Also, what is the license for the source code? > > Doru > > > On Thu, Feb 6, 2014 at 1:51 PM, Goubier Thierry <[hidden email] > <mailto:[hidden email]>> wrote: > > As far as I got the time to see, those implementations have full ASTs. > > The C# and the Java parsers are around a hundred classes each, with > only 2 for the parser and the scanner. There is code in there for > automatic generation of the AST nodes classes. > > Thierry > > Le 06/02/2014 13:41, Tudor Girba a écrit : > > Interesting. Do you also have implementations for the > corresponding ASTs > of these languages? > > Doru > > > On Thu, Feb 6, 2014 at 1:34 PM, Goubier Thierry > <[hidden email] <mailto:[hidden email]> > <mailto:[hidden email] > <mailto:[hidden email]>__>> wrote: > > Instructions for using it without git support and/or > configuration: > > Download: > > https://github.com/____ThierryGoubier/SmaCC/archive/____master.zip > <https://github.com/__ThierryGoubier/SmaCC/archive/__master.zip> > > > <https://github.com/__ThierryGoubier/SmaCC/archive/__master.zip > <https://github.com/ThierryGoubier/SmaCC/archive/master.zip>> > > Unzip that somewhere. It should create a SmaCC-master > directory. > > Start a Pharo 3 image. > > Open the Monticello browser. Add a repository filetree:// > on the > SmaCC-master directory. Load the following packages in that > order : > > SmaCC-Source-Editing.package > SmaCC-Runtime.package > SmaCC-GLR-Runtime.package > SmaCC-Development.package > SmaCC-Development-UI.package > > You can then choose if you want to try the additions. There > is a lot > of interesting stuff in the remainder : > > SmaCC-Tests.package > SmaCC-C-Parser.package > SmaCC-Java.package > SmaCC-CSharp.package > SmaCC-Smalltalk-Parser.package > > The rest is at your own risks. It's an unstable version, > and I'll > change it without warnings if I need to. The github > repository will > keep track of the changes. > > Regards, > > Thierry > > > Le 06/02/2014 12:25, Stephan Eggermont a écrit : > > I assume you want > > spec for: #'pharo3.x' version: '2.0.3' > > instead of 203. > > I’m blocked on the use of git at the moment (see pharo > list) > > Stephan > ___________________________________________________ > Moose-dev mailing list > [hidden email] <mailto:[hidden email]> > <mailto:[hidden email] <mailto:[hidden email]>__> > https://www.iam.unibe.ch/____mailman/listinfo/moose-dev > <https://www.iam.unibe.ch/__mailman/listinfo/moose-dev> > > <https://www.iam.unibe.ch/__mailman/listinfo/moose-dev > <https://www.iam.unibe.ch/mailman/listinfo/moose-dev>> > > > > -- > Thierry Goubier > CEA list > Laboratoire des Fondations des Systèmes Temps Réel Embarqués > 91191 Gif sur Yvette Cedex > France > Phone/Fax: +33 (0) 1 69 08 32 92 > <tel:%2B33%20%280%29%201%2069%2008%2032%2092> > <tel:%2B33%20%280%29%201%2069%__2008%2032%2092> / 83 95 > ___________________________________________________ > Moose-dev mailing list > [hidden email] <mailto:[hidden email]> > <mailto:[hidden email] <mailto:[hidden email]>__> > https://www.iam.unibe.ch/____mailman/listinfo/moose-dev > <https://www.iam.unibe.ch/__mailman/listinfo/moose-dev> > <https://www.iam.unibe.ch/__mailman/listinfo/moose-dev > <https://www.iam.unibe.ch/mailman/listinfo/moose-dev>> > > > > > -- > www.tudorgirba.com <http://www.tudorgirba.com> > <http://www.tudorgirba.com> > > > "Every thing has its own flow" > > > _________________________________________________ > Moose-dev mailing list > [hidden email] <mailto:[hidden email]> > https://www.iam.unibe.ch/__mailman/listinfo/moose-dev > <https://www.iam.unibe.ch/mailman/listinfo/moose-dev> > > > -- > Thierry Goubier > CEA list > Laboratoire des Fondations des Systèmes Temps Réel Embarqués > 91191 Gif sur Yvette Cedex > France > Phone/Fax: +33 (0) 1 69 08 32 92 > <tel:%2B33%20%280%29%201%2069%2008%2032%2092> / 83 95 > _________________________________________________ > Moose-dev mailing list > [hidden email] <mailto:[hidden email]> > https://www.iam.unibe.ch/__mailman/listinfo/moose-dev > <https://www.iam.unibe.ch/mailman/listinfo/moose-dev> > > > > > -- > www.tudorgirba.com <http://www.tudorgirba.com> > > "Every thing has its own flow" > > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev > -- Thierry Goubier CEA list Laboratoire des Fondations des Systèmes Temps Réel Embarqués 91191 Gif sur Yvette Cedex France Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95 _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Stephan Eggermont-3
>As far as I got the time to see, those implementations have full ASTs.
The Java one has classes with instVars, but no methods at all… Stephan _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Free forum by Nabble | Edit this page |