Cubed

==Cubed==
Cubed is a 3D Programming language 
===Inspired===
Inspired by Befunge mostly
===Author===
I (Benett0222) created this Programming Language
I originaly named this BefungeCubed , CCPL(Cube Code Programming Language) and ^3
==Examples==
Layer1:
 |r|!|r|d|#|#|
 |D|#|#|d|#|#|
 |u|#|#|d|#|#|
 |u|l|l|l|#|#|
Layer2:
 |r|r|r|r|r|d|
 |u|#|#|#|#|d|
 |r|p|D|#|#|d|
 |u|l|”|1|”|l|
Layer3:
 |g|#|#|#|#|#|
 |u|”|1|”|l|#|
 |#|#|d|#|u|#|
 |#|#|r|!|u|#|
==Commands==
 “r” goes right
 “l” goes left
 “u” goes up
 “d” goes down
 ““” starts adding next 
 number(s)/letter(s) to stack
 “”” end adding to stack
 “!” deletes first of stack
 “p” prints out stack’s first value
 “P” prints out ASCII stack’s first value
 “g” goes to layer “stack’s first value” 
 and position “currently located at”
 “G” goes to layer “stack’s first value” 
 and position “stack’s second value”
 “D” goes down one layer
 “U” goes up one layer
 “?” asks for user input turns char into numbers and
 A into A(doesn’t wait)
 “.” asks for user input and skips next command in direction
 “A” asks for user input turns char into ASCII (doesn’t wait)
 and outputs to stack , jumps over next command
 “=” checks if stack’s first value is 
 equal to the second value in the stack 
 and outputs 1 into the stack else outputs a 0
 (deletes first 2)
 “#” does nothing
 “@” ends the program
 “<” if first value in stack is 
 0 then keep moving forward else 
 turn left 90 degrees
 “>” if first value in stack is 
 0 then keep moving forward else 
 turn right 90 degrees
 “+” add first 2 values of stack (deletes 
 top two)
 “-” subtract first 2 values of 
 stack(deletes top two)
 “*” multiply first 2 values of stack 
 (deletes top two)
 “/” divide first 2 values of stack (7/5 is 1,4) 
 (deletes top two)
 “\” divide first 2 values of stack (7/5 is 1) 
 (deletes top two)
 “%” mod first 2 values of stack (20 mod 3 is 2) 
 (deletes top two)
 “:” flip stack
 “&” duplicates top value
 “t” goto top layer with going to the top
 left corner
 “num” goto layer num with going to the 
 top left corner
 “;” move first value of stack to the bottom 
 of the stack
 “,” move last value of stack to the top 
 of the stack
===Truth Machine===
Truth Machine
Input 0 Output 0
Input 1 Output 111111111…
 |r|.|d|d|d|
 |u|#|d|d|p|
 |u|l|l|d|@|
 |D|l|l|l|#|
 |#|#|#|#|U|
 |#|r|r|d|<|
 |#|u|p|l|=|
 |r|”|1|”|u|
===Adder===
 |r|?|?|:|d|
 |@|p|l|+|l|
===Subtracter===
 |r|?|?|:|d|
 |@|p|l|-|l|
===Multiplier===
 |r|?|?|:|d|
 |@|p|l|*|l|
===Divider===
 |r|?|?|:|d|
 |@|p|l|/|l|
===Calculator===
A Calculator has 4 operations
 42 * 
 43 +
 45 -
 47 /
 |r|r|r|r|”|4|3|”|?|=|d|
 |2|!|<|l|l|l|l|l|l|l|l|
 |#|#|r|?|?|:|d|#|#|#|#| 
 |#|#|@|p|l|+|l|#|#|#|#|
 |r|r|r|r|”|4|5|”|?|=|d|
 |3|!|<|l|l|l|l|l|l|l|l|
 |#|#|r|?|?|:|d|#|#|#|#| 
 |#|#|@|p|l|-|l|#|#|#|#|
 |r|r|r|r|”|4|2|”|?|=|d|
 |4|!|<|l|l|l|l|l|l|l|l|
 |#|#|r|?|?|:|d|#|#|#|#| 
 |#|#|@|p|l|*|l|#|#|#|#|
 |r|r|r|r|”|4|7|”|?|=|d|
 |t|!|<|l|l|l|l|l|l|l|l|
 |#|#|r|?|?|:|d|#|#|#|#| 
 |#|#|@|p|l|/|l|#|#|#|#|
===Hello World program===
Prints “Hello World”
 |r|r|”|7|2|”|d|
 |D|”|1|0|1|”|l|
 |D|”|1|1|1|”|l|
 |r|”|1|0|8|”|u|
 |r|r|”|3|2|”|d|
 |D|”|7|8|”|l|l|
 |D|”|0|0|1|”|l|
 |r|”|1|1|4|”|u|
 |r|:|P|;|P|;|d|
 |D|;|P|;|P|P|l|
 |D|P|;|;|;|P|l|
 |r|P|;|P|,|,|u|
 |r|,|,|,|,|P|d|
 |D|;|;|;|;|;|l|
 |@|l|!|!|!|!|l|
 |r|P|!|!|!|!|u|
===cat program===
 |r|?|r|”|1|0|”|d|
 |D|!|<|=|:|&|:|l|
 |#|#|@|#|#|#|#|#|
 |#|#|#|#|#|#|#|#|
 |r|?|&|”|1|0|”|d|
 |u|!|<|=|l|l|l|l|
 |d|l|l|r|:|r|P|d|
 |r|!|!|u|#|u|!|l|
Input A B Enter
Stack
 A ?
 10 A “”
 A 10 :
 A A 10 &
 10 A A :
 0 A =
 A !
 B A ?
 B B A &
 10 B B A “”
 0 B A =
 B A !
 10 B A ?
 10 10 B A “”
 10 10 10 B A &
 1 10 B A =
 10 B A !
 B A !
 A B :
 B P
 Nothing P
Output AB
==Loops==
Loops are defenitely easy to make
===1 layer Loops===
Square loop
 |r|d|
 |u|l|
Extended loop
 |r|r|d|
 |u|l|l|
Modified loop
 |r|d|r|d|
 |u|r|u|d|
 |u|l|l|l|
===Multible layer Loops===
Square loop
 |r|D|
 |U|l|
Extended loop
 |r|D|
 |U|D|
 |U|l|
Modified loop
 |r|d|
 |#|D|
 |#|#|
 |#|t|
==I/O==
===I===
Can get numerical and alphabetical input
===O===
Can get numerical and alphabetical output
===Examples===
 |r|?|p|
Input 1
1
Input +
43
 |r|?|P|
Input 1
Start of Header
Input 48
0
Input +
+
===Real inputs===
ASCII 32-127
And Enter
Cubed’s Programming Area is an 2^10x2^10x2^8 but that can 
Category:Turing completeCategory:2023Category:ImplementedCategory:Multi-dimensional languagesCategory:Stack-based