Tskastic/Command Table

From Esolang
Jump to navigation Jump to search
This is still a work in progress. It may be changed in the future.

Back to Tskastic

We have a tape, several registers(like Apollo (PSTF)), an accumulator, a stack, and can manipulate memory. We use both base-10 and base-20. Here is the base-20 table: 0123456789₀₁₂₃₄₅₆₇₈₉.

Ascii

    0 1 2 3 4 5 6 7 8 9 A B C D E F

00  □ ☺ ☻ ♥ ♦ ♣ ♠ ● ◘ ○ ◙ ♂ ♀ ♪ ♫ ✶
01  ► ◄ ↕ ‼ ◊ ■ ━ ┃ ↑ ↓ ← → ↔ ↨ ▲ ▼
02    ! " # $ % & ' ( ) * + , - . /
03  0 1 2 3 4 5 6 7 8 9 : ; < = > ?
04  @ A B C D E F G H I J K L M N O
05  P Q R S T U V W X Y Z [ \ ] ^ _
06  ` a b c d e f g h i j k l m n o
07  p q r s t u v w x y z { | } ~ ⌂
08  ff fi fl ffi ffl ‹ › Ƒ Š Č Ž ſ Œ Ŋ İ Ƶ
09  “ ” ‘ ’ † ‡ ‰ ƒ š č ž ⌐ œ ŋ ı ƶ
0A    ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ♯ ® ¯
0B  ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿
0C  À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï
0D  Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß
0E  à á â ã ä å æ ç è é ê ë ì í î ï
0F  ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ
0: No operation.
1: Move the data from register A to register B, and then reset register A.
2: Move the data from register A to register B, but NOT reset register A.
3: Halt until keystroke.
4: Halt until Enter.
5: Halt for x minutes.
6: Halt for x seconds.
7: Beep for x millisecond and tone y(60 for C4).
8: Beep until keystroke.
9: Interprets Brainfuck.
A: Interprets Deadfish.
B: Change the input to anywhere else. Leave the argument blank means STDIN.
C: Change the output to anywhere else. Leave the argument blank means STDOUT.
D: Outputs a pitch x through the speaker, a time value of y (1 for crotchet) and a timbre of z (0 for piano).
E: Output the lyrics to L'internationale, with the BGM by buzzer, in the language with corresponding code(in ISO 936-1, such as zh for Chinese).
F: Output the lyrics to NGGYU with the BGM by buzzer. That's why I call Tskastic a golfing language.
10: Move the pointer of tape to right one cell.
11: Same as 10, but opposite direction. Calculated in hexadecimal, so 10 means 16 and 20 means 32.
12: Flip the stack.
13: Logical NOT.
14: Pop the stack value and store into x. Leave blank to discard it.
15: Push x into the stack.
16: Duplicates stack top.
17: Duplicates stack pneultima top.
18: Brainfuck +.
19: Brainfuck -.
1A: Assign a new value to the variable.
1B: Macro define.
1C: Invert something. Negate for number, NOT for boolean, and reverse on array/string.
1D: Swap the value of x and y.
1E: Deadfish d.
1F: Deadfish i.
20: It has nothing to do.
21: Factorial.
22: String literal open and close. \" for double quote, and all other escapes are also work in Python.
23: Define a new variable with name x, type y and value z.
24: Call a variable. So a variable can be with a name with conflict of command.
25: Percent.
26: Logical AND.
27: I have no idea on it.
28: Parenthese expression open.
29: Parenthese expression close.
2A: Assign a new value to the variable.
2B: Arithmetic plus.
2C: Comma.
2D: Arithmetic minus.
2E: Point.
2F: Fraction slash.
30 ~ 39: Digit literal 0 ~ 9.
3A: Colon, used for procedure/function seperate.
3B: Seperate command.
3C: Arithmetic LT.
3D: Arithmetic EQ.
3E: Arithmetic GT.
3F: A random number between specified upper limit and lower limit.
40: Pointer sign.
41 ~ 5A: Partially assigned, can be freely used.
- I: Input a string.
- O: Output the value, with a newline.
- N: Input a number.
5B: Open bracket. Brackeet can be used as subscript or array.
5C: Escape character.
5D: Close bracket.
5E: Arithmetic exponent.
5F: I have no idea on it.
60: "Else" statement block.
61 ~ 7A: Partially assigned, can be freely used.
- e: Euler's number.
- t: True.
- f: False.
7B: Code block open.
7C: Logical OR.
7D: Code block close.
7E: Bitwise NOT.
7F: Terminate the program.
80 ~ 84: No idea.
85: Bitwise AND.
86: Bitwise OR.
87: Function call. Usage: Ƒfunction_name(`args, ``kwargs).
88: If the conditions are met, execute the following code.
89: Execute the following code repeatly until the condition is not met.
8A: Constant "Hello, world!".
8B: Vigintal number open.
8C: Output the value with specified seperator and terminator.
8D: Vigintal number close.
8E: Input an expression and evaluate it in mode x(0: Python, 1: C++, 2: Tskastic).
8F: Resets a register.
90 ~ 93: Currently no idea on it.
94: Kill the current process.
95: Fork out a new process.
96: Permille.
97: Function definition. Usage: ƒFunction_Name(`args, ``kwargs){code}
98: If the conditions areN'T met, execute the following code.
99: Execute the following code repeatly until the condition is met.
9A: Constant 99 bottles of beer.
9B: Turn to the x-th process.
9C: Deadfish o.
9D: Turn back to the main process(Process #0).
9E: Brainfuck comma.
9F: Brainfuck dot.
A0: It has nothing to do, because it is No-Break SPace.
A1: Bitwise XOR.
A2: Halt the program to let user choose continue(Y) or not(N).
A3: No idea.
A4: Calls a register.
A5: Change the output encode to the encode you specified, such as ASCII, ANSI, GBK, GB18030, Big-5, Shift-JIS, Windows 1251, EUC-KR, EUC-JP, Windows 1252, UTF-8, and so on.
A6: No idea.
A7: No idea.
A8: No idea.
A9: Return the current cell.
AA: Change the language into Strict mode(that every error will output an information and then halt).
AB: Bitwise left shift.
AC: Reverse: Negate number, NOT the boolean, and reverse the string/array.
AD: A real hashtag. Get your IP local. If you have no internet connection, output the lyrics to Never Gonna Give You Up.
AE: Choose a random item from the array you specified.
AF: Change mode into waiting mode -- Every command will wait 500 ms for execute.
B0: Degree. At compile time, the angles are converted to radians, because the trigonometric function must be passed in radians.
B1: No idea.
B2: Shorthand for ^2.
B3: Shorthand for ^3.
B4: The magic constant FILENAME.
B5: No idea. Not be confused with 1CB(Greek letter mu).
B6: No idea.
B7: Treat the following piece of text as a comment, but only single line.
B8: No idea.
B9: Really useless because it is shorthand for ^1.
BA: Change the language into Wide mode(that pass through the error).
BB: Bitwise right shift.
BC: Constant 1/4.
BD: Constant 1/2.
BE: Constant 3/4.
BF: Undefined behaviour.
C0 ~ FF: Partially assigned.
- ×: Arithmetic multiply.
- ÷: Arithmetic divide.
- Ø: Print an element without newline.
- Ï: Input a character and return its ASCII.

Outer Latin

    0 1 2 3 4 5 6 7 8 9 A B C D E F

10  Ā ā Ă ă Ą ą Ć ć Ĉ ĉ Ċ ċ Ď ď Đ đ
11  Ē ē Ĕ ĕ Ė ė Ę ę Ě ě Ĝ ĝ Ğ ğ Ġ ġ
12  Ģ ģ Ĥ ĥ Ħ ħ Ĩ ĩ Ī ī Ĭ ĭ Į į IJ ij
13  Ĵ ĵ Ķ ķ Ĺ ĺ Ļ ļ Ľ ľ Ŀ ŀ Ł ł Ń ń
14  Ņ ņ Ň ň Ō ō Ŏ ŏ Ő ő Ŕ ŕ Ŗ ŗ Ř ř
15  Ś ś Ŝ ŝ Ş ş Ţ ţ Ť ť Ŧ ŧ Ũ ũ Ū ū
16  Ŭ ŭ Ů ů Ű ű Ų ų Ŵ ŵ Ŷ ŷ Ÿ ĸ Ź ź
17  Ż ż Ǎ ǎ Ǐ ǐ Ǒ ǒ Ǔ ǔ Ǖ ǖ Ǘ ǘ Ǚ ǚ
18  Ǜ ǜ ə ɡ ɑ ɔ ɜ ɪ ɹ ɴ ɯ ʃ ʒ ʔ ʕ ɤ
19  ɥ ɨ ɟ ɚ ɖ ɽ ɾ ʈ ʊ ʌ ʒ ʙ ɘ ɒ ɨ ɱ
100: Absolute value.
101: "ALL" function. Return false if z contains fake value.
102: "NONE" function. Return true if z doesn't contain real value.
103: "ANY" function. Return true if z contains real value.
104: No idea.
105: No idea.
106: Complex number type.
107: Convert a 2-length tuple into a complex number.
108: Pop x, then output the x-th instruction(full).