Skip to content

Low-level language, tiny virtual machine, minimal runtime, intermediate representation, embeddable, easy for beginners. (Friendly Punched cards)

License

Notifications You must be signed in to change notification settings

kassane/3bc-lang

 
 

Repository files navigation

3BC Language

sponsors version license covarage

Low-level language, tiny virtual machine, intermediate representation, embeddable, easy for beginners. (Friendly Punched cards)

Documentation

Directory structure

If you are interested in exploring or contributing to the language, follow the monolithic organization.

bin/            output binaries (executable)
cmake/          automated build magic (cmake)
docs/           online documentation
  site/         official website made with jekyll (Ruby)
examples/       Syntax sampling codes (3bc, Arduino with C++)
programs/       Embbed programs sampling codes (C)
scripts/        Development and installation tools (Bash, Bat)
src/            library source code (C)
  alu/          Arithmetic logic unit (C)
  bus/          instruction set of vm cpu (C)
  cpu/          unit control and arithmetic of vm (C)
  driver/       guest drivers "hypervisor -> vm" (C) 
  ds/           data structures (C) 
  interpreter/  interpreter "bytecode/assembly" (C)
  legacy/       olddated codes (C)
  sys/          system drivers "host -> hypervisor" (C)
  types/        common types headers (C)
  util/         utility funcs (C)
tests/          automated tests
  e2e/          Integration tests (C++, Ruby)
  unit/         Unit tests (C)
  sizes/        type definitions (C)
utis/           utilitary tools (Ruby)
vendor/         thirdy party dependencies

How to build

Download interpreter source code and manually compile from scratch.

git clone https://github.com/RodrigoDornelles/3bc-lang
cmake .
make

How to install

Directly download interpreter as executable command for mac/linux/bsd.

sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/RodrigoDornelles/3bc-lang/master/scripts/install_vm.sh || curl -fsSL https://raw.githubusercontent.com/RodrigoDornelles/3bc-lang/master/scripts/install_vm.sh)"

3bc lang logo This project is licensed under GNU GPL 3.0 or higher, please read the LICENSE.txt file.

About

Low-level language, tiny virtual machine, minimal runtime, intermediate representation, embeddable, easy for beginners. (Friendly Punched cards)

Resources

License

Code of conduct

Stars

Watchers

Forks

Languages

  • C 77.7%
  • Ruby 20.2%
  • Makefile 1.2%
  • Other 0.9%