I CAN HAS LOLCODE PARSER?

| No Comments

Unless you’ve been buried in a bog for the last year, you’ll have come across lolcats, the pictures of cats speaking an amusingly stilted dialect of English.

From lolcats came lolgeeks and then, inevitably, lolcode:

HAI
I HAS A VAR ITZ 1

IM IN YR LOOP
   VISIBLE VAR

   IZ VAR BIGGER THAN 39 O RLY?
       YA RLY
           GTFO
       NO WAI
           UP VAR!!1
   KTHX
KTHX

KTHXBYE

I talked to Joe Drago, author of a lolcode interpreter written in Perl.  The parser is based on Parse::RecDescent, a recursive descent parser written by Damian Conway.

Joe’s a Senior Software Developer at a video game company, where most of his work is in other languages, but he says he prefers Perl to the C++ that pays the bills.

Joe says, “I’d never used Parse::RecDescent before… I found it to be wonderful. I’ve been wanting to write a parser for a while now (I own the Dragon book and one on lex/yacc), but I needed a test case. This was a great opportunity to screw around with that. The module is very Perlish, in the sense that it lets you have fun with the grammar of a language without having to plan complex data structures too much to see some results. I highly recommend P::RD for Perl programmers interested in how grammars are written.”

Unfortunately Joe’s lolcode interpreter predates the official lolcode specifications and isn’t compliant with them. But, he says, “I released it under the BSD license under the notion that someone more interested in the final standard would be inspired by my simple stuff and make something really cool with it. Hint, hint!”


Leave a comment

Job hunting for programmers


Land the Tech Job You Love, Andy Lester's guide to job hunting for programmers and other technical professionals, is available in PDF, ePub and .mobi formats, all DRM-free, as well as good old-fashioned paper.