SmaCC

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

SmaCC

Ross Boylan
I'm using the Pharo 1.0 image and have loaded the configuration for
SmaCC.  It doesn't seem to come with any instruction or examples about
how to use it, and I seem to have only the SmaCC-Runtime package group.

I think I need SmaCCDev, but can't figure out how to load it. I opened
up the monticello browser, but when I try to add a repository it asks me
for an email address.

I would appreciate help on any or all of figuring out how to use SmaCC,
loading SmaCCDev (or any other packages) and info about package
management in Pharo.

Thanks.
Ross Boylan


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: SmaCC

Lukas Renggli
> I would appreciate help on any or all of figuring out how to use SmaCC,
> loading SmaCCDev (or any other packages) and info about package
> management in Pharo.

If you are looking for SmaCC execute the following Gofer scripts.
Seriously, if you are looking at SmaCC you should have a look at
PetitParser first <http://www.lukas-renggli.ch/blog/petitparser-1> :-)

" Prerequisites "
Gofer new
        squeaksource: 'rb';
        package: 'AST-Core';
        package: 'Refactoring-Core';
        load.

" SmaCC runtime and development tools "
Gofer new
        squeaksource: 'SmaccDevelopment';
        package: 'SmaCC';
        package: 'SmaCCDev';
        load.

Lukas

--
Lukas Renggli
www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: SmaCC

Ross Boylan
On Mon, 2010-06-14 at 23:33 +0200, Lukas Renggli wrote:
>
> If you are looking for SmaCC execute the following Gofer scripts.
> Seriously, if you are looking at SmaCC you should have a look at
> PetitParser first <http://www.lukas-renggli.ch/blog/petitparser-1> :-)
Thanks for the pointer, and for making it.  I'm going to try it (I'm
building a SAS parser).

BTW  I loaded PetitGui, but when I do PPBrowser open there's a reference
to the class GLMTabulator, which is not in my image.

I had previously loaded moose, but it seems very tightly coupled to
smalltalk, so I tossed it.

Ross


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: SmaCC

Alexandre Bergel
Hi Ross,

> Thanks for the pointer, and for making it.  I'm going to try it (I'm
> building a SAS parser).

