Delvs
Jump to navigation
Jump to search
Delvs(pronounced /delve-iss/) is a Brainfuck extension similar to Brainfuck++ designed in February 2013 by User:L8D. The primary purpose was to combine many other Brainfuck derivitaves like Brainfuck++ and Boolfuck, and the language(and Interpreter) are still in development.
Instructions
Delvs currently has 10 additional instructions.
Command | Description | Pseudo Code |
---|---|---|
:
|
Cast current cell's value to string and print | printf("%hhd", *p);
|
;
|
Read number set from stdin and store in current cell
|
scanf("%hhd", p);
|
#
|
Read following cells as null-terminating string for filename, then if current cell is not 1, open file for reading, or if 1, open file writing | f = fopen(p + 1, p == 1 ? "w" : "r");
|
`
|
Read next char from file stream and store in current cell | *p = fgetc(f);
|
!
|
Write current cell's value to file stream | fputc(*p, f);
|
"
|
Move bit to the right once | b <= 0 ? b = 7 : b--;
|
'
|
Toggle/flip bit and move bit to the right once | *p ^= (1 << b); b <= 0 ? b = 7 : b--;
|
\
|
Comments out rest of line | while(*c++ != '\n');
|
@
|
Prints out surround cell values in a formatted way. Basically a breakpoint for debugging | printf("%hhd : %hhd : %hhd : %hhd : %hhd", *(p - 2), *(p - 1), *p, *(p + 1), *(p + 2));
|
$
|
Sleeps the current cell's value in seconds | sleep(*p);
|
To do
- implement a working socket system
- implement an stdout flushing system
- implement runtime args
- implement namespaces (separate arrays of 30000 chars)
- (maybe) implement better way to divide
- implement full integers