Nilay Majorwar 01ba292b9f Implement basic execution system and UI
This is a rather large commit that includes all of the following:
- React UI with code editor, runtime renderer and input-output panes
- Language providers for a sample language and Brainfuck
- Implementation of code execution in a web worker
- All-at-once unabortable execution of program fully functional
2021-12-14 22:30:41 +05:30

814 B

Brainfuck

Allowed symbols

  • >: Move the pointer to the right
  • <: Move the pointer to the left
  • +: Increment the memory cell at the pointer
  • -: Decrement the memory cell at the pointer
  • .: Output the character signified by the cell at the pointer
  • ,: Input a character and store it in the cell at the pointer
  • [: Jump past the matching ] if the cell at the pointer is 0
  • ]: Jump back to the matching [ if the cell at the pointer is nonzero

Memory specifications

These parameters will be configurable when engine configuration is added to the project

  • For Turing-completeness, the number of cells is kept unbounded.
  • Cell size is 8 bits, and allows values in the range [-128, 127].
  • Value 10 is designated for newlines.
  • The value 0 is returned on reaching EOF.