Joe Drago's LOLCode Interpreter:
(uses Parse::RecDescent)
Available here:
It currently handles these constructs:
- HAI - Beginning of program
- KTHXBYE - End of program
- IM IN YR [loop label] / KTHX - Loop construct
- GTFO - “break” (out of a loop)
- IZ [conditional]? [statement] - If statement (shorthand)
- IZ [conditional] O RLY? \n YA RLY [statements] \n NO WAI [statements] KTHX - If statement (long version)
- I HAS A [variable name] - Variable declaration
- I HAS A [variable name] ITZ [value] - Variable declaration with initialization
- BTW [text] - Comment
- VISIBLE [identifier] ( N [identifier] …) - Output text
- BIGGER THAN / SMALLER THAN - Conditionals (for IZ)
- UP [variablename]!![optional number] - Increment variable