Fetching latest commit…
Cannot retrieve the latest commit at this time
|Failed to load latest commit information.|
lolcode with math extensions An efficient LOLCODE interpreter written in C. MAINTAINER Original Dude: Justin J. Meza < email@example.com > Math-Addin' Dude: Joshua Holbrook < firstname.lastname@example.org > Y HELO THAR!!!1! This version of lolcode supports nearly all of the functionality described in the LOLCODE Version 1.2 language specification and some of the Version 1.3 proposals. For more information, see < http://lolcode.com/specs/1.2 > and < http://lolcode.com/proposals/1.3/1.3 > . What's more, this particular fork of Justin Meza's lolcode interpreter supports a few functions from math.h! The list includes: log() --> LOLG pow() --> POWR sin() --> SIEN cos() --> COSIEN tan() --> TANGINT It'd be nice to add pi, e and the inverse trig functions, but it hasn't happened yet. To get started, just run ``make'' in this directory. This will generate a binary file called ``lolcode''. If you just run the binary file (``./lolcode'') you'll notice that it just hangs at the prompt -- that's because it's in interpreter mode, waiting for you to start typing! lolcode can interpret files from standard input or from a file. For example, running ``./lolcode -f file.lol'' will interpret the LOLCODE file ``file.lol''. You can also pipe output to lolcode, as in ``cat file.lol | ./lolcode'' if this suits your need. If you really want to get fancy, you can make a script file that gets interpreted whenever it is run. The first line of the script should be ``#!/path/to/lolcode'' (of course, replacing ``/path/to'' with the actual path). After that, code away in LOLCODE. When you're ready to run the file as a script, be sure to do a ``chmod +x file.lol'' and then you're all set to ``./file.lol'' and it will be interpreted just like any old script. TODO There are still a lot of TODO items, but I've released the source with the intent that others will use the lolcode interpreter as I continue to refine its behavior. The following features of the 1.2 specification still need implementation: - Unicode support. The following features from the work in progress on the 1.3 proposals still need implementation: - BUKKITs need to be updated when parent objects add members. If you really miss any features, feel free to hack away at the source and contribute to the project!