It would be very cool if your parser can be part of Moose (http://moosetechnology.org).
By doing your metamodel as an extension of FAMIX, you will have tons of tools for navigation and visualization that comes for free.

Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

PetitParser

Ross Boylan
In reply to this post by Lukas Renggli
http://www.lukas-renggli.ch/blog/petitparser-1 says

The class side of PPPredicateParser provides a lot of other factory
methods that can be used to build more complex terminal parsers.

The class side is empty.  Has the material perhaps moved to
PPPredicateObjectParser, which has lots of stuff?

Ross


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: SmaCC

Ross Boylan
In reply to this post by Alexandre Bergel
On Mon, 2010-06-14 at 18:31 -0400, Alexandre Bergel wrote:

> Hi Ross,
>
> > Thanks for the pointer, and for making it.  I'm going to try it (I'm
> > building a SAS parser).
>
> It would be very cool if your parser can be part of Moose (http://moosetechnology.org).
> By doing your metamodel as an extension of FAMIX, you will have tons of tools for navigation and visualization that comes for free.
>
> Cheers,
> Alexandre
I started reading about Moose (esp Meta-environment and executable
meta-language using smalltalk) and it was all about languages with
introspection.  SAS has no such ability, and is not even object
oriented.  So it didn't seem like a good fit.  Have I misunderstood--for
example, are the remarks directed more at smalltalk as an implementation
language for Moose?

In other ways some kind of preexisting framework would be helpful.  I'm
making the parser because I want to understand where a particular
dataset, and then a particular variable in the dataset, came from.

Ross


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: SmaCC

Alexandre Bergel
> I started reading about Moose (esp Meta-environment and executable
> meta-language using smalltalk) and it was all about languages with
> introspection.  SAS has no such ability, and is not even object
> oriented.  So it didn't seem like a good fit.  Have I misunderstood--for
> example, are the remarks directed more at smalltalk as an implementation
> language for Moose?

As soon as you provide a parser and a meta-model for your language, then moose is your friend. Independently if your language is object-oriented or not.
I build an importer for C for Moose.

Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: PetitParser

Lukas Renggli
In reply to this post by Ross Boylan
You are right, I recently changed that but forgot to adapt the documentation.

Lukas

On 15 June 2010 00:33, Ross Boylan <[hidden email]> wrote:

> http://www.lukas-renggli.ch/blog/petitparser-1 says
>
> The class side of PPPredicateParser provides a lot of other factory
> methods that can be used to build more complex terminal parsers.
>
> The class side is empty.  Has the material perhaps moved to
> PPPredicateObjectParser, which has lots of stuff?
>
> Ross
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



--
Lukas Renggli
www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: SmaCC

Tudor Girba
In reply to this post by Alexandre Bergel
Hi,

Moose is a platform for analysis of data in general and software  
systems in particular. It is not specific to Smalltalk or to any other  
language. It does come with prebuilt solutions for modeling and  
parsing various languages, but you can extend it with your own  
specific requirements.

To form a generic idea, you can browse a bit this:
http://themoosebook.org/

Regarding the reference to GLMTabulator, you need Glamour (which  
indeed also ships with Moose). If you want to load PetitParser with  
all required dependencies you do it via this script:

Gofer new
        renggli: 'petit';
        package: 'ConfigurationOfPetitParser';
        load.
(Smalltalk at: #ConfigurationOfPetitParser) perform: #loadDefault.

Cheers,
Doru


On 15 Jun 2010, at 00:46, Alexandre Bergel wrote:

>> I started reading about Moose (esp Meta-environment and executable
>> meta-language using smalltalk) and it was all about languages with
>> introspection.  SAS has no such ability, and is not even object
>> oriented.  So it didn't seem like a good fit.  Have I  
>> misunderstood--for
>> example, are the remarks directed more at smalltalk as an  
>> implementation
>> language for Moose?
>
> As soon as you provide a parser and a meta-model for your language,  
> then moose is your friend. Independently if your language is object-
> oriented or not.
> I build an importer for C for Moose.
>
> Cheers,
> Alexandre
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

--
www.tudorgirba.com

"Not knowing how to do something is not an argument for how it cannot  
be done."


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: SmaCC

Damien Pollet
On Tue, Jun 15, 2010 at 13:43, Tudor Girba <[hidden email]> wrote:
> If you want to load PetitParser with all required
> dependencies you do it via this script:
>
> Gofer new
>        renggli: 'petit';
>        package: 'ConfigurationOfPetitParser';
>        load.
> (Smalltalk at: #ConfigurationOfPetitParser) perform: #loadDefault.

… but loadDefault does not load anything! Shouldn't it rather be like
in ConfigurationOfPetitParser-tg.6 ?

loadDefault
        (self project version: 'default') load

--
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet

Reply | Threaded
Open this post in threaded view
|

Re: SmaCC

Tudor Girba
Indeed, this was a mistake. It's fixed now.

Cheers,
Doru


On 12 Dec 2010, at 03:42, Damien Pollet wrote:

> On Tue, Jun 15, 2010 at 13:43, Tudor Girba <[hidden email]> wrote:
>> If you want to load PetitParser with all required
>> dependencies you do it via this script:
>>
>> Gofer new
>>        renggli: 'petit';
>>        package: 'ConfigurationOfPetitParser';
>>        load.
>> (Smalltalk at: #ConfigurationOfPetitParser) perform: #loadDefault.
>
> … but loadDefault does not load anything! Shouldn't it rather be like
> in ConfigurationOfPetitParser-tg.6 ?
>
> loadDefault
> (self project version: 'default') load
>
> --
> Damien Pollet
> type less, do more [ | ] http://people.untyped.org/damien.pollet
>

--
www.tudorgirba.com

"Problem solving should be focused on describing
the problem in a way that makes the solution obvious."