WinReg
Jump to navigation
Jump to search
WinReg is an esoteric programming language created by User:Dominicentek. It's syntax is similar to his other language called FolderCode. Instead of it being a folder structure, it is a tree of keys and values in the Windows Registry.
Initialization
In HKEY_LOCAL_MACHINE/SOFTWARE, create a key called WinReg, and put all of your programs in there. To make a program, simply make a key and the program will be that key.
Commands
All commands, exactly like in FolderCode, are indexed with numbers.
| Command | Value Type | Parameter | Description |
|---|---|---|---|
| var | SZ | Variable name | Set open variable/create a new variable |
| assignstr | SZ | Variable value | Assigns a string value to an open variable |
| assignint | DWORD | Variable value | Assigns an integer value to an open variable |
| assignfromvar | SZ | Variable name | Assigns a value from a variable to an open variable |
| user | SZ | Variable name | Assings user input to a variable |
| if | KEY | Variable name | Compares an open variable with a variable |
| else | KEY | None | If the above if statement returns false, this gets executed instead |
| SZ | Variable name | Prints variable value into console | |
| add | SZ | Variable name | Adds a number to an open variable |
| sub | SZ | Variable name | Subtracts a number from an open variable |
| mul | SZ | Variable name | Multiplies a number in an open variable |
| div | SZ | Variable name | Divides a number in an open variable |
| mod | SZ | Variable name | Modules a number in an open variable |
| loop | KEY | Variable name | Loops inside code a number of times in a variable and stores its loop amount into an open variable |
| random | SZ | Variable name | Assigns a random number to an open variable based on the range |
| delay | SZ | Variable name | Delays the code for a number of milliseconds |
| function | KEY | Function name | Defines a function |
| callfunc | SZ | Function name | Calls a function |
| toint | SZ | Variable name | Converts a string variable to an integer |
| tostr | SZ | Variable name | Converts an integer variable to a string |
| exit | ANY | None | Exits the program |
On KEY types, the parameter acts as the type's default value.
Examples
Hello World
┏ var text ┣ assign Hello World! ┗ print text
Truth-machine
┏ user input ┣ toint input ┣ var one ┣ assignint 1 ┣ if input ┃ ┣ function printone ┃ ┃ ┣ print one ┃ ┃ ┗ callfunc printone ┃ ┗ callfunc printone ┗ else ┣ var zero ┣ assignint 0 ┗ print zero
Fizz Buzz
┏ user input ┣ toint input ┣ var zero ┣ assignint 0 ┣ var three ┣ assignint 3 ┣ var five ┣ assignint 5 ┣ var fizz ┣ assignstr Fizz ┣ var buzz ┣ assignstr Buzz ┣ var newline ┣ assignstr \n ┣ var loopamount ┗ loop input ┣ var threereminder ┣ assignvar loopamount ┣ var fivereminder ┣ assignvar loopamount ┣ var threereminder ┣ mod three ┣ var fivereminder ┣ mod five ┣ var threereminder ┣ if zero ┃ ┗ print fizz ┣ var fivereminder ┣ if zero ┃ ┗ print buzz ┣ var threereminder ┣ if zero ┣ else ┃ ┣ var fivereminder ┃ ┣ if zero ┃ ┗ else ┃ ┗ print loopamount ┗ print newline