bf17 icon

Grawlix description

bf17 | PRO | 10/16/17 05:07:04 AM UTC | 0 ⭐ | 418 👁️ | Never ⏰ | []
text |

1.75 KB

|

None

|

0 👍

/

0 👎

GPL - Grawlix Programming Language
 This is the horrible Grawlix Programming Language - as if brainfuck had evolved on a hostile planet.
 Description:
8 bit memory cells (and perhaps other bit amounts)
Everything initialized to zero
Cell values rollover
Program memory infinite
Data memory infinite
Stack memory infinite
Function definitions 256
T - top of stack, where the next value will get pushed
P - data pointer
(P) - byte value at P
P < 0 is an error and should halt the program
Pop when T = 0 is an error and should halt the program
A program with only > < + - , . [ ] is brainfuck, not Grawlix
Turing complete: yes, because Brainfuck is Turing complete
 Enhancements to Brainfuck
Stack operations
Decimal I/O
Another loop structure
Functions
 Functions
Function properties are processed before program is run
Function definition '{   code   }' can be anywhere in the program listing
Function definition in program listing '{' is skipped to command after matching '}'
Only function call '@' runs function code
To call a function: push function number, function call '@'
Function calls can be inside of function definitions
256 functions allowed
 -	Brainfuck
,	Brainfuck
;	Pop (P)
:	Push (P)
?	(P) = input decimal number modulo 256
.	Brainfuck
(	Proceed to next command after ‘(‘ if (P) == 0 (Opposite of brainfuck)
)	Return to matching ‘(‘
[	Brainfuck
]	Brainfuck
{	Begin function definition
}	Terminate function definition
@	Function call, with function number previously pushed onto the stack
/	Shift right: zero > 7 > 6 > 5 > 4 > 3 > 2 > 1 > 0 > null
|	Shift left:   null  < 7 < 6 < 5 < 4 < 3 < 2 < 1 < 0 < zero
+	Brainfuck
<	Brainfuck
=	Print out (P) as a zero-filled three digit decimal number
>	Brainfuck
^	Halt

Comments