- C 67.6%
- Yacc 9.3%
- Swift 6.9%
- Brainfuck 5.3%
- Makefile 4.2%
- Other 6.7%
| .github/workflows | test runnable | |
| examples | square root bug fix | |
| headers | square root bug fix | |
| HomebrewFormula | Homebrew tap installation, pt 4 | |
| src | readfilefast on header | |
| syntax-highlight-vscode | Block Comments | |
| test | fix test | |
| .gitignore | remove .exe and zips | |
| .linguist.yml | now it is black | |
| LICENSE | Initial commit | |
| Makefile | debug and lib configs | |
| problems.txt | missing entry that was resting in my computer | |
| README.md | Update README.md | |
| valgrindline.txt | merge local branch | |
Headache
Headache is a programming language that compiles to 8-Bit Brainfuck.
Documentation
For documentation, please visit Headache's wiki: https://github.com/LucasMW/Headache/wiki
Support Headache
Help Headache launch on Homebrew. This repository needs 50 stargazers to become a brew package.
Build
You may build the project by running make.
Install
Run make install and the include $HOME/.Headache/ in your PATH variable in order to enable hac and bfi in your shell.
Usage
Compiling headache (.ha) files
In order to compile headache (.ha) files to brainfuck, run:
./hac file.ha
It generates and executes a brainfuck file named a.bf.
Options
Lexical analyzer
To run a lexical analyzer, execute:
./hac -lex
Syntactical Analyzer
To run a syntactical analyzer, execute:
./hac -syntax
AST
To output the current program's AST, execute:
./hac -tree
Warning and errors checking
To check for errors and warnings without compiling, execute:
./hac -check
Tests
Execute make test to run the default tests.
Other test options
For testing only type checks, run:
make testchecks
For testing only the lexical scope, run:
make testlexical
For testing only the syntax scope, run:
make testsyntax
For testing only programs that are compiled and run successfully, run:
make testrunnable
Donation Addresses:
Support Headache with cryptocurrency:
BTC: 1NcdcAjkKj9ywiCfinwFi1W3QfsvFSFsAHDoge: D5wEBGcwLeBSQvwnBckco1EvQQcuXCBvRjLTC: Ldj6ax1CzdYFRbSiZjpCvcPoxQ2BvX42KbZEC: t1PsMPGuoZfD5YwAgmyd3j2cb8siysxR9fEDash: Xt7qYtLiLx6mHR1fUeQVYiHgEbX7YNugM2BCH: 1NCYSnFb44ybHtzwG51cUYWLa67PZdsREGXMR: 4CTKuktQ8eQFriMu3xDALEawuu9iWQhFYffgffqgC3RHCWgcLGTG9oyNWgvLiAoDPpYUvsJmRkTAudGSXNqnRFsuT9LNU3Up81F2x3fzkj