{"id":24350795,"url":"https://github.com/maxencebonamy/brainfuck-interpreter","last_synced_at":"2026-06-04T17:31:06.328Z","repository":{"id":191814925,"uuid":"568453534","full_name":"maxencebonamy/Brainfuck-Interpreter","owner":"maxencebonamy","description":"Brainfuck is a programming language containing just 8 instructions, each a character. This software is an interpreter that lets you execute a program written in Brainfuck.","archived":false,"fork":false,"pushed_at":"2023-10-08T09:36:17.000Z","size":14,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-12T03:34:45.219Z","etag":null,"topics":["brainfuck","brainfuck-interpreter","cpp","interpreter","xmake"],"latest_commit_sha":null,"homepage":"","language":"C++","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/maxencebonamy.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":"2022-11-20T15:28:30.000Z","updated_at":"2024-07-03T09:46:00.000Z","dependencies_parsed_at":"2023-08-31T22:33:40.694Z","dependency_job_id":"ffa6bbc2-2062-464a-be26-18e4581b5219","html_url":"https://github.com/maxencebonamy/Brainfuck-Interpreter","commit_stats":null,"previous_names":["maxencebonamy/brainfuck-interpreter"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxencebonamy%2FBrainfuck-Interpreter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxencebonamy%2FBrainfuck-Interpreter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxencebonamy%2FBrainfuck-Interpreter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxencebonamy%2FBrainfuck-Interpreter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxencebonamy","download_url":"https://codeload.github.com/maxencebonamy/Brainfuck-Interpreter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243154358,"owners_count":20244925,"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","cpp","interpreter","xmake"],"created_at":"2025-01-18T14:05:32.023Z","updated_at":"2026-06-04T17:31:06.259Z","avatar_url":"https://github.com/maxencebonamy.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\t\u003cimg src=\"https://github.com/maxencebonamy/maxencebonamy/blob/main/assets/Brainfuck_Interpreter.png\" width=\"100%\" alt=\"Brainfuck Interpreter\"\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n\t\u003cimg src=\"https://github.com/maxencebonamy/maxencebonamy/blob/main/assets/1_Description.png\" width=\"100%\" alt=\"Description\"\u003e\n\u003c/p\u003e\n\nBrainfuck is a programming language containing just 8 instructions, each a character. This software is an interpreter that lets you execute a program written in Brainfuck.\n\nWe have an array of cells, each able to store 8 bits, i.e. an unsigned number between and including 255. Next, a pointer will point to a cell in the array (the first by default). This array will in fact represent memory throughout program execution.\n\nThe 8 instructions used are as follows:\n- **`\u003e`:** move pointer left\n- **`\u003c`:** shift pointer to the right\n- **`-`:** decrement pointer value\n- **`+`:** increment pointer value\n- **`.`:** display pointer value as character\n- **`,`:** user input of pointer value\n- **`[`:** start of an scope\n- **`]`:** end of an scope: return to the beginning if the pointed value is non-zero\n\n\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n\t\u003cimg src=\"https://github.com/maxencebonamy/maxencebonamy/blob/main/assets/2_Get_Started.png\" width=\"100%\" alt=\"Get Started\"\u003e\n\u003c/p\u003e\n\n### Launch the software:\n\n1. Click on the \u003ca href=\"https://github.com/maxencebonamy/Brainfuck-Interpreter/releases\" target=\"_blank\"\u003eReleases\u003c/a\u003e button on the right and select the **latest version**.\n2. Download the **.zip** archive and extract the files.\n3. Open a terminal from the folder **Brainfuck-Interpreter** and run the folowwing command:\n```\n./Brainfuck-Interpreter.exe examples/hello_world.bf\n```\n\n### Compile:\n\n\u003e [!NOTE]\n\u003e *Prerequisites:*\n\u003e - [x] *Git must be installed on your computer. If not, \u003ca href=\"https://git-scm.com/downloads\" target=\"_blank\"\u003eclick here.\u003c/a\u003e*\n\u003e - [x] *Xmake must be installed on your computer, if not, \u003ca href=\"https://xmake.io/#/getting_started?id=installation\" target=\"_blank\"\u003eclick here.\u003c/a\u003e*\n\u003cbr\u003e\n\n1. **Clone** the repository on your computer. To do this, open a terminal in the folder of your choice and run the following command:\n```\ngit clone https://github.com/maxencebonamy/Brainfuck-Interpreter\n```\n\n2. **Navigate** inside the folder you've just cloned with the following command:\n```\ncd Brainfuck-Interpreter\n```\n\n3. **Compile** the project with the following command:\n```\nxmake\n```\n\n4. **Run** the executable with this command:\n```\nxmake run main examples/hello_world.bf\n```\n\n\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n\t\u003cimg src=\"https://github.com/maxencebonamy/maxencebonamy/blob/main/assets/3_Features.png\" width=\"100%\" alt=\"Features\"\u003e\n\u003c/p\u003e\n\n### A few rules to follow when writing your program:\n- The format of a Brainfuck file is `.bf` (you can actually use any format you like).\n- You can write comments anywhere in the file, but be careful not to include any characters corresponding to instructions.\n- The program will start to be interpreted from the first `#` character. This means that you have a text zone before this character, where you can write whatever you like, even with characters corresponding to instructions.\n- There's already an example program `hello_world.bf` in the `examples` folder, which you can of course use as a basis for your own.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxencebonamy%2Fbrainfuck-interpreter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxencebonamy%2Fbrainfuck-interpreter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxencebonamy%2Fbrainfuck-interpreter/lists"}