What frameworks/libraries are available for creating programming languages with Pharo

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

What frameworks/libraries are available for creating programming languages with Pharo

kilon.alios
If lisp is ideal for creating new languages so is Smalltalk so I was wondering what kind of libraries there are out there for helping with the creation of new languages in Pharo. I know about SmaCC and PettitParser , what else is out there ?
Reply | Threaded
Open this post in threaded view
|

Re: What frameworks/libraries are available for creating programming languages with Pharo

Clément Béra
I think in addition of the parser/compilation chain, a language is about having a good IDE.

The Pharo IDE depends more and more on the AST and not on the source code, so if your new language uses an AST polymorphic with the Smalltalk AST I guess you can have IDE tools for free (at least partly).

At least you can consider frameworks to build code browser such as Glamour as an available library to create a programming language. 

In addition, Omnibrower, which is the default code browser in Pharo 1.4, can browse the code of any language. You provide Omnibrowser a language model and it browses your code based on your model.



2016-03-22 9:48 GMT+01:00 Dimitris Chloupis <[hidden email]>:
If lisp is ideal for creating new languages so is Smalltalk so I was wondering what kind of libraries there are out there for helping with the creation of new languages in Pharo. I know about SmaCC and PettitParser , what else is out there ?

Reply | Threaded
Open this post in threaded view
|

Re: What frameworks/libraries are available for creating programming languages with Pharo

kilon.alios
yes exactly, something that takes advantage of the existing pharo AST so I dont have to reinvent IDE tools etc. Because in that case I may as well do this without Pharo because then it defeats the purpose of taking advantage of all this cool Pharo functionality and would be a ton extra effort.

The way I see it , because Pharo syntax is so minimal should be relative easy to implement a language on top that its syntax is nothing more than Pharo objects. Looks different but underneath its plain old Smalltalk. This is why I mentioned Lisp.

On Tue, Mar 22, 2016 at 11:11 AM Clément Bera <[hidden email]> wrote:
I think in addition of the parser/compilation chain, a language is about having a good IDE.

The Pharo IDE depends more and more on the AST and not on the source code, so if your new language uses an AST polymorphic with the Smalltalk AST I guess you can have IDE tools for free (at least partly).

At least you can consider frameworks to build code browser such as Glamour as an available library to create a programming language. 

In addition, Omnibrower, which is the default code browser in Pharo 1.4, can browse the code of any language. You provide Omnibrowser a language model and it browses your code based on your model.



2016-03-22 9:48 GMT+01:00 Dimitris Chloupis <[hidden email]>:
If lisp is ideal for creating new languages so is Smalltalk so I was wondering what kind of libraries there are out there for helping with the creation of new languages in Pharo. I know about SmaCC and PettitParser , what else is out there ?