Semiconkéfalos
Jump to navigation
Jump to search
Semiconkéfalos is a portmanteau of "semicolon" and "enkéfalos" (brain). It is a variant of brainfuck created by User:TheCanon2, but the only valid symbols are the semicolon and Greek question mark.
Commands
Command | Unicode values | Brainfuck equivalent |
---|---|---|
;;; | U+003B U+003B U+003B | > |
;;; | U+003B U+003B U+037E | < |
;;; | U+003B U+037E U+003B | + |
;;; | U+003B U+037E U+037E | - |
;;; | U+037E U+003B U+003B | . |
;;; | U+037E U+003B U+037E | , |
;;; | U+037E U+037E U+003B | [ |
;;; | U+037E U+037E U+037E | ] |
These commands behave exactly the same way as their brainfuck counterparts.
The only computational difference is that Semicónkefalos handles text in UTF-8. The only purpose of this was to allow for quines.
Examples
Hello, World!
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;
Cat
;;;;;;;;;;;;;;;
Implementations
The following is a Python script for converting brainfuck to Semiconkéfalos.
brainfuck = input('>prgm ') semico = [""] def text(bits): # Reduces the amount of lines used # for c in range(0, 3): if bits[c] == "0": semico.append(chr(59)) else: semico.append(chr(894)) for i in range(0, len(brainfuck)): # Converts # if brainfuck[i] == "<": text("000") elif brainfuck[i] == ">": text("001") elif brainfuck[i] == "+": text("010") elif brainfuck[i] == "-": text("011") elif brainfuck[i] == ".": text("100") elif brainfuck[i] == ",": text("101") elif brainfuck[i] == "[": text("110") elif brainfuck[i] == "]": text("111") else: print("Invalid syntax.") break semico = ''.join(semico) print(semico)
The following program converts Semiconkéfalos to brainfuck.
replacements = { "\u003B\u003B\u003B": ">", "\u003B\u003B\u037E": "<", "\u003B\u037E\u003B": "+", "\u003B\u037E\u037E": "-", "\u037E\u003B\u003B": ".", "\u037E\u003B\u037E": ",", "\u037E\u037E\u003B": "[", "\u037E\u037E\u037E": "]" } program = input("Enter program: ") for semiconkefalos, brainfuck in replacements.items(): program = program.replace(semiconkefalos, brainfuck) print(program)