SlideShare a Scribd company logo
1 of 10
Download to read offline
LOLCODE
i
LOLCODE
i
AbouttheTutorial
LOLCODE is an esoteric programming language inspired by the funny things on the
Internet. LOLCODE is designed to test the boundaries of programming language design.
This tutorial provides a basic level understanding of the LOLCODE programming language.
Audience
This tutorial is meant for people who want to explore beyond general boring programming
syntax. Readers of this tutorial can learn the programming language in simple and easy
ways.
This tutorial will also be helpful for all those developers who want to learn the basics of
LOLCODE.
Prerequisites
The tutorial assumes that the readers have a knowhow about programming languages. If
you have worked on any other programming language, it will be easier for you to learn
LOLCODE.
Copyright&Disclaimer
 Copyright 2016 by Tutorials Point (I) Pvt. Ltd.
All the content and graphics published in this e-book are the property of Tutorials Point (I)
Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish
any contents or a part of contents of this e-book in any manner without written consent
of the publisher.
We strive to update the contents of our website and tutorials as timely and as precisely as
possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt.
Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our
website or its contents including this tutorial. If you discover any errors on our website or
in this tutorial, please notify us at contact@tutorialspoint.com
LOLCODE
ii
TableofContents
About the Tutorial ............................................................................................................................................i
Audience...........................................................................................................................................................i
Prerequisites.....................................................................................................................................................i
Copyright & Disclaimer.....................................................................................................................................i
Table of Contents ............................................................................................................................................ ii
1. LOLCODE – INTRODUCTION AND ENVIRONMENT SETUP ..........................................................................1
Setting Up the Local Environment...................................................................................................................1
Installation on Windows..................................................................................................................................1
Executing Script Online with TutorialsPoint - codingground...........................................................................1
2. LOLCODE – SYNTAX...................................................................................................................................2
Constructs........................................................................................................................................................2
Whitespace......................................................................................................................................................3
Comments .......................................................................................................................................................4
File Creation ....................................................................................................................................................4
3. LOLCODE – VARIABLES..............................................................................................................................5
Scope of Variables ...........................................................................................................................................5
Naming Conventions .......................................................................................................................................5
Declaration and Assignment of Variables........................................................................................................7
4. LOLCODE – TYPES......................................................................................................................................9
Types ...............................................................................................................................................................9
Untyped (NOOB)..............................................................................................................................................9
Booleans (TROOFS)........................................................................................................................................10
Numerical Types (NUMBR)............................................................................................................................11
Strings (YARN)................................................................................................................................................11
BUKKIT...........................................................................................................................................................12
5. LOLCODE – OPERATORS ..........................................................................................................................13
LOLCODE
iii
Operators ......................................................................................................................................................13
Comparison ...................................................................................................................................................15
Concatenation of Values ...............................................................................................................................16
Type Casting ..................................................................................................................................................17
6. LOLCODE – INPUT/OUTPUT ....................................................................................................................18
I/O from Terminal..........................................................................................................................................18
7. LOLCODE – STATEMENTS AND FLOW CONTROL......................................................................................20
Expression Statements ..................................................................................................................................20
Assignment Statements.................................................................................................................................20
Conditional Statements.................................................................................................................................20
Case Statements............................................................................................................................................22
8. LOLCODE ─ LOOPS...................................................................................................................................23
9. LOLCODE – Functions..............................................................................................................................25
Definition of a Function.................................................................................................................................25
Returning Value from a Function ..................................................................................................................25
Calling Functions............................................................................................................................................26
10. LOLCODE - EXCEPTION HANDLING ..........................................................................................................28
11. LOLCODE – SOME MORE EXAMPLES .......................................................................................................29
Example 1: Program to Calculate the Power of a Number............................................................................29
Example 2: Program to Make an Array..........................................................................................................30
Example 3: Program to Calculate the Factorial of a Number ........................................................................31
Example 4: Program to Design a Calculator ..................................................................................................31
LOLCODE
4
LOLCODE is an esoteric programming language inspired by the funny things on the Internet.
It is designed to test the boundaries of programming language design.
This chapter will make you familiar with setting up the local environment for LOLCODE,
installing it on Windows, and executing its script online at TutorialsPoint – codingground.
SettingUptheLocalEnvironment
The LOLCODE interpreter is written in C Language. It interprets the code written in LOLCODE
language on multiple platforms. The LOLCODE interpreter is known as lci, which stands for
LOLCODE Interpreter.
Please note that LOLCODE officially supports direct installation of interpreter for MAC
operating Systems only. To install LOLCODE in your operating system, you need to follow the
steps given below:
 Press Command+Space, and type Terminal and press enter/return key.
 Run in Terminal app
 $ git clone https://github.com/justinmeza/lci.git
 $ cd lci
 $ cmake .
 $ make && make install
