{"id":24313587,"url":"https://github.com/akiko97/brainfuck","last_synced_at":"2025-04-12T12:51:44.279Z","repository":{"id":270679989,"uuid":"906962050","full_name":"Akiko97/brainfuck","owner":"Akiko97","description":"A simple brainfuck interpreter","archived":false,"fork":false,"pushed_at":"2025-01-03T16:08:09.000Z","size":25,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-26T07:36:26.693Z","etag":null,"topics":["brainfuck","brainfuck-interpreter","brainfuck-jit","cranelift","cranelift-jit","inkwell","jit","llvm","llvm-ir","llvm-jit","peg","rust","rust-lang"],"latest_commit_sha":null,"homepage":"https://github.com/Akiko97/brainfuck","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Akiko97.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-22T12:36:31.000Z","updated_at":"2025-01-09T06:28:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"497263b5-4581-475e-949c-f7dd510a378e","html_url":"https://github.com/Akiko97/brainfuck","commit_stats":null,"previous_names":["akiko97/brainfuck"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akiko97%2Fbrainfuck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akiko97%2Fbrainfuck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akiko97%2Fbrainfuck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akiko97%2Fbrainfuck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Akiko97","download_url":"https://codeload.github.com/Akiko97/brainfuck/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248571456,"owners_count":21126518,"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","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-interpreter","brainfuck-jit","cranelift","cranelift-jit","inkwell","jit","llvm","llvm-ir","llvm-jit","peg","rust","rust-lang"],"created_at":"2025-01-17T09:12:28.885Z","updated_at":"2025-04-12T12:51:44.273Z","avatar_url":"https://github.com/Akiko97.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# brainfuck\n\nA simple brainfuck interpreter, with JIT support.\n\n## Prerequisites\n\n### macOS\nYou need to install `llvm@18` and `zstd` using Homebrew:\n```shell\nbrew install llvm@18 zstd\n```\n\n### Linux\nYou need to install `llvm-18-dev` and `libpolly-18-dev`:\n```shell\nsudo apt install llvm-18-dev libpolly-18-dev\n```\n\n## Build\n\n```shell\ncargo build --release\n```\n\n## Run\n\n```shell\n./target/release/bf \u003cpath-to-bf-file\u003e\n```\n\nOr run with cranelift-jit/llvm-jit:\n\n```shell\n./target/release/bf \u003cpath-to-bf-file\u003e jit --method [cranelift | llvm]\n```\n\nIf you want to dump the ir:\n\n```shell\n./target/release/bf \u003cpath-to-bf-file\u003e jit --method [cranelift | llvm] --dump-ir\n```\n\n## FAQ\n\n### Build with LLVM Support\n\nIf you encounter issues about missing `LLVM_SYS_xxx_PREFIX`, you can build with the following command:\n\n#### macOS\n```shell\nLLVM_SYS_180_PREFIX=\"/opt/homebrew/opt/llvm@18\" cargo build --release\n```\n\n#### Ubuntu\n```shell\nLLVM_SYS_180_PREFIX=\"/usr/lib/llvm-18\" cargo build --release\n```\n\n### Customizing LLVM Environment Variables\n\nIf you need to modify LLVM-related environment variables, refer to `.cargo/config.toml`.\n\n## LICENSE\n\nThis project is licensed under [the MIT License](./LICENSE).\n\n## Acknowledgements\n\n* [bf-jit](https://github.com/QRWells/bf-jit)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakiko97%2Fbrainfuck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakiko97%2Fbrainfuck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakiko97%2Fbrainfuck/lists"}