{"id":20925794,"url":"https://github.com/udxs/bizcardbf","last_synced_at":"2026-05-20T11:37:54.901Z","repository":{"id":116759542,"uuid":"105687804","full_name":"UDXS/BizCardBF","owner":"UDXS","description":"Portable C interpreter for BF","archived":false,"fork":false,"pushed_at":"2017-10-25T18:46:21.000Z","size":36,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-19T18:14:19.341Z","etag":null,"topics":["brainfuck","brainfuck-interpreter","c","esolang","esoteric-interpreter","esoteric-language","esoteric-programming-language","gcc","interpreter","programming-language"],"latest_commit_sha":null,"homepage":"","language":"Brainfuck","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/UDXS.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":"2017-10-03T18:28:04.000Z","updated_at":"2023-12-02T17:51:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"35305d65-680e-4452-b1ed-e1f2866eddfa","html_url":"https://github.com/UDXS/BizCardBF","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UDXS%2FBizCardBF","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UDXS%2FBizCardBF/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UDXS%2FBizCardBF/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UDXS%2FBizCardBF/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UDXS","download_url":"https://codeload.github.com/UDXS/BizCardBF/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243318756,"owners_count":20272144,"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","c","esolang","esoteric-interpreter","esoteric-language","esoteric-programming-language","gcc","interpreter","programming-language"],"created_at":"2024-11-18T20:34:53.841Z","updated_at":"2025-12-28T11:51:48.256Z","avatar_url":"https://github.com/UDXS.png","language":"Brainfuck","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BizCardBF\nPortable C interpreter for Brainf*** for my business card \n\n## Features \n* Interpreter with all Brainf*** features\n* Loop depth of 256\n* about 65,536 cells (unsigned short)\n* max program/input size of about 65,536 characters\n* Cell width of 1 byte(char)\n* Error Reporting\n\n## Compilation/Minification\nYou may use any C compiler you want on any platform but the build script runs GCC\n\n**On Linux, you can easily compile and minify by running the following script:**\n\n    chmod 777 build.sh\n    ./build.sh\n\nThis build script will:\n* Download a C minifier from Github (https://github.com/Scylardor/cminify)\n* Minify bf.c, storing the output to bf.min.c\n* Remove the minifier afterwards\n* Compile bf.c with GCC with compiler optimizations, leaving you with the executable \"bf\"\nCompiler optimizations have been shown to reduce runtimes to about a third of what they were.\n\nThis was tested by running a brainf*** mandelbrot program by Erik Bosman and using the linux time command.\nIn the test, the program was first compiled without optimizations and took about 1m 32s seconds to run the program.\nThen it was compiled with the `-O3` argument in GCC, providing the highest level optimizations\npossible. This took about 35s to run, showing a massive speed increase.\n\n## Usage\n\n    ./bf \"program\" \"input\"\nFor example, here is a \"cat\" program that outputs the input:\n\n    ./bf \"+[,.]\" \"Hello World\"\nOn Windows, it would just be:\n\n    bf \"+[,.]\" \"Hello World\"\n### Advanced Bash Usage\nIf you would like to read the program or input from a file,\nuse this format:\n\n    \"$(cat program.bf)\"\nThis will place the file contents (from \"cat\") in place of one of the inputs.\n\nFor example, you could run:\n\n    ./bf \"$(cat program.bf)\" \"$(cat program.in)\"\n\nIf you would like to store the output as well, you can run it like this:\n\n    ./bf \"$(cat program.bf)\" \"$(cat program.in)\" \u003e program.out\n**Keep in mind: The first line will always be the credits and, if there is an error, it will be on the third line.**\n## Implementation Details\nCells:\n* 1 byte cell width\n* As many cells as the maximum size of the \"short\" type\n* Over/underflow on cell values/pointers\n\nInput/Output:\n* Output is printed to \"stdout\" with two lines of credits before it\n* Input can be as long as the max value of the \"short\" type\n\nLoops:\n* Stack depth of 255\n* Current stack position stored in char\n* Stores current stack depth and the next one to run. This is used to prevent execution of code witin untriggered loops\n\nProgram:\n* Used command arguments as input\n* First and second line are used for credits\n* Third line is where output starts/error is printed\n* Prints error if it is missing arguments\n* Prints error if loop brackets are unbalanced\n\n## Samples/Tests\nSamples and tests can be found in the `tests` folder.\nAll credit to their original authors.\n\nTo test execution speed, run the program with the `time` command.\n## License\nThis program is licensed under the MIT license. \n\nFor more information, open the [LICENSE](https://github.com/UDXS/BizCardBF/blob/master/LICENSE) file.\n## Credits\nMade By Davit Markarian (UDXS) @ udxs.me\n\nThanks to [rdebath](https://github.com/rdebath) for helping me find issues and [Scylardor]() for his c minifier - [cminify](https://github.com/Scylardor/cminify)\n\nAs well as the creators of the various test programs I used.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fudxs%2Fbizcardbf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fudxs%2Fbizcardbf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fudxs%2Fbizcardbf/lists"}