Noida
Jump to navigation
Jump to search
Noida is a lame and simple esolang created by User:Saka. It is designed to be simple and easy to write an interpreter for.
Noida is short for "No idea" because I didn't know what to name it.
Basics
In Noida, values are stored in variables. These values can be a string ([My String]
) or an int (.3141
).
Variables can be accessed using a dollar sign ($MyVar
). Variable names cannot contain spaces.
Each instruction must be on it's own line and lines starting with #
are comments. Instructions are of the form:
Intruction : Argument1 : Argument2 : etc.
Noida uses curly brackets ({}) as code blocks.
Instructions
Instructions
Instruction | Description |
---|---|
new : s | New variable s (String). |
set : v : a | Set v (Variable) to a (Any). |
print : a | Print a (Any). |
input : dt : v | Input to v (Variable) as dt (str/int). |
if : c | If c (Condition/Boolean; see below) execute the code block below. |
repeat | Repeat the code block. |
done | Terminate the program. |
Booleans
Condition | Description |
---|---|
same a b | True if a = b, False otherwise. |
greater a b | True if a is greater than b, False otherwise. |
Misc.
Instruction | Description |
---|---|
math a o b* | Return integer a +;-;*;/ b. |
join a b c d...* | Join strings a, b, c, d,... |
*There can be no math operations inside math operations and no join operations in join operations.
Examples
Hello, World!
print : [Hello, World!]
Truth Machine
new : i input : int : $i if : same $i .0 { print : .0 done } if : same $i .1 { print : .1 repeat }
CAT
new : i input : str : $i print : $i
Nil
#The computer will always win. new : n new : i new : c set : $n : .12 print : [It's a fine day to play a game of Nil.] print : [You go first, carbonface.] { input : int : $i if : greater $i .3 { print : [You cheater...] print : [You can't fool me with your strange inputs!] done } if : greater .1 $i { print : [You cheater...] print : [You can't fool me with your strange inputs!] done } set : $n : math $n - $i set : $c : math .4 - $i set : $n : math $n - $c print : [I'll take...] print : math .4 - $i print : [Current left:] print : $n if : same $n .0 { print : [Boom I won!] done } repeat }
Interpreter
Python
Available on GitHub