InstallationonWindows
If you need to install LOLCODE on Windows operating system, please take these steps:
 First add MinGW and Python to your environment variables path. To do this, right click
on My Computer, choose Properties, then select Advanced system settings.
Select Environment Variables. In this box, select the PATH variable and then click
Edit.
 Now, add ";C:MinGWbin;C:Python32" to the end of that path.
 Next, open the Command Prompt and navigate to the project directory using the
"cd" command, for example.
 Run the script install.py.
ExecutingScriptOnlinewithTutorialsPoint-codingground
1. LOLCODE – INTRODUCTION AND ENVIRONMENT SETUP
LOLCODE
5
To execute your scripts easily and swiftly, use the codingground platform provided by
TutorialsPoint. For this, go to the following link to execute your scripts online:
https://www.tutorialspoint.com/execute_lolcode_online.php
LOLCODE
6
LOLCODE has a different syntax compared to other programming languages, however, it is
easier to remember. This chapter gives you the basic syntax of LOLCODE.
Constructs
The LOLCODE constructs are slang words. The following table shows the alphabetical list of
constructs implemented so far:
LOLCODE Construct Purpose/ Usage
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.
2. LOLCODE – SYNTAX
LOLCODE
7
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
Whitespace
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.
Comma
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 (,).
Three Periods (…)
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.
Comments
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
LOLCODE
8
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
FileCreation
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 ”.
Example
HAI 1.2
I HAS A NAME
VISIBLE "NAME::"!
GIMMEH NAME
VISIBLE "tutorialsPoint " NAME "!"
KTHXBYE
LOLCODE
9
End of ebook preview
If you liked what you saw…
Buy it from our store @ https://store.tutorialspoint.com

More Related Content

Similar to Lolcode tutorial

phonegapbydissection
phonegapbydissectionphonegapbydissection
phonegapbydissection
Daniel Rhodes
 
Odi installation guide
Odi installation guideOdi installation guide
Odi installation guide
prakashdas05
 

Similar to Lolcode tutorial (20)

Python tutorial
Python tutorialPython tutorial
Python tutorial
 
Elixir tutorial
Elixir tutorialElixir tutorial
Elixir tutorial
 
flex_4_tutorials
flex_4_tutorialsflex_4_tutorials
flex_4_tutorials
 
flex_4_tutorials
flex_4_tutorialsflex_4_tutorials
flex_4_tutorials
 
R tutorial
R tutorialR tutorial
R tutorial
 
R tutorial
R tutorialR tutorial
R tutorial
 
Go tutorial
Go tutorialGo tutorial
Go tutorial
 
Euphoria tutorials
Euphoria tutorialsEuphoria tutorials
Euphoria tutorials
 
PhoneGap by Dissection
PhoneGap by DissectionPhoneGap by Dissection
PhoneGap by Dissection
 
phonegapbydissection
phonegapbydissectionphonegapbydissection
phonegapbydissection
 
Software Engineering Overview
Software Engineering Overview Software Engineering Overview
Software Engineering Overview
 
Software engineering
Software engineering Software engineering
Software engineering
 
Odi installation guide
Odi installation guideOdi installation guide
Odi installation guide
 
Domain Driven Design Quickly
Domain Driven Design QuicklyDomain Driven Design Quickly
Domain Driven Design Quickly
 
Sdlc tutorial
Sdlc tutorialSdlc tutorial
Sdlc tutorial
 
Ruby tutorial
Ruby tutorialRuby tutorial
Ruby tutorial
 
python_tutorial.pdf
python_tutorial.pdfpython_tutorial.pdf
python_tutorial.pdf
 
Go tutorial
Go tutorialGo tutorial
Go tutorial
 
Captivate 5 user guide
Captivate 5 user guideCaptivate 5 user guide
Captivate 5 user guide
 
C sharp code_contracts_succinctly
C sharp code_contracts_succinctlyC sharp code_contracts_succinctly
C sharp code_contracts_succinctly
 

