{"id":18871096,"url":"https://github.com/aceinetx/bat_c","last_synced_at":"2026-02-15T06:30:18.153Z","repository":{"id":254704593,"uuid":"847311153","full_name":"aceinetx/bat_c","owner":"aceinetx","description":"A High-level language for matt's redstone computer","archived":false,"fork":false,"pushed_at":"2024-09-02T18:10:17.000Z","size":57,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-31T00:12:28.761Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://aceinetserv.000webhostapp.com/batc/","language":"C++","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/aceinetx.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-25T13:14:59.000Z","updated_at":"2024-10-23T06:24:00.000Z","dependencies_parsed_at":"2024-11-08T05:36:39.987Z","dependency_job_id":null,"html_url":"https://github.com/aceinetx/bat_c","commit_stats":null,"previous_names":["aceinetx/bat_c"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aceinetx%2Fbat_c","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aceinetx%2Fbat_c/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aceinetx%2Fbat_c/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aceinetx%2Fbat_c/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aceinetx","download_url":"https://codeload.github.com/aceinetx/bat_c/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239818835,"owners_count":19702219,"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-11-08T05:24:20.025Z","updated_at":"2026-02-15T06:30:18.100Z","avatar_url":"https://github.com/aceinetx.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bat_c\nA High-level language for [matt's redstone computer](https://github.com/mattbatwings/BatPU-2) with C-Like syntax\n## Features implemented\n- Variables\n- Define\n- Functions\n- Compare expressions\n- If statements\n- Scopes\n## WIP Features\n- While loops\n- Else statements\n## Get started\nYour first option is to download the .exe from latest release and run it (under linux use wine), second option is to use bat c [online](https://aceinetserv.000webhostapp.com/batc/)\n## Known issues\n- You can call functions like this: ```func(``` and not like this: ```func();```\n- If you try to compile this under a linux machine, when ran you'll get segmentation fault (but I think you can run it under wine)\n- Expressions can only be 3-4 operators long (i'm lazy to implement more)\n## Example programs\nMath operations (Division is not currently supported)\n```\nmain {\n  x; y;\n\n  x = 20;\n  y = 5 * x;\n}\n```\nWhile loop\n```\nx;\nloop {\n  increment x;\n  loop();\n}\nmain {\n  loop();\n}\n```\nIf statements\n```\nmain {\n  x;\n  increment x;\n\n  cmpexpr x == 1;\n  if;\n    x = 69;\n  endif;\n}\n```\nReferences\u003cbr\u003e\nreferences are basically variables with the same variable mapping\n```\na; b;\n\nmain {\n\tb = ref a;\n\tincrement a;\n\tincrement b;\n}\n```\nFill screen\n```\nx; y;\n\nx_loop {\n\tincrement x;\n\tcmpexpr x \u003c 32;\n\tif;\n\t\tport pixel_x x;\n\t\tport pixel_y y;\n\n\t\tport draw_pixel;\n\n\t\tport buffer_screen;\n\n\t\tx_loop();\n\tendif;\n}\n\nloop {\n\tx = 255;\n\tincrement y;\n\tcmpexpr y \u003c 32;\n\tif;\n\t\tx_loop();\n\t\tloop();\n\tendif;\n}\n\nmain {\n\tport clear_screen_buffer;\n\n\tdecrement x;\n\tdecrement y;\n\n\tloop();\n}\n```\nInline assembly\n```\nmain {\n\tasm\nldi r5 42\nldi r6 69;\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faceinetx%2Fbat_c","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faceinetx%2Fbat_c","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faceinetx%2Fbat_c/lists"}