{"id":13780943,"url":"https://github.com/oguzbakir/brainfuck-interpreter","last_synced_at":"2025-05-11T14:34:19.660Z","repository":{"id":76721971,"uuid":"132251462","full_name":"oguzbakir/brainfuck-interpreter","owner":"oguzbakir","description":"Little brainfuck interpreter with some typo checks. Written in C","archived":false,"fork":false,"pushed_at":"2018-05-19T09:43:47.000Z","size":17,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-11-17T16:41:59.084Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"wtfpl","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oguzbakir.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}},"created_at":"2018-05-05T13:42:19.000Z","updated_at":"2023-08-15T10:53:30.000Z","dependencies_parsed_at":"2023-02-27T12:30:51.843Z","dependency_job_id":null,"html_url":"https://github.com/oguzbakir/brainfuck-interpreter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oguzbakir%2Fbrainfuck-interpreter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oguzbakir%2Fbrainfuck-interpreter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oguzbakir%2Fbrainfuck-interpreter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oguzbakir%2Fbrainfuck-interpreter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oguzbakir","download_url":"https://codeload.github.com/oguzbakir/brainfuck-interpreter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253580225,"owners_count":21930905,"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":[],"created_at":"2024-08-03T18:01:21.358Z","updated_at":"2025-05-11T14:34:19.335Z","avatar_url":"https://github.com/oguzbakir.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# Brainfuck-Interpreter\n## Prerequisites\n* gcc\n* brain\n## How to use\nFirst of all compile core:\n```\ngcc core.c -o core\n```\nThen give input file name as argument:\n```\n./core cool_brainfuck_filename\n```\n## The Language\nA Brainfuck program has an implicit byte pointer, called \"the pointer\", which is free to move around within an array initially all set to zero. The pointer itself is initialized to point to the beginning of this array.\n\nThe Brainfuck programming language consists of eight commands, each of which is represented as a single character.\n\n\n\"\u003e\" \tIncrement the pointer.  \n\"\u003c\" \tDecrement the pointer.  \n\"+\" \tIncrement the byte at the pointer.  \n\"-\" \tDecrement the byte at the pointer.  \n\".\" \tOutput the byte at the pointer.  \n\",\" \tInput a byte and store it in the byte at the pointer.  \n\"[\" \tJump forward past the matching ] if the byte at the pointer is zero.  \n\"]\" \tJump backward to the matching [ unless the byte at the pointer is zero.  \n\nThe semantics of the Brainfuck commands can also be succinctly expressed in terms of C, as follows (assuming that p has been previously defined as a char*):  \n\n\n\"\u003e\" \tbecomes \t++p;  \n\"\u003c\" \tbecomes \t--p;  \n\"+\" \tbecomes \t++*p;  \n\"-\" \tbecomes \t--*p;  \n\".\"\t\tbecomes \tputchar(*p);  \n\",\" \tbecomes \t*p = getchar();  \n\"[\" \tbecomes \twhile (*p) {  \n\"]\"\t\tbecomes \t}  \n\n[Source](http://www.muppetlabs.com/~breadbox/bf/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foguzbakir%2Fbrainfuck-interpreter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foguzbakir%2Fbrainfuck-interpreter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foguzbakir%2Fbrainfuck-interpreter/lists"}