More from HarikaReddy115

More from HarikaReddy115 (20)

Dbms tutorial
Dbms tutorialDbms tutorial
Dbms tutorial
 
Data structures algorithms_tutorial
Data structures algorithms_tutorialData structures algorithms_tutorial
Data structures algorithms_tutorial
 
Wireless communication tutorial
Wireless communication tutorialWireless communication tutorial
Wireless communication tutorial
 
Cryptography tutorial
Cryptography tutorialCryptography tutorial
Cryptography tutorial
 
Cosmology tutorial
Cosmology tutorialCosmology tutorial
Cosmology tutorial
 
Control systems tutorial
Control systems tutorialControl systems tutorial
Control systems tutorial
 
Computer logical organization_tutorial
Computer logical organization_tutorialComputer logical organization_tutorial
Computer logical organization_tutorial
 
Computer fundamentals tutorial
Computer fundamentals tutorialComputer fundamentals tutorial
Computer fundamentals tutorial
 
Compiler design tutorial
Compiler design tutorialCompiler design tutorial
Compiler design tutorial
 
Communication technologies tutorial
Communication technologies tutorialCommunication technologies tutorial
Communication technologies tutorial
 
Biometrics tutorial
Biometrics tutorialBiometrics tutorial
Biometrics tutorial
 
Behavior driven development_tutorial
Behavior driven development_tutorialBehavior driven development_tutorial
Behavior driven development_tutorial
 
Basics of computers_tutorial
Basics of computers_tutorialBasics of computers_tutorial
Basics of computers_tutorial
 
Basics of computer_science_tutorial
Basics of computer_science_tutorialBasics of computer_science_tutorial
Basics of computer_science_tutorial
 
Basic electronics tutorial
Basic electronics tutorialBasic electronics tutorial
Basic electronics tutorial
 
Auditing tutorial
Auditing tutorialAuditing tutorial
Auditing tutorial
 
Artificial neural network_tutorial
Artificial neural network_tutorialArtificial neural network_tutorial
Artificial neural network_tutorial
 
Artificial intelligence tutorial
Artificial intelligence tutorialArtificial intelligence tutorial
Artificial intelligence tutorial
 
Antenna theory tutorial
Antenna theory tutorialAntenna theory tutorial
Antenna theory tutorial
 
Analog communication tutorial
Analog communication tutorialAnalog communication tutorial
Analog communication tutorial
 

Recently uploaded

Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
EADTU
 
SPLICE Working Group: Reusable Code Examples
SPLICE Working Group:Reusable Code ExamplesSPLICE Working Group:Reusable Code Examples
SPLICE Working Group: Reusable Code Examples
Peter Brusilovsky
 
Contoh Aksi Nyata Refleksi Diri ( NUR ).pdf
Contoh Aksi Nyata Refleksi Diri ( NUR ).pdfContoh Aksi Nyata Refleksi Diri ( NUR ).pdf
Contoh Aksi Nyata Refleksi Diri ( NUR ).pdf
cupulin
 

Recently uploaded (20)

Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
 
SPLICE Working Group: Reusable Code Examples
SPLICE Working Group:Reusable Code ExamplesSPLICE Working Group:Reusable Code Examples
SPLICE Working Group: Reusable Code Examples
 
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
 
Contoh Aksi Nyata Refleksi Diri ( NUR ).pdf
Contoh Aksi Nyata Refleksi Diri ( NUR ).pdfContoh Aksi Nyata Refleksi Diri ( NUR ).pdf
Contoh Aksi Nyata Refleksi Diri ( NUR ).pdf
 
The Story of Village Palampur Class 9 Free Study Material PDF
The Story of Village Palampur Class 9 Free Study Material PDFThe Story of Village Palampur Class 9 Free Study Material PDF
The Story of Village Palampur Class 9 Free Study Material PDF
 
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
 
Andreas Schleicher presents at the launch of What does child empowerment mean...
Andreas Schleicher presents at the launch of What does child empowerment mean...Andreas Schleicher presents at the launch of What does child empowerment mean...
Andreas Schleicher presents at the launch of What does child empowerment mean...
 
Mattingly "AI & Prompt Design: Named Entity Recognition"
Mattingly "AI & Prompt Design: Named Entity Recognition"Mattingly "AI & Prompt Design: Named Entity Recognition"
Mattingly "AI & Prompt Design: Named Entity Recognition"
 
