All Projects → travisdoor → bl

travisdoor / bl

Licence: MIT License
Simple imperative programming language created for fun.

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
CMake
9771 projects
emacs lisp
2029 projects
Vim Script
2826 projects
shell
77523 projects

Projects that are alternatives of or similar to bl

llvm-hs-typed
Type Safe LLVM IR ( Experimental )
Stars: ✭ 47 (-17.54%)
Mutual labels:  llvm, llvm-ir
LLAST
A high level LLVM IR AST provider for GraphEngine JIT.
Stars: ✭ 21 (-63.16%)
Mutual labels:  llvm, llvm-ir
Mcsema
Framework for lifting x86, amd64, aarch64, sparc32, and sparc64 program binaries to LLVM bitcode
Stars: ✭ 2,198 (+3756.14%)
Mutual labels:  llvm, llvm-ir
doc
Design documents related to the decompilation pipeline.
Stars: ✭ 23 (-59.65%)
Mutual labels:  llvm, llvm-ir
TinyCompiler
c compiler based on flex(lex), bison(yacc) and LLVM, supports LLVM IR and obj code generation. 基于flex,bison以及LLVM,使用c++11实现的类C语法编译器, 支持生成中间代码及可执行文件.
Stars: ✭ 162 (+184.21%)
Mutual labels:  llvm, llvm-ir
llvm-brainfuck
Brainfuck compiler based on LLVM API
Stars: ✭ 27 (-52.63%)
Mutual labels:  llvm, llvm-ir
llvm-semantics
Formal semantics of LLVM IR in K
Stars: ✭ 42 (-26.32%)
Mutual labels:  llvm, llvm-ir
LLVM-Metadata-Visualizer
LLVM Metadata Visualizer
Stars: ✭ 20 (-64.91%)
Mutual labels:  llvm, llvm-ir
llvm-kaleidoscope
LLVM Tutorial: Kaleidoscope (Implementing a Language with LLVM)
Stars: ✭ 124 (+117.54%)
Mutual labels:  llvm, llvm-ir
raise-ergo
⌨️ Raise Ergo: an ergonomic keyboard layout for the Dygma Raise keyboard, geared towards programming & command line on macOS & Ubuntu.
Stars: ✭ 30 (-47.37%)
Mutual labels:  programming
progge.rs
Program analysis playground for a simple, imperative language
Stars: ✭ 29 (-49.12%)
Mutual labels:  llvm
dmr c
dmr_C is a C parser and JIT compiler with LLVM, Eclipse OMR and NanoJIT backends
Stars: ✭ 45 (-21.05%)
Mutual labels:  llvm
Book
Metaprogramming. Multi-paradigm approach in the Software Engineering.
Stars: ✭ 116 (+103.51%)
Mutual labels:  programming
cl-covid19
Explore COVID-19 data with Common Lisp, gnuplot, SQL and Grafana
Stars: ✭ 51 (-10.53%)
Mutual labels:  programming
Biblioteca
Colección de libros recomendados en formato PDF que he realizado para ti y así puedas mejorar tus habilidades como programador. Recuerda, siempre disfruta del aprendizaje.
Stars: ✭ 89 (+56.14%)
Mutual labels:  programming
libebpf
Experiemental userspace eBPF library
Stars: ✭ 14 (-75.44%)
Mutual labels:  llvm
python-exercises
Exercises for Python
Stars: ✭ 17 (-70.18%)
Mutual labels:  programming
Swiftz-Validation
A data structure for validations. It implements the applicative functor interface
Stars: ✭ 15 (-73.68%)
Mutual labels:  programming
intro-to-python
An Introduction to Programming in Python
Stars: ✭ 57 (+0%)
Mutual labels:  programming
awesome-devcontainers
A curated list of awesome tools and resources about dev containers for common programming languages and technology stacks to boost your developer productivity 🚀
Stars: ✭ 165 (+189.47%)
Mutual labels:  programming

About

Windows Linux macOS

Twitter URL

The Biscuit Language (BL) is simple imperative programming language using LLVM backend implemented in C. Language syntax and all it's features are still in development. Biscuit is designed to be simple, fast and explicit.

Project homepage: biscuitlang.org
Contact email: [email protected]

Features & descriptions

  • Simple small language.
  • ABI compatibility with C libraries.
  • Opensource.
  • Game development oriented.
  • Compilation to native binary.
  • Integrated interpreter.
  • Offer testing tools out of the box.
  • Rich type info in runtime.
  • Debuggable in gdb, lldb and Visual Studio.
  • Explicit function overload.
  • Integrated build system.
  • Integrated module import system.
  • Multiplatform (Windows, macOS, Linux)
  • Fast compilation.
  • Integrated tools for automatic documentation.

Installation

See installation guide here.

Example

HelloWorld :: struct {
    hello: s32;
    world: s32;
};

main :: fn () s32 {
    info :: cast(*TypeInfoStruct) typeinfo(HelloWorld);

    loop i := 0; i < info.members.len; i += 1 {
        print("% ", info.members[i].name);
    }
    print("!!!\n");
    
    return 0;
}

See more examples here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].