Lolcode - Syntax

The LOLCODE constructs are slang words. The following table shows the alphabetical list of constructs implemented so far −
BTW
It starts a single line comment.
DOWN <variable>!!<times>
This corresponds to variable = variable - times. Note that "times" is a wut-only language extension.
GIMMEH <variable>
This represents the input statement.
GTFO
This is similar to break in other languages and provides a way to break out of a loop.
HAI
This corresponds to main () function in other languages. It is the program entry point in LOLCODE.
HEREZ <label>
This is another wut-only language extension and declares a label for use with SHOO
I HAS A <type> <variable>
This declares a variable of said type.
There are three built-in types in LOLCODE −
NUMBAH (int)
DECINUMBAH (double)
WORDZ (std::string)
Note that types are a wut-only language extension.
IM IN YR LOOP
This starts an infinite loop. The only way to exit the loop is using GTFO. Corresponds to for(;;) in other languages
IZ <expr1> <operator> <expr2>?: Conditional structure
This is similar to if operator in other languages. Operator is one of: BIGGER THAN, SMALLER THAN, SAEM AS. Note that the ? at the end is optional.
KTHX
It ends a block. Corresponds to }
KTHXBAI
This ends a program
NOWAI
This corresponds to else
PURR <expr>
This prints argument on screen, followed by a newline. It is a wut-only language extension.
RELSE
This corresponds to else (if)
SHOO
This is another wut-only language extension, that corresponds to goto (the horror!)
UP <variable>!!<times>
This corresponds to variables = variable + times. Here "times" is a wut-only language extension.
VISIBLE <expr>
This prints the argument on screen. Note that this does not print a newline.
YARLY
This denotes the start of the "true" conditional block
Some examples of slang terms in LOLCODE are −
HAI is hi
KTHXBYE is okay, thanks, bye
BTW is by the way
OBTW is oh, by the way
TLDR is too long; didn't read
In most programming languages, keywords or tokens may not have spaces between them. However, in some languages, spaces are used in tokens to differentiate them.
The comma behaves like a newline keyword in most languages, for example, \n in Java and C. You can write many commands in a single line in LOLCODE, provided that you separate them using a comma (,).
The three periods (...) enables you to combine multiple lines of code into a single line or a single command by including (...) at the end of the line. This makes the compiler to treat the content of the next line as the content of previous line only. Infinite lines of code can be written together as a single command, as long as each line is ended with three periods.
A comment is terminated by a newline. Please note that the line continuation (...) and (,) after the comment (BTW) are ignored by the lci.
Single line comments are written followed by the BTW keyword. They may occur anywhere inside a program body: it can be at the first line of program, in between the program, in between some line, or at the end of a program.
All of these are valid single line comments−
I HAS A VAL ITZ 19      BTW VAL = 19
I HAS A VAL ITZ 19,   BTW VAL = 19
I HAS A VAL ITZ 14
BTW VAR = 14

In LOLCODE, multiple line comments are written followed by OBTW and they are ended with TLDR.
This is a valid multi−line comment −
I HAS A VAL ITZ 51
   OBTW this is a comment
      No it’s a two line comment
      Oops no.. it has many lines here
   TLDR

A LOLCODE program begins with HAI keyword and it should end with KTHXBYE. As LOLCODE uses shorthand language HAI basically stands for Hi and KTHXBYE can be remembered as “Ok, thanks, bye ”.
HAI 1.2
I HAS A NAME
VISIBLE "NAME::"!
GIMMEH NAME
VISIBLE "tutorialsPoint " NAME "!"
KTHXBYE
 Print
 Add Notes
 Bookmark this page