{"id":26604849,"url":"https://github.com/d3r1n/brainsuck","last_synced_at":"2025-08-10T15:22:51.979Z","repository":{"id":45944511,"uuid":"425055627","full_name":"d3r1n/brainsuck","owner":"d3r1n","description":"Programming Language Inspired by Brainfuck","archived":false,"fork":false,"pushed_at":"2022-09-07T20:30:24.000Z","size":2497,"stargazers_count":28,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-09T18:13:50.586Z","etag":null,"topics":["brainfuck","brainfuck-compiler","brainfuck-interpreter","compiler","interpreter","language","lexer","parser"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/d3r1n.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-11-05T19:00:13.000Z","updated_at":"2024-01-11T16:15:20.000Z","dependencies_parsed_at":"2023-01-17T23:15:17.697Z","dependency_job_id":null,"html_url":"https://github.com/d3r1n/brainsuck","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/d3r1n/brainsuck","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d3r1n%2Fbrainsuck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d3r1n%2Fbrainsuck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d3r1n%2Fbrainsuck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d3r1n%2Fbrainsuck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/d3r1n","download_url":"https://codeload.github.com/d3r1n/brainsuck/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d3r1n%2Fbrainsuck/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269740890,"owners_count":24467867,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["brainfuck","brainfuck-compiler","brainfuck-interpreter","compiler","interpreter","language","lexer","parser"],"created_at":"2025-03-23T20:17:19.099Z","updated_at":"2025-08-10T15:22:51.945Z","avatar_url":"https://github.com/d3r1n.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003ch1 align=center\u003eBrainsuck [WIP]\u003c/h1\u003e\n\n\u003cp align=center\u003eBrainfuck but not really... like, a better version of it.\u003c/p\u003e\n\n\u003cdiv align=center\u003e\n\t\u003cimg alt=\"GitHub all releases\" src=\"https://img.shields.io/github/downloads/d3r1n/brainsuck/total?color=%235caef2\u0026label=downloads\u0026logo=github\u0026style=for-the-badge\"\u003e\n\t\u003cimg alt=\"Status\" src=\"https://img.shields.io/badge/STATUS-WIP-brightgreen?style=for-the-badge\"\u003e\n\u003c/div\u003e\n\n\u003ch2\u003eInstall\u003c/h2\u003e\n\nPre-build binaries with examples can be found in [releases](https://github.com/d3r1n/brainsuck/releases/) \\\nTo use Brainsuck's Compiler you'll need to have Rust version 1.50 or higher versions installed.\n\n\u003ch2\u003eBuild\u003c/h2\u003e\n\nRequirements:\n\n- Rust version 1.50 or higher\n\n\u003ch3\u003eLinux\u003c/h3\u003e\n\n```bash\ncurl https://raw.githubusercontent.com/d3r1n/brainsuck/master/install.sh | bash\n```\n\n\u003ch3\u003eWindows\u003c/h3\u003e\n\n- Clone the repository and cd into it\n- run `cargo build --release`\n- generated binary will be in `target/release` (binary name: bs_bin)\n\n\u003ch2\u003eUsage:\u003c/h2\u003e\n\n\u003ch4\u003eHelp\u003c/h4\u003e\n\n```bash\n$ brainsuck [-h, --help]\n```\n\n\u003ch4\u003eInteractive Shell\u003c/h4\u003e\n\n```bash\n$ brainsuck\n$ brainsuck [-o, --optimize]\n```\n\n\u003ch4\u003eExecute\u003c/h4\u003e\n\n```bash\n$ brainsuck [OPTIONS] \u003cINPUT FILE\u003e\n```\n\n\u003ch4\u003eCompile\u003c/h4\u003e\n\n```bash\n$ brainsuck [-c, --compile] [OPTIONS] \u003cINPUT FILE\u003e\n```\n\u003e Automatic allocation is not supported in compilation right now.\n\n\u003ch4\u003eOptions\u003c/h4\u003e\n\n- **[-m, --mem-size]:** Sets the program's memory size. \t\t\t(default: 1024)\n- **[-p, --ptr-loc]:** Sets the program's memory pointer location. \t(default: 512)\n- **[-a, --auto]:** Automatically allocates memory for the program. (default: false)\n- **[-o, --optimize]:** Optimize the Parser and Interpreter \t\t(default: false)\n- **[-c, --compile]:** Compile the program to a binary \t\t\t\t(default: false)\n\n\u003ch2\u003eVersions History\u003c/h2\u003e\n\n- **v3.0** *[Next]*\n\t* Adding more functionality and more keywords (Main Feature)\n\t* Adding JiT compilation [LLVM] (Main Feature)\n\t* Adding LLVM compilation (Main Feature)\n\t* Adding support for debugging (Main Feature)\n\t* Adding support for making system calls (Main Feature)\n\t* Adding support for cross-platform compilation\n- **v2.75** *[Now]*\n\t* Adding a compiler based on Rust (Main Feature) `see Usage ^`\n\t* Minor bug fixes\n\t* Re-structed the code\n- **v2.5** *[Previous]*\n\t* Optimized the Parser and Interpreter (Main Feature)\n\t* Improved speed (3x-100x times faster optimized) (Main Feature)\n\t* Bug fixes\n- **v2.0**\n\t* Added **Interactive Shell** (Main Feature) `see Usage ^`\n\t* More bug fixes\n- **v1.5**\n\t* Automatic Memory Allocation (Main Feature)\n\t* New way of argument handling\n\t* Some bug fixes\n- **v1.0**\n\t* Initial Verison of Brainsuck\n\n\u003ch2\u003ePrograms:\u003c/h3\u003e\n\n\u003ch3\u003eHello, World!\u003c/h3\u003e\n\u003cimg src=\"./assets/hello_world.png\" alt=\"\"\u003e\n\n\u003ch3\u003eMandelbrot Set\u003c/h3\u003e\n\n\u003cdetails\u003e\n\n\u003csummary\u003eClick to expand\u003c/summary\u003e\n\u003cimg src=\"./assets/mandel_brot.png\"\u003e\n\n\u003c/details\u003e\n\n\u003ch2\u003eErrors\u003c/h2\u003e\n\n\u003ch3\u003eFile Not Found\u003c/h3\u003e\n\u003cimg src=\"./assets/file_not_found.png\" alt=\"\"\u003e\n\n\u003ch3\u003eSyntax Errors\u003c/h3\u003e\n\u003cimg src=\"./assets/syntax_error.png\" alt=\"\"\u003e\n\n\u003ch3\u003eMemory Overflow Errors\u003c/h3\u003e\n\u003cimg src=\"./assets/memory_overflow.png\" alt=\"\"\u003e\n\u003cimg src=\"./assets/neg_ptr.png\" alt=\"\"\u003e\n\n\u003ch2\u003eTODO:\u003c/h2\u003e\n\n- [X]   Add basic brainfuck commands.\n- [X]   Add automatic memory allocation.\n- [X]\tAdd repl\n- [X]   Add optimization\n- [X]   Add Rust based compiler\n- [ ]   Add LLVM based compiler\n- [ ]   Add LLVM based JiT compiler\n- [ ]   Add custom keywords\n- [ ]   Add support for debugging\n- [ ]   Add support for making system calls\n- [ ]   Add support for cross-platform compilation\n\n\n---\n\n\u003ch4\u003eMentions:\u003c/h4\u003e\n\n\u003e [SpongeBed81](https://github.com/SpongeBed81) with his language [Yearlight](https://github.com/SpongeBed81/yearlight)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd3r1n%2Fbrainsuck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fd3r1n%2Fbrainsuck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd3r1n%2Fbrainsuck/lists"}