LOLSUS

From Esolang
Jump to navigation Jump to search

LOLSUS is an esolang created by User:Martsadas


Valid Instructions :

Instructions that starts with INNOCENT

Instructions name Arguments What it does
INNOCENT RED RED Clears the stack
INNOCENT ORANGE ORANGE V N Inserts the value V in the stack between V and V+1
INNOCENT YELLOW YELLOW A B L Goes to L if A and B are equal
INNOCENT GREEN GREEN V N Sets cell V to value N
INNOCENT LIME LIME A B [] Runs line [] if A and B are equal
INNOCENT BLUE BLUE V Outputs variable/constant V as a number
INNOCENT CYAN CYAN V Outputs variable/constant V as a character
INNOCENT PURPLE PURPLE Reverses the stack
INNOCENT PINK PINK V Pushes the variable/constant V to the stack
INNOCENT BLACK BLACK Ends the program
INNOCENT WHITE WHITE Swaps the top 2 items of the stack

Instructions that start with SUS

Instructions name Arguments What it does
SUS RED RED A B Returns A + B
SUS ORANGE ORANGE A B Returns A - B
SUS YELLOW YELLOW A B Returns A / B
SUS GREEN GREEN A B Returns A * B
SUS LIME LIME A B Returns 1 if A > B. Returns 0 if A <= B
SUS BLUE BLUE Gets input as a number and returns it
SUS CYAN CYAN Gets input as a character and returns it. The input is converted to the character's ASCII value
SUS PURPLE PURPLE V Pops the V'th value from the stack and returns it
SUS PINK PINK Gets input as a character and returns it
SUS BLACK BLACK V Returns value of cell V
SUS WHITE WHITE A B Returns a random number between A and B

Instructions that don't start with SUS or INNOCENT

Instructions name Arguments What it does
SET SET V N [] Sets the variable V to the number/variable N. If N is F then the line of code [] is run and V is set to whatever [] returns
LOCATION LOCATION N A location the code can go to
GO GO L Goes to location called L
VOTE VOTE Gets input as a boolean and returns it. The input is converted to a number | False -> 0 | True -> 1

Example Programs:

Hello World

INNOCENT CYAN 72
INNOCENT CYAN 101
INNOCENT CYAN 108
INNOCENT CYAN 108
INNOCENT CYAN 111
INNOCENT CYAN 44
INNOCENT CYAN 32
INNOCENT CYAN 87
INNOCENT CYAN 111
INNOCENT CYAN 114
INNOCENT CYAN 108
INNOCENT CYAN 100
INNOCENT CYAN 33
INNOCENT CYAN 10
INNOCENT BLACK ! End the program

Truth-machine

SET val F SUS BLUE ! Get input and store it into val
INNOCENT YELLOW val 1 one ! Goto one if val == 1
INNOCENT BLACK ! End the program if val != 1

LOCATION one
INNOCENT BLUE 1 ! Print 1
GO one

99 bottles of beer on the wall

SET bottles 99

GO v
LOCATION v

INNOCENT BLUE bottles

INNOCENT CYAN 32
INNOCENT CYAN 98
INNOCENT CYAN 111
INNOCENT CYAN 116
INNOCENT CYAN 116
INNOCENT CYAN 108
INNOCENT CYAN 101
INNOCENT CYAN 115
INNOCENT CYAN 32
INNOCENT CYAN 111
INNOCENT CYAN 102
INNOCENT CYAN 32
INNOCENT CYAN 98
INNOCENT CYAN 101
INNOCENT CYAN 101
INNOCENT CYAN 114
INNOCENT CYAN 32
INNOCENT CYAN 111
INNOCENT CYAN 110
INNOCENT CYAN 32
INNOCENT CYAN 116
INNOCENT CYAN 104
INNOCENT CYAN 101
INNOCENT CYAN 32
INNOCENT CYAN 119
INNOCENT CYAN 97
INNOCENT CYAN 108
INNOCENT CYAN 108
INNOCENT CYAN 10

INNOCENT BLUE bottles

