LL parser implemented in coffee-script