Nya~*kwrgsfish+-HQ9`:'"rbtAzxdi8
Jump to navigation
Jump to search
Nya~*kwrgsfish+-HQ9`:'"rbtAzxdi8, or Nya~Τούρινγκ-r%23kc锟斤拷d#T大个b彁jSV\d\\\\zESGmcdips is designed by PSTF.
Language Overview
Nya~*kwrgsfish+-HQ9`:'"rbtAzxdi8 is turing complete, uses an accumulator, a tape with 114514 cells, a stack, a buffer, and variables.
It is simply extended from nya~.
Its file extension is ".nyatc".
You're free to edit this Esolang, but:
- No joke commands.
- Make sure your command is implementable.
- It is not (and should not) be submitted to protected orders (basic areas, supplementary areas and protected areas) that new commands, deletions or modifications of existing commands are made.
- The use of standard Arabic numerals as commands is forbidden because it represents numbers, as is the case in other languages, using the decimal system.
- You must not add commands that are represented by characters written from right to left. This means that the Arabic alphabet, Hebrew alphabet, etc., are disabled.
Basic command
Command | Description |
---|---|
n
|
Negates the accumulator |
y
|
No operation |
a [x]
|
Push a value to accumulator |
~
|
Reset the accumulator |
Supplement
Command | Description |
---|---|
idso
|
Same as Deadfish |
w [x]
|
Output x as an character. Leave x blank to output stack top. Trying to output from empty stack makes outputs 0th character. |
><+-[],.
|
Same as Brainfuck. A whole line of these commands do not need to be separated |
A [x] [y]
|
x <- x + y |
S [x] [y]
|
x <- x - y |
M [x] [y]
|
x <- x × y |
D [x] [y]
|
x <- x ÷ y |
E [x] [y]
|
x <- xy |
% [x] [y]
|
x <- x mod y |
R [x] [y]
|
x <- x <- x1/y |
L [x] [y]
|
x <- logy(x) |
N [x] [y]
|
x <- x AND y |
O [x] [y]
|
x <- x OR y |
X [x] [y]
|
x <- x XOR y |
l [x] [y]
|
x <- x × 2y |
r [x] [y]
|
x <- x ÷ 2y |
Protected
Command | Description |
---|---|
P [x]
|
Push x to stack. If x is a string, then push from left to right. |
p [x]
|
Pop stack top and store into x. Leave x as blank to discard top of stack. |
j [x]
|
Join x to the buffer. |
→ [x]
|
Output the value of x. |
""
|
String literal. |
±
|
Duplicate stack top. |
↕
|
Reverse whole stack. |
⇋
|
Swap the top two element of stack. |
(cond)?{block}[:(cond2)?{block2}...:{blockN}]
|
If-else statement. All operation sign are also imported from Python. |
(cond)?-{block}-
|
Conditional Loop. |
;
|
Seperates commands. |
↑ [x]
|
Rounds away from 0. |
↓ [x]
|
Rounds towards 0. |
⍠ [x]
|
Rounds as usual. |
x[(type)] ← [y]
|
Assign x to y. Leave y blank to assign nothing to x. If x doesn't exist, then you must contain type to initialize the variable. If x is ⎕, then output y to screen. If y is ⎕, input a string, parse by the x's type and assign to x. If y is ⍞, Raw input a string to x. |
U
|
If there is two U's, then jump back to 1st U when arrived second U, otherwise do nothing. |
Extension A
From here, commands can be added via contributions. There are 64 to 256 commands per area.
Command | Description | Creator |
---|---|---|
↺ |
Reverse the entire tape. This does not move the pointer. | User:Qawtykit |
⟳ |
Reverse the entire tape. Move the pointer to the cell it was on before the reversal | User:Qawtykit |
__ |
Calling a variable. | User:PrySigneToFry |
Example
Hello, world!
--<-<<+[+[<+>--->->->-<<<]>]<<--.<++++++.<<-..<<.<+.>>.>>.<<<.+++.>>.>>-.<<<+.
Alternated
⎕ ← "Hello, world!"
A+B
a(int) ← ⎕ b(int) ← ⎕ ⎕ ← (__a + __b)
Truth Machine
t(int) ← ⎕ (__t≠0)?-{⎕ ← __t}- ⎕ ← 0
Infinitely output null characters
UwU