Trauma-Informed Leadership - Five Practical Principles
Trauma-Informed Leadership - Five Practical PrinciplesTrauma-Informed Leadership - Five Practical Principles
Trauma-Informed Leadership - Five Practical Principles
 
UChicago CMSC 23320 - The Best Commit Messages of 2024
UChicago CMSC 23320 - The Best Commit Messages of 2024UChicago CMSC 23320 - The Best Commit Messages of 2024
UChicago CMSC 23320 - The Best Commit Messages of 2024
 
OS-operating systems- ch05 (CPU Scheduling) ...
OS-operating systems- ch05 (CPU Scheduling) ...OS-operating systems- ch05 (CPU Scheduling) ...
OS-operating systems- ch05 (CPU Scheduling) ...
 
Observing-Correct-Grammar-in-Making-Definitions.pptx
Observing-Correct-Grammar-in-Making-Definitions.pptxObserving-Correct-Grammar-in-Making-Definitions.pptx
Observing-Correct-Grammar-in-Making-Definitions.pptx
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
 
Improved Approval Flow in Odoo 17 Studio App
Improved Approval Flow in Odoo 17 Studio AppImproved Approval Flow in Odoo 17 Studio App
Improved Approval Flow in Odoo 17 Studio App
 
How To Create Editable Tree View in Odoo 17
How To Create Editable Tree View in Odoo 17How To Create Editable Tree View in Odoo 17
How To Create Editable Tree View in Odoo 17
 
Rich Dad Poor Dad ( PDFDrive.com )--.pdf
Rich Dad Poor Dad ( PDFDrive.com )--.pdfRich Dad Poor Dad ( PDFDrive.com )--.pdf
Rich Dad Poor Dad ( PDFDrive.com )--.pdf
 
AIM of Education-Teachers Training-2024.ppt
AIM of Education-Teachers Training-2024.pptAIM of Education-Teachers Training-2024.ppt
AIM of Education-Teachers Training-2024.ppt
 
DEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUM
DEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUMDEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUM
DEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUM
 
How to Send Pro Forma Invoice to Your Customers in Odoo 17
How to Send Pro Forma Invoice to Your Customers in Odoo 17How to Send Pro Forma Invoice to Your Customers in Odoo 17
How to Send Pro Forma Invoice to Your Customers in Odoo 17
 
Mattingly "AI and Prompt Design: LLMs with NER"
Mattingly "AI and Prompt Design: LLMs with NER"Mattingly "AI and Prompt Design: LLMs with NER"
Mattingly "AI and Prompt Design: LLMs with NER"
 

