SmaCC status?

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

SmaCC status?

Stephan Eggermont-3
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
Reply | Threaded
Open this post in threaded view
|

Re: SmaCC status?

Goubier Thierry

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
Reply | Threaded
Open this post in threaded view
|

Re: SmaCC status?

Stephan Eggermont-3
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
Reply | Threaded
Open this post in threaded view
|

Re: SmaCC status?

Goubier 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.

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
Reply | Threaded
Open this post in threaded view
|

Re: SmaCC status?

Goubier Thierry
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
Reply | Threaded
Open this post in threaded view
|

Re: SmaCC status?

Tudor Girba-2
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:

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: <a href="tel:%2B33%20%280%29%201%2069%2008%2032%2092" value="+33169083292" target="_blank">+33 (0) 1 69 08 32 92 / 83 95
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev



--

"Every thing has its own flow"

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: SmaCC status?

Goubier Thierry
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
Reply | Threaded
Open this post in threaded view
|

Re: SmaCC status?

Tudor Girba-2
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.

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: <a href="tel:%2B33%20%280%29%201%2069%2008%2032%2092" value="+33169083292" target="_blank">+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: <a href="tel:%2B33%20%280%29%201%2069%2008%2032%2092" value="+33169083292" target="_blank">+33 (0) 1 69 08 32 92 / 83 95
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev



--

"Every thing has its own flow"

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: SmaCC status?

Goubier Thierry
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
Reply | Threaded
Open this post in threaded view
|

Re: SmaCC status?

Stephan Eggermont-3
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