BracketsLang
Jump to navigation
Jump to search
BracketsLang is esoteric programming language invented in 2021 by user PoetLuchnik to show that brackets are better than Python tabs. Code is a sequence of atoms and blocks of sub-code. The program is always curly brackets block. Each block contains sub-code and has its own accumulator, which is zero at the beginning. Atoms have no code in, and they works with parent block accumulator. Accumulator is byte value [0..255]. Brackets are code, everything else is notes.
What do the brackets do
case | description | c-like |
---|---|---|
() |
print accumulator as ASCII character | putchar(accumulator);
|
[] |
increase accumulator by the ASCII value of entered character | accumulator += getchar();
|
<> |
set accumulator to null | accumulator = 0;
|
{} |
increment accumulator | accumulator++;
|
(sub-code) |
store parent accumulator by address in own accumulator | RAM[accumulator] = parent_accumulator;
|
[sub-code] |
load value by address in accumulator and add it to parent accumulator | parent_accumulator += RAM[accumulator];
|
<sub-code> |
when ends if the accumulator not equals 0 then ending parent block immediately | subcode(); if (accumulator != 0) break;
|
{sub-code} |
repeats sub-code endlessly, subtract accumulator from parent accumulator if ends | ui8_t T = 0; while(!isbreak) T = subcode(); parent_accumulator -= T;
|
Examples
Hello World (almost)
add 64 {}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{} add 8 {}{}{}{}{}{}{}{} print 72 'H' () sub 3 {{}{}{}<{}>} print 69 'E' () add 7 {}{}{}{}{}{}{} print 76 'L' x2 ()() add 3 {}{}{} print 79 'O' () enter any key to continue [] escape from program <{}>
Cat
[] input () output <> void accumulator and no escape
Alphabet
r0 = 26 {}{}{}{}(<>)[<>][<>]{}(<>)[<>](<>) 65 {}{}{}{}{}{}({})[{}]{} r1 = 65 ({}) infinity loop { load r1 [{}] print r1 () +1 {} store r1 ({}) if --r0 == 0 then break <{ if --r0 != 0 then break <[<>]{{}<{}>}(<>)> +1 {} <{}> }> } end of program <{}>
Compilers
Not exists now...
Interpreters
EasyBracketsLang
EBL is interpreter created by author of this esolang. EBL on itch.io