ʟɐä̯ɴɢʁɥɪɖʐ

From Esolang
Jump to navigation Jump to search

ʟɐä̯ɴɢʁɥɪɖʐ is a programming language invented by User:ChuckEsoteric08 inspired by Quiney.

Specification

It uses infinite array of symbols as memory. It also uses two registers which point to symbols, Interpreter Pointer (IP) and Cell Pointer (CP). IP and CP begin in the same place and moving right. both IP and CP moves to the next instruction in their own dolirectionafter command has been executed. Both can have two directions: right and left. If IP or CP go out of bounds program halts. Program is put inside the quotes

Commands

" " - do nothing
">" - if CP reaches it move CP to the charatcer after the next > in the direction
CP was moving. If there is no next > do nothing. It is
executed before command under IP.
"<" - like ">" but move CP to the character before previous <
"#" - stops CP from moving. It would only move if it changes direction or "#" 
becomes " "
"+" - if IP reaches it flip character under CP. If it was ">" replace it with "<", if it was " " replace it with "#", if it was "-" replace it with "_", if it was "%" replace it with "^" an vice versa
"-" and "_" - like ">" and "<" but for IP
"%" - if IP reaches it change direction of CP
"^" - if CP reaches it change direction of IP. It is done after command under IP is executed
"[...]X" - If IP reaches it paste the code inside the matching brackets, including 
brackets and X right before the next "@" if the character under CP is not X. Then both the code 
inside the brackets and X are executed if the condition is true. CP moves after 
insturction it executed
"@" - If IP reaches it then halt. Can only appear once.
If CP reaches this character it's an error
"." - if IP reaches it output character under CP
"{...}" - If IP reaches it append code inside the brackets without brackets to 
the end of a program. Code in the brackets is then skipped

Examples

Output # infinitely

">.>#"

Output +#%% and halt

">[.] @> + # % % "