[antlr-interest] ANTLR v4 status / website functionality moving forward - Ruby Target ?

Eric researcher0x00 at gmail.com
Mon Sep 24 14:25:04 PDT 2012


When I worked on the C#2 version I literally took the Java source and
commented it all out. Then line by line or procedure by procedure I
recreated it leaving the Java lines as comments in the C# code.

The problem with that was that I could not test the conversion right away
so I created a call graph of the Java code and still using all of the
commented out Java code put in *.cs files used that to work from the ground
up. Obviously that allowed me to do unit test as I moved along and worked a
lot better because it identified logic differences that had to made early
on as opposed to at the end with one big blob of code.

If you do a conversion of the runtime, and have the time, don't make the
mistake I made by not documenting and sharing lessons learned for others.

Eric


On Mon, Sep 24, 2012 at 4:31 PM, Terence Parr <parrt at cs.usfca.edu> wrote:

> Unfortunately, there is no documentation about what exactly needs to be in
> the runtime. Most people simply look at the list of Java classes and mimic
> them in their new language.
> Ter
> On Sep 24, 2012, at 1:28 PM, Martin Van Aken wrote:
>
> > Hello again,
> > Thanks for the clarification. I can assume that to have a target that
> > works, you need an implementation of the runtime also. I've foud some
> > documentation about the .stg part, but almost nothing about the runtime.
> > Any pointer (excepted looking at the java reference) ?
> >
> > Thanks,
> >
> > Martin
> >
> > On 24 September 2012 19:52, Terence Parr <parrt at cs.usfca.edu> wrote:
> >
> >>
> >> On Sep 18, 2012, at 11:33 PM, Martin Van Aken wrote:
> >>
> >>> Hello Terence,
> >>> Thanks for the info, this is far better than nothing, and I like the
> >> incremental process outlined there. There is still something I'm not
> sure
> >> to understand : the String Template .stg file is used to generate the
> >> parser/lexer code for the grammar. But those classes inherit from more
> >> general classes in Antlr (in the java version, at least). Are those also
> >> generated by the .stg ?
> >>
> >> The string template files just generate code specific to the grammar.
> Most
> >> of the common functionality has been factored out into a runtime
> library.
> >> So Lexer, Parser and so on are all part of the runtime library, not
> >> generated by antlr. This is in contrast to, for example, javacc that
> >> generates all of the runtime for each grammar. If you have multiple
> >> grammars in the same  project, you get duplicates.
> >>
> >> :)
> >>
> >> T
> >>>
> >>> In other word, what about the runtime of Antlr, is it an output of the
> >> .stg, or is it another part to implement to be able to have a parser
> >> running under a given language (let say Ruby).
> >>>
> >>> Thanks !
> >>>
> >>> Martin
> >>>
> >>> On 17 September 2012 00:44, Terence Parr <parrt at cs.usfca.edu> wrote:
> >>> Unfortunately, no one has stepped up to bring the Ruby target up to
> >> date. The other bit of bad news is that we really don't have much in the
> >> way of how to create a target. just this page:
> >>>
> >>>
> >>
> http://www.antlr.org/wiki/display/ANTLR3/How+to+build+an+ANTLR+code+generation+target
> >>>
> >>> Ter
> >>> On Sep 16, 2012, at 5:51 AM, Martin Van Aken wrote:
> >>>
> >>>> Terrence/list,
> >>>> I've the same question about the Ruby target. For what I can see from
> >>>> github : https://github.com/antlr/antlr3/tree/master/runtime/Ruby it
> >> has
> >>>> not move since two years so it is probably lagging behind. Do anyone
> is
> >>>> still maintaining it ?
> >>>>
> >>>> If not, I may be interested in trying to update it myself. Any
> resource
> >> for
> >>>> (would be) goal maintener that I could start with ? Anyone that would
> be
> >>>> interested to contribute (time, advice, test, anything). I may take a
> >> look
> >>>> at the python target (that seems to be keeping up well) as a reference
> >>>> (closer to Ruby than Java).
> >>>>
> >>>> Thanks a lot.
> >>>>
> >>>> Martin
> >>>>
> >>>> On 16 September 2012 09:44, Kieran Simpson <kierans777 at gmail.com>
> >> wrote:
> >>>>
> >>>>> Ter/list,
> >>>>>  Thanks again for all your efforts.  In terms of other language
> >>>>> targets is there an idea/outline of when they'll be available.  I'm
> >>>>> specifically thinking of the C target.  In a list thread from January
> >>>>> there was the indication that a C++ target was still a while away so
> >> any
> >>>>> progress updates?
> >>>>>
> >>>>> Cheers,
> >>>>>
> >>>>>
> >>>>> On 16/09/12 4:36 AM, Terence Parr wrote:
> >>>>>> Howdy folks,
> >>>>>>
> >>>>>> ANTLR v4 release is rapidly approaching. The beta of the reference
> >> book
> >>>>> will be out next week and the remaining two or three chapters should
> >> appear
> >>>>> within a month or so afterwards. Sam Harwell and I have been working
> >> very
> >>>>> hard on the tool itself and we should have 4.0 ready by the time the
> >> book
> >>>>> goes final. In the meantime, 4.0b1 will be available for use with the
> >> beta
> >>>>> book. Oh, and we need to release 3.4.1 before 4.0.
> >>>>>>
> >>>>>> I have paid for a new website design for both ANTLR and
> >> StringTemplate,
> >>>>> which looks great. We will continue to use the same wiki software for
> >>>>> documentation. The current website is generated by a Java server I
> >> built
> >>>>> whereas the new one is going to be static so I have less software to
> >>>>> maintain. In other words,  rather than using some kind of include
> >> mechanism
> >>>>> to get the general look and feel on each page, the new websites will
> be
> >>>>> simply static files on the disk.  The current antlr.org content will
> >>>>> become antlr3.org, leaving the current domain pointing at v4
> content.
> >>>>>>
> >>>>>> We currently have functionality on the websites to accept new
> grammars
> >>>>> and filesharing and articles and so on. Because this is so
> infrequent,
> >> I
> >>>>> think it's reasonable to simply have an HTML form that has an email
> >> action
> >>>>> instead of an HTTP POST. When I get those requests, I can simply add
> >> them
> >>>>> to the file on the server. (will that use the user's local mail
> client
> >> or
> >>>>> will it force people to set up mail in their actual browsers before
> it
> >> will
> >>>>> email me? does anybody know?)
> >>>>>>
> >>>>>> On to the grammar repository. Because it's likely we'll want to make
> >>>>> fixes / updates to existing grammars, I don't think a simple form /
> >> email
> >>>>> mechanism is the best solution. Right now, I have to go in and
> >> overwrite /
> >>>>> update a number of files for a grammar update. Naturally, this
> screams
> >> for
> >>>>> a revision control solution. I was thinking that we might as well
> just
> >> use
> >>>>> github for this so that anybody can add or modify the publicly
> >> available
> >>>>> grammars.
> >>>>>>
> >>>>>> There are a number of issues with using github for this. First, I
> >> would
> >>>>> not want to create a new repository for each grammar so we would have
> >> one
> >>>>> repository holding all grammars. This is pretty coarse granularity.
> >> On the
> >>>>> other hand, if you just want one grammar, you can download
> individually
> >>>>> from github. The second issue is that we would really have to have a
> >> single
> >>>>> license for all grammars in the repository. I would hate for a GPL
> >> grammar
> >>>>> to get its stank on the other grammars. It would confuse people to
> have
> >>>>> multiple licenses within a single repository. Thirdly, not everyone
> is
> >>>>> comfortable with assembly language…er…I mean git. In that case,
> people
> >>>>> could simply mail me a grammar for inclusion. It would only take me a
> >>>>> second to add it. The fourth problem. We need a clean URI for
> grammars
> >> and
> >>>>> I propose:
> >>>>>>
> >>>>>> http://www.antlr.org/grammars/<name>
> >>>>>>
> >>>>>> for the root directory of that project. For example,
> >>>>>>
> >>>>>> http://www.antlr.org/grammars/java
> >>>>>>
> >>>>>> would point out a directory that contains Java.g4 and may be a test
> >>>>> program or something.
> >>>>>>
> >>>>>> I could easily add a redirect in the tomcat configuration files,
> >>>>> assuming I can stomach all of that filthy XML, but that does not
> scale
> >> very
> >>>>> well when people add grammars. Instead, perhaps the best solution is
> >> to set
> >>>>> up a cronjob that pulls from the grammar repository and leaves the
> >> grammars
> >>>>> on antlr.org's disk so that /grammars URI points at that directory.
> >> That
> >>>>> way, the URIs would always be up-to-date with the repository and
> >> without me
> >>>>> having to do any work. Heh, that just might work.
> >>>>> http://www.antlr.org/grammars by itself could redirect to the github
> >>>>> project.
> >>>>>>
> >>>>>> Anyway, If you have any thoughts on this stuff, please reply.
> >>>>>>
> >>>>>> Terence
> >>>>>
> >>>>> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> >>>>> Unsubscribe:
> >>>>>
> http://www.antlr.org/mailman/options/antlr-interest/your-email-address
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> Mobile : +32 486 899 652
> >>>> Company website : www.8thcolor.com
> >>>> Contact me on LinkedIn : http://www.linkedin.com/in/martinvanaken
> >>>> Follow me on Twitter : @martinvanaken <
> http://twitter.com/martinvanaken
> >>>
> >>>>
> >>>>
> >>>> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> >>>> Unsubscribe:
> >> http://www.antlr.org/mailman/options/antlr-interest/your-email-address
> >>>
> >>>
> >>>
> >>>
> >>> --
> >>> Mobile : +32 486 899 652
> >>> Company website : www.8thcolor.com
> >>> Contact me on LinkedIn : http://www.linkedin.com/in/martinvanaken
> >>> Follow me on Twitter : @martinvanaken
> >>>
> >>>
> >>
> >>
> >
> >
> > --
> > Mobile : +32 486 899 652
> > Company website : www.8thcolor.com
> > Contact me on LinkedIn : http://www.linkedin.com/in/martinvanaken
> > Follow me on Twitter : @martinvanaken <http://twitter.com/martinvanaken>
> >
> > List: http://www.antlr.org/mailman/listinfo/antlr-interest
> > Unsubscribe:
> http://www.antlr.org/mailman/options/antlr-interest/your-email-address
>
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe:
> http://www.antlr.org/mailman/options/antlr-interest/your-email-address
>


More information about the antlr-interest mailing list