Installing SmaCC

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

Re: Installing SmaCC

Thierry Goubier
Le 17/10/2018 à 07:36, H. Hirzel a écrit :

> The successor of Ni is 'Spry'
>
> https://github.com/gokr/spry
> http://sprylang.se/
>
> "Spry borrows homoiconicity from Rebol and Lisp, free form syntax from
> Forth and Rebol, the word of different types from Rebol, good data
> structure literal support from JavaScript and the general coding
> experience and style from Smalltalk. It also has a few ideas of its
> own, like an interesting argument passing mechanism and a relatively
> novel take on OO."
>
> --Hannes
>
> On 10/17/18, Ben Coman <[hidden email]> wrote:
>> Have you looked at Ni?  (I only read about it)
>> http://goran.krampe.se/2015/09/16/ni-a-strange-little-language/

Went there and ended up far more interested by Nim than by Spry ;)

Thanks for the links!

Thierry

>> cheers -ben
>>
>> On Wed, 17 Oct 2018 at 03:45, Dimitris Chloupis <[hidden email]>
>> wrote:
>>
>>> Thank you Thierry , that was exactly what i was looking for :)
>>>
>>> On the subject of syntax, StrongTalk looks far more advanced compared to
>>> what I am aiming which is basically writting C code with Smalltalk like
>>> syntax. I am looking at this
>>>
>>> http://bracha.org/nwst.html
>>>
>>> Which describes some really impressive features. So I am aiming only for
>>> source to source compiler and not implementation of complex systems for
>>> incremental compilations , optional type system etc.
>>>
>>> On parsing strange code that is not much of an issue cause the project I
>>> am working on has pretty reasonable code and will probably offer a way to
>>> inline c code in case the parser fail. In any case my goals are small ,
>>> cause I dont have resources for complex implementations. Its also a
>>> language that will be designed solely for my needs and be offered open
>>> source for anyone else that may find it useful. In any case I am sure I
>>> will have many questions to ask :)
>>>
>>> I was looking into ANTLR , since the book I am reading on language design
>>> is using ANTLR but I rather implement this in Pharo. I used SmaCC when I
>>> was working for my Python bridge and I really liked it , mostly because
>>> it
>>> offers ready made syntax definitions for most popular languages. Which
>>> makes my life a lot easier.
>>>
>>>
>>> On Tue, Oct 16, 2018 at 9:45 PM Thierry Goubier
>>> <[hidden email]>
>>> wrote:
>>>
>>>> Hi Dimitris,
>>>>
>>>> Le 16/10/2018 à 19:39, Dimitris Chloupis a écrit :
>>>>> yes i already said that i followed the instructions in the github repo
>>>>
>>>> Yes, by default that installation of SmaCC does not load all parsers
>>>> (some of them are fairly large). However, most of them are in the
>>>> downloaded repository, so you can load them independently.
>>>>
>>>> Otherwise, loading that way, should load everything:
>>>>
>>>> Metacello new
>>>>             baseline: 'SmaCC';
>>>>             repository: 'github://SmaCCRefactoring/SmaCC';
>>>>             load: #('Tools' 'Examples' 'Examples-Extra')
>>>>
>>>> Regarding your language question, I'd suggest two things:
>>>>
>>>> - Look at StrongTalk for a way to write Smalltalk with type
>>>> declarations...
>>>>
>>>> - C parsers able to parse most strange C code one may encounter takes
>>>> some work...
>>>>
>>>> Regards,
>>>>
>>>> Thierry
>>>>
>>>>> On Tue, Oct 16, 2018 at 8:18 PM H. Hirzel <[hidden email]
>>>>> <mailto:[hidden email]>> wrote:
>>>>>
>>>>>      Refers to
>>>>>      https://github.com/SmaCCRefactoring/SmaCC
>>>>>
>>>>>      which says
>>>>>
>>>>>            This is the port for Smalltalk/Pharo 1.3, 2, 3, 4, 5 and 6.
>>>>>
>>>>>
>>>>>      Installing a Development version of Pharo for the latest Pharo
>>>>> (with
>>>>>      no guarantees):
>>>>>
>>>>>      Metacello new
>>>>>           baseline: 'SmaCC';
>>>>>           repository: 'github://SmaCCRefactoring/SmaCC';
>>>>>           load
>>>>>
>>>>>      On 10/16/18, H. Hirzel <[hidden email]
>>>>>      <mailto:[hidden email]>> wrote:
>>>>>       > What about trying
>>>>>       >
>>>>>       >
>>>>>       >     Metacello new
>>>>>       >     baseline: 'SmaCC';
>>>>>       >     repository: 'github://ThierryGoubier/SmaCC';
>>>>>       >     load
>>>>>       >
>>>>>       > This worked in Pharo 6.1 in November 2017
>>>>>       >
>>>>>       > On 10/16/18, Dimitris Chloupis <[hidden email]
>>>>>      <mailto:[hidden email]>> wrote:
>>>>>       >> thanks for the info Peter , will give it a try :)
>>>>>       >>
>>>>>       >> On Tue, Oct 16, 2018 at 7:35 PM PBKResearch
>>>>>      <[hidden email] <mailto:[hidden email]>>
>>>>>       >> wrote:
>>>>>       >>
>>>>>       >>> Dimitris
>>>>>       >>>
>>>>>       >>>
>>>>>       >>>
>>>>>       >>> If you download the latest Moose Suite 6.1, you will have
>>>>> Pharo
>>>>>      6.1 with
>>>>>       >>> lots of extra packages, including SmaCC. The SmaCC includes
>>>>>      compilers
>>>>>       >>> for
>>>>>       >>> C, Smalltalk and Java, among others, but with little or no
>>>>>       >>> documentation.
>>>>>       >>> I
>>>>>       >>> am not a SmaCC expert, so I can’t say whether it will do what
>>>>>      you want,
>>>>>       >>> but
>>>>>       >>> at least it will give you a start. Moose also includes
>>>>>      PetitParser and
>>>>>       >>> PP2,if you want to try other parsing approaches. Of course,
>>>>> the
>>>>>      Windows
>>>>>       >>> version is 32-bit only, for reasons explained elsewhere in
>>>>> this
>>>>>      thread.
>>>>>       >>>
>>>>>       >>>
>>>>>       >>>
>>>>>       >>> HTH
>>>>>       >>>
>>>>>       >>>
>>>>>       >>>
>>>>>       >>> Peter Kenny
>>>>>       >>>
>>>>>       >>>
>>>>>       >>>
>>>>>       >>> *From:* Pharo-users <[hidden email]
>>>>>      <mailto:[hidden email]>> *On Behalf Of
>>>>>       >>> *Dimitris
>>>>>       >>> Chloupis
>>>>>       >>> *Sent:* 16 October 2018 15:40
>>>>>       >>> *To:* Any question about pharo is welcome
>>>>>      <[hidden email] <mailto:[hidden email]>>
>>>>>       >>> *Subject:* [Pharo-users] Installing SmaCC
>>>>>       >>>
>>>>>       >>>
>>>>>       >>>
>>>>>       >>> Hey guys
>>>>>       >>>
>>>>>       >>>
>>>>>       >>>
>>>>>       >>> I downloaded the latest Pharo 6.1 64bit for Windows and tried
>>>>>      to install
>>>>>       >>> SmaCC through the catalog browser but it failed
>>>>>       >>>
>>>>>       >>>
>>>>>       >>>
>>>>>       >>> I did manage to install it following the instruction in the
>>>>>      github repo
>>>>>       >>> but I see that I am missing most parser packages.
>>>>>       >>>
>>>>>       >>>
>>>>>       >>>
>>>>>       >>> The languages I am interested are Smalltalk (which is
>>>>> included)
>>>>>      and C
>>>>>       >>> (if
>>>>>       >>> possible C++ too) cause I will be creating a new language
>>>>> which
>>>>>      will be
>>>>>       >>> a
>>>>>       >>> cross between C and Smalltalk (very similar to smalltalk
>>>>> syntax
>>>>>      but with
>>>>>       >>> the addtion of C types and no GC and dynamic typing and also
>>>>> a
>>>>>      partial
>>>>>       >>> implementation of OOP that is quite diffirent). My goal is
>>>>>      compilation
>>>>>       >>> of
>>>>>       >>> my language to readable C code so the ability to parse also
>>>>>      existing C
>>>>>       >>> code
>>>>>       >>> is needed.
>>>>>       >>>
>>>>>       >>>
>>>>>       >>>
>>>>>       >>> Any help is greatly appreciated , thanks :)
>>>>>       >>>
>>>>>       >>
>>>>>       >
>>>>>
>>>>
>>>>
>>>>
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Installing SmaCC

