{"id":13611036,"url":"https://github.com/nim-lang/c2nim","last_synced_at":"2025-04-06T20:08:45.087Z","repository":{"id":42074830,"uuid":"21301395","full_name":"nim-lang/c2nim","owner":"nim-lang","description":"c2nim is a tool to translate Ansi C code to Nim. The output is human-readable Nim code that is meant to be tweaked by hand before and after the translation process.","archived":false,"fork":false,"pushed_at":"2023-11-07T11:18:37.000Z","size":459,"stargazers_count":512,"open_issues_count":44,"forks_count":62,"subscribers_count":30,"default_branch":"master","last_synced_at":"2025-03-30T19:05:01.577Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Nim","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/nim-lang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2014-06-28T11:29:53.000Z","updated_at":"2025-03-23T09:32:44.000Z","dependencies_parsed_at":"2023-11-07T12:24:07.425Z","dependency_job_id":"e9dd2de9-cb00-474e-be7c-e6736ab42f58","html_url":"https://github.com/nim-lang/c2nim","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nim-lang%2Fc2nim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nim-lang%2Fc2nim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nim-lang%2Fc2nim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nim-lang%2Fc2nim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nim-lang","download_url":"https://codeload.github.com/nim-lang/c2nim/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247543589,"owners_count":20955865,"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-01T19:01:51.129Z","updated_at":"2025-04-06T20:08:45.064Z","avatar_url":"https://github.com/nim-lang.png","language":"Nim","funding_links":[],"categories":["Nim","Development Tools"],"sub_categories":["Binding Generators"],"readme":"c2nim\n=====\n\nc2nim is a tool to translate ANSI C code to Nim. The output is human-readable\nNim code that is meant to be tweaked by hand after the translation process.\nc2nim is no real compiler!\n\nPlease see the manual [here](doc/c2nim.rst).\n\nInstalling\n----------\n\nRun `nimble install c2nim`.\n\nTranslating\n-----------\n\nc2nim is preliminary meant to translate C header files. Because of this, the\npreprocessor is part of the parser. For example:\n\n```C\n  #define abc 123\n  #define xyz 789\n```\n\nIs translated into:\n\n```Nim\n  const\n    abc* = 123\n    xyz* = 789\n```\n\nc2nim is meant to translate fragments of C/C++ code and thus does not follow\ninclude files. c2nim cannot parse all of ANSI C/C++ and many constructs cannot\nbe represented in Nim.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnim-lang%2Fc2nim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnim-lang%2Fc2nim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnim-lang%2Fc2nim/lists"}