/AlmostBinary

Compiler & Runtime for 'Almost Binary'. Code in platform-independent binary and utilize high-level data structures and state-of-the-art libraries (e.g. quantum computing, blockchain, ..)

Primary LanguageC#GNU General Public License v3.0GPL-3.0

Almost Binary HitCount Maintenance GitHub license Generic badge Donate Codacy Badge

This compiler & runtime will be improved continuously. Please be clement, as this is my first time implementing a compiler and runtime.

Take a look at the documentation: Almost Binary - Wiki

Code Once, Run Everywhere. Tests within Docker

Code in platform-independent Binary. It was never so easy to proof that you are a real geek.

This programming language is made for people, who..

  • ..always wanted to code in Binary.
  • ..love real challenges.
  • ..want to bring their programming skills to the next level.
  • ..want to run binary-programs on any machine.

Example

You will find some example files here. Simple hello-world program:

0000000000000000011010010110110101110000011011110111001001110100
000000000000000001110011011110010111001101110100011001010110110100000000000000000000000000000000000000000000000000000000000000000110011001110101011011100110001101110100011010010110111101101110
0000000000000000000000000000000001001101011000010110100101101110
0000000000000000000000000000000000000000000000000000000000101000
0000000000000000000000000000000000000000000000000000000000101001
000000000000000000000000000000000000000000000000000000000111101100000000000000000000000000000000000000000000000000000000010100000111001001101001011011100111010001001100011010010110111001100101
0000000000000000000000000000000000000000000000000000000000101000
0000000000000000000000000000000000000000000000000000000000100010000000000000000000000000000000000000000001001000011001010110110001101100011011110010000001010111011011110111001001101100011001000000000000000000000000000000000000000000000000000000000000100010
0000000000000000000000000000000000000000000000000000000000101001
00000000000000000000000000000000000000000000000000000000000000000101001001100101011000010110010001001100011010010110111001100101
0000000000000000000000000000000000000000000000000000000000101000
0000000000000000000000000000000000000000000000000000000000101001
0000000000000000000000000000000000000000000000000000000001111101

Of course you can remove all tabs and newlines. Removing spaces is only supported in some cases as I didn't want to introduce too much delimiters (e.g. 8 zeros).


Libraries

This is an exhaustive list of all implemented AlmostBinary libraries:

Identifier/Name (x64): 0000000000000000011100110111100101110011011101000110010101101101

Description: Default functions, e.g. PrintLine, InputString, ...

Identifier/Name (x64): 00000000000000000000000000000000000000000000000001100010011011000110111101100011011010110110001101101000011000010110100101101110

Description: Create simple proof-of-work blockchains, create transactions, validate the blockchain and mine abin-Coins.

Identifier/Name (x64): 0000000001110001011101010110000101101110011101000111010101101101

Description: Utilize a small part of the Q# simulator api. E.g. create true random number.


Why I made this

Esoteric languages like WhiteSpace, Brainfuck or Arnold-C have inspired me to write my own compiler & runtime. In the very beginnings of my programming-journey, I thought that programmers and hackers code today's applications in Binary. As most, even non-tech people, know today, this is not the case. The closest you can get is actually coding Assembly or if you know Assembly really well, even real machine code. Nevertheless, coding in real binary is incredible difficult and runs only on a set of processors. Thus, you will have to adapt your binary code to the target machine.

This project should make it possible to write platform-independent binary. Of course, you are not coding in real binary, like you would if you go the assembly way. Thus, some "binary" code written will be compiled to normal strings and other binary-strings will be interpreted at runtime.

TO-DOs

Contribution Open Source Love svg2 PRs Welcome

This project is licensed under GNU V3, so contributions/pull-requests are welcome. All contributors get listed here.

Contributors saythanks

  • Kevin Riedl (WSDT)

Additional notes

Almost Binary is supposed to be an esoteric programming language and is surely not suitable for real-world programs.

More resources

Template

This project was inspried by Klip.