NAME
BRAINIAC - basic real-time agile isolated nano integrated accessible compiler
DESCRIPTION
BRAINIAC is an integrated environment that let you write, compile and run
programs written in the most elegant and minimal language. Features like
compile-time error checking, real-time memory viewer, automatic code quality
estimation, integrated documentation, tdd solutions, integrated debugger,
and many others increase programers performance and facilitate writing
modern applications.
THE LANGUAGE
Programs written for BRAINIAC consist of following 1-character commands:
> moves data pointer to the right
< moves data pointer to the left
+ increments the current byte
- decrements the current byte
. output current byte to the stdout
, reads 1 byte from stdin and writes it to the current byte
[ jumps to matching ] if the current byte is 0
] jumps to matching [ unless the current byte is 0
Additionally BRAINIAC adds one more symbol:
! pauses execution - useful for debugging
The memory is always 256 bytes (unsigned 8-bit) long and both - the memory
and bytes-values overflow.
TASKS
BRAINIAC provides you with a number of tasks accessible in the TASKS panel.
CUSTOM TASKS
custom panel let you generate shareable tasks. A custom challenge consists
of 4, newline-separated lines:
title
description (use "\n" for newline)
input list (space separated list of hexadecimal numbers)
expected output list (space separated list of hexadecimal numbers)
Example:
minus 3
output input to output but reduce each byte by 3
5 1D 77 31
2 1A 74 46
If empty string is provided as custom challenge BRAINIAC runs in no-expected
output mode, or any invalid input.
The 5th optional line indicates image challenge. If it's "img" then target image
is shown to the user; if it's "?" then the output image is hidden.
In both cases expected output must be 256 values long.
2d OUTPUT VISUALIZATION
16x16 256-depth output visualizer let you see the output in user-friendly fashon.
NUMBERS REPRESENTATION
For visual appeal and educational purposes all numbers are displayed
in their hexadecimal representation.
SEE ALSO
0x72(7)
IMPLEMENTATION
JS (ECMAScript 6), 6.283.185-release
Copyright (C) 2072 0x72 Evil Software Fundation, Inc.
License CC0: 2009 or later