Tskastic/Command Table
Jump to navigation
Jump to search
- This is still a work in progress. It may be changed in the future.
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).