{"id":21591403,"url":"https://github.com/classpythonaddike/brainfcompiler","last_synced_at":"2025-03-18T10:16:21.862Z","repository":{"id":57573804,"uuid":"351438580","full_name":"classPythonAddike/brainfcompiler","owner":"classPythonAddike","description":"A BrainF Compiler written in Golang!","archived":false,"fork":false,"pushed_at":"2021-11-13T10:37:28.000Z","size":87,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-24T16:32:56.848Z","etag":null,"topics":["brainf-compiler","golang","mandelbrot"],"latest_commit_sha":null,"homepage":"","language":"Brainfuck","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/classPythonAddike.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-03-25T13:02:42.000Z","updated_at":"2024-08-15T02:43:37.000Z","dependencies_parsed_at":"2022-09-18T04:11:14.568Z","dependency_job_id":null,"html_url":"https://github.com/classPythonAddike/brainfcompiler","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/classPythonAddike%2Fbrainfcompiler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/classPythonAddike%2Fbrainfcompiler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/classPythonAddike%2Fbrainfcompiler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/classPythonAddike%2Fbrainfcompiler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/classPythonAddike","download_url":"https://codeload.github.com/classPythonAddike/brainfcompiler/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244198394,"owners_count":20414443,"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":["brainf-compiler","golang","mandelbrot"],"created_at":"2024-11-24T16:25:49.696Z","updated_at":"2025-03-18T10:16:21.828Z","avatar_url":"https://github.com/classPythonAddike.png","language":"Brainfuck","readme":"# BrainF Compiler\n\nThis is a BrainF Compiler written in Golang. It converts BrainF code to C code, and then finally machine language, thus generating an executable. My aim is for it to be the fastest BrainF executor I've written yet.\n\nAs of now, this compiler is able to draw a mandelbrot set in 11 seconds. take a look at [mandelbrot.bf](/mandelbrot.bf) for the program\n\n\n## Setup\n\n1. If you are on Windows, Linux or a Mac, you can go to the Releases tab to download the latest release.\n\n2. If you are on a different operating system, you will need to compile it on your machine. Create a file named `main.go` and paste the following code into it:\n\n```go\npackage main\n\nimport (\n  \"flag\"\n  bfcompiler \"github.com/classPythonAddike/brainfcompiler\"\n)\n\nfunc main() {\n\n  compiler := flag.String(\"compiler\", \"gcc\", \"Compiler to use at runtime\")\n  file := flag.String(\"filename\", \"\", \"BrainF file to compile\")\n  output := flag.String(\"out\", \"\", \"Output file\")\n\n  flag.Parse()\n\n  bfcompiler.Compile(*file, *compiler, *output)\n}\n```\n\n3. If you don't want to use the CLI, you can always invoke it from a script! You just need to download this package with `go get github.com/classPythonAddike/brainfcompiler` and then use the `Compile` function to compile a BrainF program.\n\n## Usage\n\nYou can invoke the script like this:\n```sh\n\u003e brainfcompiler.exe -filename=filename.bf -out=filename.exe [-compiler=\"g++\"]\n```\nWhere:\n1. `filename` is the brainf file you want to compile\n2. `out` is the output file you want. Remember, on Windows, it will need to have a suffix of `.exe`!\n3. `compiler` is the C compiler you want to use. This option is not compulsory. The compiler used by default is `gcc`. Supported compilers are `gcc` and `g++`\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclasspythonaddike%2Fbrainfcompiler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclasspythonaddike%2Fbrainfcompiler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclasspythonaddike%2Fbrainfcompiler/lists"}