LOLSUS

=== 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 	
== 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
Category:LanguagesCategory:UnimplementedCategory:Sus