Jim White wrote: > Ola Bini wrote: > > >> Randall R Schulz wrote: >> >> >>> On Thursday 24 April 2008 21:01, Charles Oliver Nutter wrote: >>> >>> >>>> Randall R Schulz wrote: >>>> >>>> >>>>> On Thursday 24 April 2008 19:47, Jim White wrote: >>>>> ... >>>>> >>>>> >>>>>> ... And not being JVM-specific >>>>>> (although that is it's "native" platform) hardly seems like a bad >>>>>> thing... >>>>>> >>>>> It wasn't a value judgment, but a reaction to the fact that it was >>>>> listed in response to a request for JVM-specific languages. While >>>>> the ANTLR processor itself runs in the JVM, it is agnostic as to >>>>> the language of the code it generates. >>>>> >>>> It wasn't a request for JVM-specific languages...just JVM languages. >>>> In other words, F# might be great, Boo may be awesome, but they're >>>> not really on-topic for my talk. But Python, Ruby...perfect example >>>> cases. >>>> >>> Well, I'm not sure exactly what distinction you're drawing, but ANTLR is >>> neither a JVM language nor a programming language in any but a very >>> narrow and specialized sense. It does define a language with which you >>> communicate your specifications to it, but that's essentially true of >>> all computer programs that accept input. >>> >> Well. It's not even close to being turing complete in that aspect of it, >> so I would call Antlr's grammar specifications a data definition >> language, but not a programming language. >> > > In what way is ANTLR not Turing Complete? You can most assuredly > implement a complete Turing Machine in ANTLR for the actions and > semantic predicates are most certinly part of the language. For folks > who only use ANTLR to generate an analyzer and link it to an external > program (I can see how they might be unaware of the rest of it > capabilities. But it is not at all necessary to use ANTLR that way. > You can simply write your whole compiler or whatever other application > in ANTLR and be done with it. Now ANTLR isn't so interesting if you're > not processing an input stream or tree, but that doesn't prevent you > from running arbitrary code on an empty input. > > No, I definitely doesn't count the action content as part of the language. If it were part of the language, the parser would be able to recognize syntax errors inside the actions. But actions in Antlr are almost as opaque as the comments.
Antlr is a compiler, according to the definition of a compiler, but the input language is not a full programming language. > So if you're all still objecting to the idea of "ANTLR" being an > interesting JVM language (as though somehow the Java parts of the .g > file aren't "ANTLR"), I'll change my vote to "ANTLR/Java v3". > > Of course Groovy gets rather less interesting if you drop the Java > syntax bits. Particularly when that is one of the key aspects that > makes it so compelling over otherwise comparable languages like JRuby, > Jython, JavaFX, and Scala. > Of course, the Java syntax bits are an integral part of the Groovy language, in comparison to Antlr. > Jim > > -- Ola Bini (http://ola-bini.blogspot.com) JRuby Core Developer Developer, ThoughtWorks Studios (http://studios.thoughtworks.com) Practical JRuby on Rails (http://apress.com/book/view/9781590598818) "Yields falsehood when quined" yields falsehood when quined. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "JVM Languages" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/jvm-languages?hl=en -~----------~----~----~----~------~----~------~--~---
