All Projects → onchere → Whack

onchere / Whack

Licence: apache-2.0
The Whack Programming Language

Labels

Projects that are alternatives of or similar to Whack

Kylin Llvm Obfuscator
based on llvm 5.0.1 release with ollvm
Stars: ✭ 37 (-39.34%)
Mutual labels:  llvm
Stoat
STatic (LLVM) Object file Analysis Tool
Stars: ✭ 44 (-27.87%)
Mutual labels:  llvm
Llvm Hs Examples
Examples for Haskell bindings to LLVM
Stars: ✭ 51 (-16.39%)
Mutual labels:  llvm
Llvm To Snes
LLVM IR → WLA DX (ASM 65c816) → SNES Rom
Stars: ✭ 39 (-36.07%)
Mutual labels:  llvm
Processwarp
Stars: ✭ 43 (-29.51%)
Mutual labels:  llvm
Leekscript V2
A dynamically typed, compiled just-in-time programming language used in Leek Wars' AIs
Stars: ✭ 46 (-24.59%)
Mutual labels:  llvm
Llvm Cheatsheet
LLVM, clang, ninja, dyld and others.
Stars: ✭ 36 (-40.98%)
Mutual labels:  llvm
Cxxctp
DEPRECATED. USE INSTEAD github.com/blockspacer/flextool
Stars: ✭ 58 (-4.92%)
Mutual labels:  llvm
Llvm2graphml
Explore LLVM Bitcode interactively using a graph database
Stars: ✭ 44 (-27.87%)
Mutual labels:  llvm
Llvm D
D bindings for LLVM
Stars: ✭ 50 (-18.03%)
Mutual labels:  llvm
Researchnote
通过issue和README来记录日常学习研究笔记 关注 机器学习系统,深度学习, LLVM,性能剖视, Linux操作系统内核 话题 关注 C/C++. JAVA. Python. Golang. Chisel. 编程语言话题 ( Writing Blogs using github issue and markdown! (inculding Machine Learning algs and system, LLVM, Linux kernel, java, python, c++, golang)
Stars: ✭ 41 (-32.79%)
Mutual labels:  llvm
Domtresat
Dominator Tree LLVM Pass to Test Satisfiability
Stars: ✭ 42 (-31.15%)
Mutual labels:  llvm
Llvm Demo
A simple example of how LLVM can be used to gather static or dynamic facts about a program.
Stars: ✭ 48 (-21.31%)
Mutual labels:  llvm
Llvm Tutorial Standalone
DEPRECATED (Use: https://github.com/llvm-hs/llvm-hs-kaleidoscope )
Stars: ✭ 38 (-37.7%)
Mutual labels:  llvm
C2goasm
C to Go Assembly
Stars: ✭ 1,072 (+1657.38%)
Mutual labels:  llvm
Coat
EDSL for C++ to make just-in-time code generation easier
Stars: ✭ 37 (-39.34%)
Mutual labels:  llvm
Rellume
Lift x86-64 to performant LLVM IR
Stars: ✭ 45 (-26.23%)
Mutual labels:  llvm
Zapcc
zapcc is a caching C++ compiler based on clang, designed to perform faster compilations
Stars: ✭ 1,109 (+1718.03%)
Mutual labels:  llvm
Llvm 9.0 Learner Tutorial
A blog for LLVM(v9.0.0 or v11.0.0) beginner, step by step, with detailed documents and comments. Record the way I learn LLVM and accomplish a complete project for FPGA High-Level Synthesis with it.
Stars: ✭ 58 (-4.92%)
Mutual labels:  llvm
Replace function name
LLVM IR编译时替换函数名
Stars: ✭ 50 (-18.03%)
Mutual labels:  llvm

whack

  • A simply-designed compiled programming language.
  • Can call C functions without ceremony.
  • Suitable for learning some compiler construction basics.
  • Also suitable as a base for further development.
  • Also suitable for use as-is.
  • Whack currently lacks a comprehensively designed type system.
  • important Progressively designed/implemented. Some constructs may seem whack.
  • No tests (pull requests welcome (follow clang's test style)).
  • Currently supporting Windows (I'm on Windows).
  • To view current progress, run whack.exe in snapshot folder.
  • We're developing executable semantics for the language concurrently, which can be found here.

Progress

Pre-Alpha. This repository is a dump of what is currently on my Sublime Text.

Non-Goals

  • Industrial-strength compiler for our Stage 1/Stage 2 compiler.

TODO

  • [ ] Stage 1 compiler: Compile whack code using using C++ code): (Current progress).
  • [ ] Use executable semantics to prove its consistency & completeness
  • [ ] Stage 2 compiler: Use our Stage 1 compiler to compile the Whack compiler in whack.
  • [ ] Stage 3 compiler: Use our Stage 2 compiler to make a self-hosted Whack compiler.
  • [ ] Standard Library & Proper documentation and tutorials.

Requirements

Development

  • Facebook.Folly (Release folly-2019.03.04.00).
  • spdlog (Release spdlog-1.1.0).
  • LLVM (Release 6.0.1).
  • Running requirements.

Running

  • gcc must be available on your PATH (MinGW GCC is available at Nuwen.net).
  • LLVM DLL (To be provided in snapshot folder - extract LLVM.dll.rar).
  • Command: whack -g whack.grammar main.w
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].