Benul

Benul is an esoteric programming language created by user:David.werecat where the source code is only BEL and NUL characters.
== Instructions ==
All Benul programs are required to have a pleasing sound when displayed on a terminal.
The bit queue begins empty with the current value set to 0. Each run of BEL or NUL characters is interpreted as an instruction. If a run exceeds five consecutive characters, it is broken up into multiple runs starting at length five until the end of the run. Runs are not broken by characters other than BEL and NUL, since unrecognizable characters are not interpreted. However, it is not recommended to use other characters. Console IO is performed bitwise, but is buffered per byte. Each byte is read/written from MSB to LSB. The program runs in a loop and requires special conditions to terminate (see below).
Run 	Description
1 NUL 	NOP.
2 NULs	Enqueue the current value in the queue and set the current value to the value dequeued from the queue afterwards.
3 NULs	Flip the current value.
4 NULs	If the current value is 0, skip ahead to the next 4NUL. If there is no next 4NUL, end the program.
5 NULs	Set the current value to 0.
1 BEL 	NOP.
2 BELs	Read a bit from STDIN to the current value.
3 BELs	Write the current value to STDOUT.
4 BELs	Enqueue a new 0 in the queue (expand queue size).
5 BELs	Set the current value to 1.
== Examples ==
The following are hex dumps of the programs (for better visibility).
=== Terminating Program ===
 00 00 00 00
=== CAT Program ===
 07 07 00 07 07 07
=== Truth Machine ===
 00 00 00 07 00 00 00 00 07 07 07 07 00 07 07 00
 07 07 00 07 07 00 07 07 00 07 07 00 07 07 00 07
 07 00 07 07 00 00 07 00 00 00 07 00 00 00 00 07
 00 00 00 00 00 07 07 07 00 07 07 07 00 00 00 07
 07 07 00 07 07 07 00 00 00 07 07 07 00 07 07 07
 00 07 07 07 00 00 07 07 07 00 00 00 00 07 00 00
 07 00 00 00
=== Hello, world! ===
 00 07 07 07 00 00 00 07 07 07 00 00 00 07 07 07
 00 07 07 07 00 00 00 07 07 07 00 00 00 07 07 07
 00 07 07 07 00 07 07 07 00 07 07 07 00 00 00 07
 07 07 00 07 07 07 00 00 00 07 07 07 00 07 07 07
 00 00 00 07 07 07 00 00 00 07 07 07 00 00 00 07
 07 07 00 00 00 07 07 07 00 00 00 07 07 07 00 07
 07 07 00 00 00 07 07 07 00 00 00 07 07 07 00 07
 07 07 00 00 00 07 07 07 00 07 07 07 00 07 07 07
 00 00 00 07 07 07 00 07 07 07 00 00 00 07 07 07
 00 00 00 07 07 07 00 07 07 07 00 00 00 07 07 07
 00 07 07 07 00 07 07 07 00 00 00 07 07 07 00 07
 07 07 00 00 00 07 07 07 00 00 00 07 07 07 00 07
 07 07 00 07 07 07 00 07 07 07 00 00 00 07 07 07
 00 07 07 07 00 00 00 07 07 07 00 00 00 07 07 07
 00 00 00 07 07 07 00 07 07 07 00 00 00 07 07 07
 00 07 07 07 00 07 07 07 00 07 07 07 00 00 00 07
 07 07 00 00 00 07 07 07 00 07 07 07 00 07 07 07
 00 07 07 07 00 07 07 07 00 07 07 07 00 00 00 07
 07 07 00 07 07 07 00 07 07 07 00 00 00 07 07 07
 00 00 00 07 07 07 00 07 07 07 00 07 07 07 00 00
 00 07 07 07 00 00 00 07 07 07 00 07 07 07 00 00
 00 07 07 07 00 00 00 07 07 07 00 07 07 07 00 07
 07 07 00 07 07 07 00 00 00 07 07 07 00 00 00 07
 07 07 00 07 07 07 00 07 07 07 00 00 00 07 07 07
 00 07 07 07 00 00 00 07 07 07 00 00 00 07 07 07
 00 07 07 07 00 00 00 07 07 07 00 07 07 07 00 00
 00 07 07 07 00 00 00 07 07 07 00 07 07 07 00 00
 00 07 07 07 00 07 07 07 00 07 07 07 00 00 00 07
 07 07 00 07 07 07 00 00 00 07 07 07 00 07 07 07
 00 00 00 07 07 07 00 00 00 07 07 07 00 07 07 07
 00 07 07 07 00 07 07 07 00 00 00 07 07 07 00 00
 00 07 07 07 00 07 07 07 00 07 07 07 00 07 07 07
 00 00 00 07 07 07 00 00 00 07 00 00 00 00
== External resources ==
* Interpreter and sample programs, requires either the .NET framework on Windows or Mono on Linux to run
Category:Languages
Category:2012
Category:Unknown computational class‏‎
Category:Queue-based
Category:Low-level
Category:Implemented