{"id":16334341,"url":"https://github.com/junaire/jcc","last_synced_at":"2025-04-10T11:35:17.488Z","repository":{"id":42627939,"uuid":"474512295","full_name":"junaire/jcc","owner":"junaire","description":"Jun's C compiler from scratch.","archived":false,"fork":false,"pushed_at":"2023-06-14T08:22:09.000Z","size":406,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T20:21:48.357Z","etag":null,"topics":["c","compiler","cpp"],"latest_commit_sha":null,"homepage":"","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/junaire.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":"2022-03-27T02:06:42.000Z","updated_at":"2023-07-16T02:23:34.000Z","dependencies_parsed_at":"2023-02-14T04:50:14.074Z","dependency_job_id":null,"html_url":"https://github.com/junaire/jcc","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/junaire%2Fjcc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junaire%2Fjcc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junaire%2Fjcc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junaire%2Fjcc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/junaire","download_url":"https://codeload.github.com/junaire/jcc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248208689,"owners_count":21065205,"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":["c","compiler","cpp"],"created_at":"2024-10-10T23:38:09.316Z","updated_at":"2025-04-10T11:35:12.464Z","avatar_url":"https://github.com/junaire.png","language":"C++","readme":"# JCC: Jun's C compiler from scractch\n```\n    ___  ________  ________     \n   |\\  \\|\\   ____\\|\\   ____\\    \n   \\ \\  \\ \\  \\___|\\ \\  \\___|    \n __ \\ \\  \\ \\  \\    \\ \\  \\       \n|\\  \\\\_\\  \\ \\  \\____\\ \\  \\____  \n\\ \\________\\ \\_______\\ \\_______\\\n \\|________|\\|_______|\\|_______|\n```\n**Please note this is just my little toy and could be abandoned any time**\n\n## Build instruction\n\n**Instructions below assume you use Ubtuntu22**\n\n### Prerequisites\n```bash\nsudo apt install cmake clang ninja-build -y\npip3 install --user conan\n```\n### Build\n```bash\nmkdir build \u0026\u0026 cd build\ncmake -DCMAKE_BUILD_TYPE=Debug            \\\n      -DCMAKE_C_COMPILER=clang            \\\n      -DCMAKE_CXX_COMPILER=clang++        \\\n      -DCMAKE_EXPORT_COMPILE_COMMANDS=YES \\\n      -DJCC_USE_ASAN=ON                   \\\n      -GNinja ../ \u0026\u0026 ninja\n```\n`-DJCC_USE_ASAN=ON` means enable the address sanitizer, which might be helpful to catch some memory bugs.\n### Run tests\n```bash\nninja test\n```\n\n### Usage\n\u003e Note JCC is still in the very early stage, so don't expected it can handle everything correctly :)\n\n- Dump the AST tree of the program.\n```bash\n./jcc test.c --ast-dump # Note you can only pass the flag in the end!\n```\n- Generate the assembly.\n```bash\n./jcc test.c # It will produce a.out\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunaire%2Fjcc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjunaire%2Fjcc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunaire%2Fjcc/lists"}