A blag containing my current adventures in logic, haskell and agents.

Wednesday, 4 November 2009

Comparing Parser Construction Techniques

Already a few months ago I completed my Bachelor computer science by writing a small paper and attending and presenting at a student conference. Well anyway, the topic I wrote about is parser construction techniques. The paper talks about parser generators (ANTLR in specific), parser combinators (Parsec 2) and a nice novel combination of the two (Tinadic Parsing, still to published somewhere in the future).

Anyway I hope this paper might be interesting to some people reading my blog. The paper comes with quite some code examples and it's probably not a very hard read. So you might consider it a small tutorial on parser construction techniques (or even learn some Parsec while you're at it :) ).

My paper can be found here at the website of the University of Twente.

The accompanying code examples can be found here. If someone would really appreciate it, I might consider writing some more documentation.

As you might have noticed blog posts were a bit scarce the last weeks, because of my silly ambition of taking 3 instead of 2 courses :P. Anyway, I'm liking the pace but my side activities suffer a bit, so I'll probably switch back after next period.
(People waiting for the extended state monad implementation: I haven't given up yet!)


  1. The University website is getting hammered. "Warning: mysql_connect(): Too many connections in ./include.php on line 9
    Kan geen verbinding maken"
    I reckon "Kan geen verbinding maken" means "try again later".

  2. "Kan geen verbinding maken" means "cannot connect". I think it's working again now :).

  3. the paper link is broken ... ?

    it gives me the same message as David

  4. Could you give a link to a description of "tinadic parsing"?

  5. Hey Artyom,

    You could of course look at my paper for a concise description of Tinadic Parsing. One other source is the thesis of Ruben Rorije:

    Seeing that Tinadic Parsing sadly is still not published there are no other sources.

    One possibility though, if you're really interested, would be to send an email to Jan Kuper (of University Twente).

  6. Thanks a lot, the thesis is interesting in itself. :)