Project Updates


Finished a basic working copy of the LOLCODE front-end. Has a scanner + parser that should evaluate properly entered LOLCODE. Holds a program internally as a tree structure. Still need to flatten self-recursive states (so they are much easier to read tree wise), a pain in the ass, but not impossible.

Still need to work on :{<var>}, which would require the following: closing the current string literal SL1, and doing the following: STRING_CONCAT SL1 <var> MKAY. Of course, how to push this onto the token stream is another story().

Other reminders:
GTFO should be a global command, rather than limited to functions (allows for early exit of program).
Loops need to be modified to allow for infinite loops, should make initialization easier


Finished creating a draft copy of my LOLCODE grammar. Should be LL(1), but haven't ensured that it is yet.

Completed a working scanner for that same grammar. Converts input program into tokens. However, have run into some problems. Namely that in the LOLCODE specification for Strings, :{hex} will turn that into a Unicode code point, which may take some juggling to implement. :[<char name>] is just flat out unable to be supported without some sort of additional resource.

The hard part is :{<var>} which requires dynamic runtime interpretation. May need to convert this into an ESEQ at parse time, by flagging the string literal at scan time, and then dealing with it during parsing.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License