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 :) >>>>> >>> >>>>> >> >>>>> > >>>>> >>>> >>>> >>>> >> > > |
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 |
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: |
Free forum by Nabble | Edit this page |