This project has moved and is read-only. For the latest updates, please go here.

Irony - Technology *not* new

Mar 13, 2009 at 4:45 PM
Hi everybody! here's a message I received today:

I cannot but disagree with the statement on the Irony homepage on CodePlex, "a completely new ... technology of compiler construction."

The two main new features of Irony seem to be a) code-embedded grammar definition using operator overloading and b) run-time parse table generation.

Grammatica ( by Per Cederberg is an LL(k) parser generator that does b) since 2003. The code generated by Grammatica looks similar to Irony's, doing code-embedded grammar definition using standard method calls, if you will. But, having the grammar clean of any implementation-language clutter seems far more beneficial to me than the savings from not having to run the parser generator now or again.

Other than that, it took me just a day or so to build a version the reads a grammar, builds the parse table for it, and parses a source program, all in one run, no code generation necessary at all.

Because Grammatica doesn't actually advertise its run-time parse table generation, this may not be well known. Nonetheless, may I ask you to revise the statement made on the Irony homepage?

Any opinions? Anybody worked with Grammatica before?
For my part, I wouldn't fight to death on matters of novelty - I'm not applying for patent and arguing the case with patent expert. I think I just did something that is a NEW Recombination of pretty old ideas and existing technologies (operator overloading - what's new?!!!) . As we all know, nothing is new under this old sky...
Opinions, comments? Should I change the home page to say ".. oh, it's just Yet Another mix of old crap...-)))"?

Truly yours - Roman

Mar 13, 2009 at 10:07 PM
Well, I'm not sure how Grammatica works when using the run-time parse table generator, but it won't hurt to use the "new" word I guess. Everybody always uses it to promote their products. In fact, every product is "new" and unique, so why not let it stay?
So maybe the runtime generation is not new, but Irony is. End of story, let it stay. :)
Mar 17, 2009 at 4:16 AM
I think the great work you have done is a proof for the people which stick into .net framework and all its features.
Irony is actually unique. I would like to vote it to be the part of .net framework in the future.
Mar 17, 2009 at 2:55 PM
Edited Mar 17, 2009 at 2:56 PM
Well, while it can be argued which method (Irony or Grammatica) is "better" (which is largely what he is doing in his email), it's quite clear that the methods are different.  And that  Grammatica's method is the more traditional (or, if you will, "older") style. 

However, I would nevertheless question  if Irony can be called "completely new", when it is rather similar to the way Spirit (from the Boost C++ library; does it.
Mar 28, 2009 at 3:00 AM
Seems like a silly thing for someone to complain about!?!?  Why worry about the semantics of how something is presented?  I am more worried about how something actually works!

In the correct context everything is new, but in another context nothing is new...

What has been will be again, what has been done will be done again; there is nothing new under the sun.
Is there anything of which one can say, "Look! This is something new"? It was here already, long ago; it was here before our time"

My vote is to leave it be and ignore the flamers that want to take value and not add value!