Lolcode tutorial

  • 2. LOLCODE i AbouttheTutorial LOLCODE is an esoteric programming language inspired by the funny things on the Internet. LOLCODE is designed to test the boundaries of programming language design. This tutorial provides a basic level understanding of the LOLCODE programming language. Audience This tutorial is meant for people who want to explore beyond general boring programming syntax. Readers of this tutorial can learn the programming language in simple and easy ways. This tutorial will also be helpful for all those developers who want to learn the basics of LOLCODE. Prerequisites The tutorial assumes that the readers have a knowhow about programming languages. If you have worked on any other programming language, it will be easier for you to learn LOLCODE. Copyright&Disclaimer  Copyright 2016 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or in this tutorial, please notify us at contact@tutorialspoint.com
  • 3. LOLCODE ii TableofContents About the Tutorial ............................................................................................................................................i Audience...........................................................................................................................................................i Prerequisites.....................................................................................................................................................i Copyright & Disclaimer.....................................................................................................................................i Table of Contents ............................................................................................................................................ ii 1. LOLCODE – INTRODUCTION AND ENVIRONMENT SETUP ..........................................................................1 Setting Up the Local Environment...................................................................................................................1 Installation on Windows..................................................................................................................................1 Executing Script Online with TutorialsPoint - codingground...........................................................................1 2. LOLCODE – SYNTAX...................................................................................................................................2 Constructs........................................................................................................................................................2 Whitespace......................................................................................................................................................3 Comments .......................................................................................................................................................4 File Creation ....................................................................................................................................................4 3. LOLCODE – VARIABLES..............................................................................................................................5 Scope of Variables ...........................................................................................................................................5 Naming Conventions .......................................................................................................................................5 Declaration and Assignment of Variables........................................................................................................7 4. LOLCODE – TYPES......................................................................................................................................9 Types ...............................................................................................................................................................9 Untyped (NOOB)..............................................................................................................................................9 Booleans (TROOFS)........................................................................................................................................10 Numerical Types (NUMBR)............................................................................................................................11 Strings (YARN)................................................................................................................................................11 BUKKIT...........................................................................................................................................................12 5. LOLCODE – OPERATORS ..........................................................................................................................13
  • 4. LOLCODE iii Operators ......................................................................................................................................................13 Comparison ...................................................................................................................................................15 Concatenation of Values ...............................................................................................................................16 Type Casting ..................................................................................................................................................17 6. LOLCODE – INPUT/OUTPUT ....................................................................................................................18 I/O from Terminal..........................................................................................................................................18 7. LOLCODE – STATEMENTS AND FLOW CONTROL......................................................................................20 Expression Statements ..................................................................................................................................20 Assignment Statements.................................................................................................................................20 Conditional Statements.................................................................................................................................20 Case Statements............................................................................................................................................22 8. LOLCODE ─ LOOPS...................................................................................................................................23 9. LOLCODE – Functions..............................................................................................................................25 Definition of a Function.................................................................................................................................25 Returning Value from a Function ..................................................................................................................25 Calling Functions............................................................................................................................................26 10. LOLCODE - EXCEPTION HANDLING ..........................................................................................................28 11. LOLCODE – SOME MORE EXAMPLES .......................................................................................................29 Example 1: Program to Calculate the Power of a Number............................................................................29 Example 2: Program to Make an Array..........................................................................................................30 Example 3: Program to Calculate the Factorial of a Number ........................................................................31 Example 4: Program to Design a Calculator ..................................................................................................31
  • 5. LOLCODE 4 LOLCODE is an esoteric programming language inspired by the funny things on the Internet. It is designed to test the boundaries of programming language design. This chapter will make you familiar with setting up the local environment for LOLCODE, installing it on Windows, and executing its script online at TutorialsPoint – codingground. SettingUptheLocalEnvironment The LOLCODE interpreter is written in C Language. It interprets the code written in LOLCODE language on multiple platforms. The LOLCODE interpreter is known as lci, which stands for LOLCODE Interpreter. Please note that LOLCODE officially supports direct installation of interpreter for MAC operating Systems only. To install LOLCODE in your operating system, you need to follow the steps given below:  Press Command+Space, and type Terminal and press enter/return key.  Run in Terminal app  $ git clone https://github.com/justinmeza/lci.git  $ cd lci  $ cmake .  $ make && make install InstallationonWindows If you need to install LOLCODE on Windows operating system, please take these steps:  First add MinGW and Python to your environment variables path. To do this, right click on My Computer, choose Properties, then select Advanced system settings. Select Environment Variables. In this box, select the PATH variable and then click Edit.  Now, add ";C:MinGWbin;C:Python32" to the end of that path.  Next, open the Command Prompt and navigate to the project directory using the "cd" command, for example.  Run the script install.py. ExecutingScriptOnlinewithTutorialsPoint-codingground 1. LOLCODE – INTRODUCTION AND ENVIRONMENT SETUP
  • 6. LOLCODE 5 To execute your scripts easily and swiftly, use the codingground platform provided by TutorialsPoint. For this, go to the following link to execute your scripts online: https://www.tutorialspoint.com/execute_lolcode_online.php
  • 7. LOLCODE 6 LOLCODE has a different syntax compared to other programming languages, however, it is easier to remember. This chapter gives you the basic syntax of LOLCODE. Constructs The LOLCODE constructs are slang words. The following table shows the alphabetical list of constructs implemented so far: LOLCODE Construct Purpose/ Usage 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. 2. LOLCODE – SYNTAX
  • 8. LOLCODE 7 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 Whitespace 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. Comma 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 (,). Three Periods (…) 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. Comments 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
  • 9. LOLCODE 8 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 FileCreation 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 ”. Example HAI 1.2 I HAS A NAME VISIBLE "NAME::"! GIMMEH NAME VISIBLE "tutorialsPoint " NAME "!" KTHXBYE
  • 10. LOLCODE 9 End of ebook preview If you liked what you saw… Buy it from our store @ https://store.tutorialspoint.com