INNOCENT CYAN 32
INNOCENT CYAN 98
INNOCENT CYAN 111
INNOCENT CYAN 116
INNOCENT CYAN 116
INNOCENT CYAN 108
INNOCENT CYAN 101
INNOCENT CYAN 115
INNOCENT CYAN 32
INNOCENT CYAN 111
INNOCENT CYAN 102
INNOCENT CYAN 32
INNOCENT CYAN 98
INNOCENT CYAN 101
INNOCENT CYAN 101
INNOCENT CYAN 114
INNOCENT CYAN 10
INNOCENT CYAN 116
INNOCENT CYAN 97
INNOCENT CYAN 107
INNOCENT CYAN 101
INNOCENT CYAN 32
INNOCENT CYAN 111
INNOCENT CYAN 110
INNOCENT CYAN 101
INNOCENT CYAN 32
INNOCENT CYAN 100
INNOCENT CYAN 111
INNOCENT CYAN 119
INNOCENT CYAN 110
INNOCENT CYAN 10
INNOCENT CYAN 112
INNOCENT CYAN 97
INNOCENT CYAN 115
INNOCENT CYAN 115
INNOCENT CYAN 32
INNOCENT CYAN 105
INNOCENT CYAN 116
INNOCENT CYAN 32
INNOCENT CYAN 97
INNOCENT CYAN 114
INNOCENT CYAN 111
INNOCENT CYAN 117
INNOCENT CYAN 110
INNOCENT CYAN 100
INNOCENT CYAN 10
INNOCENT CYAN 10

SET bottles F SUS ORANGE bottles 1 ! Subtract 1 from bottles

INNOCENT YELLOW bottles 1 o

GO v

LOCATION o

INNOCENT CYAN 49
INNOCENT CYAN 32
INNOCENT CYAN 98
INNOCENT CYAN 111
INNOCENT CYAN 116
INNOCENT CYAN 116
INNOCENT CYAN 108
INNOCENT CYAN 101
INNOCENT CYAN 32
INNOCENT CYAN 111
INNOCENT CYAN 102
INNOCENT CYAN 32
INNOCENT CYAN 98
INNOCENT CYAN 101
INNOCENT CYAN 101
INNOCENT CYAN 114
INNOCENT CYAN 32
INNOCENT CYAN 111
INNOCENT CYAN 110
INNOCENT CYAN 32
INNOCENT CYAN 116
INNOCENT CYAN 104
INNOCENT CYAN 101
INNOCENT CYAN 32
INNOCENT CYAN 119
INNOCENT CYAN 97
INNOCENT CYAN 108
INNOCENT CYAN 108
INNOCENT CYAN 10
INNOCENT CYAN 49
INNOCENT CYAN 32
INNOCENT CYAN 98
INNOCENT CYAN 111
INNOCENT CYAN 116
INNOCENT CYAN 116
INNOCENT CYAN 108
INNOCENT CYAN 101
INNOCENT CYAN 32
INNOCENT CYAN 111
INNOCENT CYAN 102
INNOCENT CYAN 32
INNOCENT CYAN 98
INNOCENT CYAN 101
INNOCENT CYAN 101
INNOCENT CYAN 114
INNOCENT CYAN 10
INNOCENT CYAN 116
INNOCENT CYAN 97
INNOCENT CYAN 107
INNOCENT CYAN 101
INNOCENT CYAN 32
INNOCENT CYAN 111
INNOCENT CYAN 110
INNOCENT CYAN 101
INNOCENT CYAN 32
INNOCENT CYAN 100
INNOCENT CYAN 111
INNOCENT CYAN 119
INNOCENT CYAN 110
INNOCENT CYAN 10
INNOCENT CYAN 112
INNOCENT CYAN 97
INNOCENT CYAN 115
INNOCENT CYAN 115
INNOCENT CYAN 32
INNOCENT CYAN 105
INNOCENT CYAN 116
INNOCENT CYAN 32
INNOCENT CYAN 97
INNOCENT CYAN 114
INNOCENT CYAN 111
INNOCENT CYAN 117
INNOCENT CYAN 110
INNOCENT CYAN 100
INNOCENT CYAN 10

INNOCENT BLACK ! End the program

Deadfish

SET x 0
GO inst

LOCATION inst

INNOCENT LIME x -1  SET x 0 ! Make sure that x is not -1
INNOCENT LIME x 256 SET x 0 ! Make sure that x is not 256

SET c F SUS CYAN

INNOCENT LIME c -1 INNOCENT BLACK ! End the program if x == -1

INNOCENT YELLOW c 105 i
INNOCENT YELLOW c 100 d
INNOCENT YELLOW c 115 s
INNOCENT YELLOW c 111 o

LOCATION i
SET x F SUS RED x 1 ! Increment x
GO inst

LOCATION d
SET x F SUS ORANGE x 1 ! Decrement x
GO inst

LOCATION s
SET x F SUS GREEN x x ! Square x
GO inst

LOCATION o
INNOCENT BLUE x ! Output x
GO inst