Pierce Ng-3
In reply to this post by kilon.alios
On Wed, Oct 17, 2018 at 01:38:36PM +0300, Dimitris Chloupis wrote:
> About your last part on platforms, I will be providing a way to inline C
> code so one can you use C macros to detect the platform and generate code
> accordingly.

Smalltalk/X allows inline C. Not sure about macros though, as I don't
know whether Smalltalk/X runs the C code through the C preprocessor or
does its own compilationn magic.

Pierce

Reply | Threaded
Open this post in threaded view
|

Re: Installing SmaCC

kilon.alios
nice , good to know that is already a feature in another smalltalk implementation. I decided finally to go against the idea of new sytax or the heavy usage of Array symbols. Instead I will be using standard 100% Pharo syntax. Fortunately Smalltalk syntax is so minimal that allows me to do this without hitting my head against a wall. I have already a prototype working for simple variable declarations with static types and slowly but steadily moving forward to the rest of the C syntax. Looks like the ship has left the port :D

On Fri, Oct 19, 2018 at 4:09 AM Pierce Ng <[hidden email]> wrote:
On Wed, Oct 17, 2018 at 01:38:36PM +0300, Dimitris Chloupis wrote:
> About your last part on platforms, I will be providing a way to inline C
> code so one can you use C macros to detect the platform and generate code
> accordingly.

Smalltalk/X allows inline C. Not sure about macros though, as I don't
know whether Smalltalk/X runs the C code through the C preprocessor or
does its own compilationn magic.

Pierce

12