{"id":13836041,"url":"https://github.com/libfirm/cparser","last_synced_at":"2025-04-05T18:11:48.175Z","repository":{"id":551923,"uuid":"182350","full_name":"libfirm/cparser","owner":"libfirm","description":"C99 parser and frontend for libfirm","archived":false,"fork":false,"pushed_at":"2023-11-03T23:52:37.000Z","size":9478,"stargazers_count":316,"open_issues_count":38,"forks_count":39,"subscribers_count":18,"default_branch":"master","last_synced_at":"2024-03-25T22:14:44.526Z","etag":null,"topics":["c","c99","compiler","libfirm","preprocessor"],"latest_commit_sha":null,"homepage":"http://pp.ipd.kit.edu/firm","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/libfirm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"support/check_options.py","governance":null,"roadmap":null,"authors":null}},"created_at":"2009-04-22T02:47:13.000Z","updated_at":"2024-03-14T00:51:43.000Z","dependencies_parsed_at":"2024-01-13T16:44:21.377Z","dependency_job_id":null,"html_url":"https://github.com/libfirm/cparser","commit_stats":{"total_commits":3942,"total_committers":32,"mean_commits":123.1875,"dds":0.5806697108066972,"last_synced_commit":"8ec1a761bf62be1028632e5eceda425d9fbeb039"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libfirm%2Fcparser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libfirm%2Fcparser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libfirm%2Fcparser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libfirm%2Fcparser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/libfirm","download_url":"https://codeload.github.com/libfirm/cparser/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247378152,"owners_count":20929297,"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","c99","compiler","libfirm","preprocessor"],"created_at":"2024-08-04T15:00:33.760Z","updated_at":"2025-04-05T18:11:48.133Z","avatar_url":"https://github.com/libfirm.png","language":"C","readme":"cparser - A C99 parser (with GNU extensions)\n============================================\n\nIntroduction\n------------\n\ncparser is a recursive descent C99 parser written in C99.  It contains a\npreprocessor, lexer, parser, constructs an AST and does semantic analysis.  It\nacts as a frontend to the libFirm intermediate representation library.  This\nway optimization and code generation is performed. The compiler supports cross\ncompilation to multiple target architectures with a command-line switch.  It\ncomes with driver logic for calling assemblers and linkers as well as parsing\ncommand-line options.  This allows it to be a drop-in replacement for gcc or\nclang in many situations.\n\nBuilding and Installation\n-------------------------\n\nRequirements:\n\n* A C99 compiler (gcc and icc are known to work).\n* libFirm-1.22\n\n### Building with make\n\nUnpack libfirm in a directory called libfirm in the source directory\nalternatively you may setup an alternate location with a 'config.mak' file.\nJust type 'make' in the source directory. The results are put into a directory\ncalled \"build\". You can override the existing preprocessor, compiler and linker\nflags and built-in paths for include directories by creating a 'config.mak'\nfile.\n\n### Building with cmake\n\ncparser has an additional cmake build system. CMake is a complexer build system\nthan the make based build and most cparser developers do not use it.  However\nit can adapt the compiler and linker flags to build shared libraries for a\nwider range of systems, provides an installation target and is often more\nfamiliar for people preparing packages for distribution.\n\n### Notes for a cparser installation\n\nWhile cparser often runs fine from the source/build directory, a proper\ninstallation should be configured with correct system paths. For this a\n`config.mak` file should be created and the following variables set apropriately\nfor the system: `PREFIX`, `SYSTEM_INCLUDE_DIR`, `LOCAL_INCLUDE_DIR`,\n`COMPILER_INCLUDE_DIR`, `MULTILIB_M32_TRIPLE`, `MULTILIB_M64_TRIPLE`,\n`variant=optimize`.\nThe variable may be defined empty; See `config.default.mak` and `Makefile` for\ndetails.\n\nFurther Information and Contact\n-------------------------------\n\nOfficial website: http://libfirm.org/\n\nContact E-Mail: firm@ipd.info.uni-karlsruhe.de\n\nMailing list: https://lists.ira.uni-karlsruhe.de/mailman/listinfo/firm\n\nBugtracker: http://pp.ipd.kit.edu/~firm/bugs\n\nInternet relay chat: irc://chat.freenode.net/#firm\n","funding_links":[],"categories":["C"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibfirm%2Fcparser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flibfirm%2Fcparser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibfirm%2Fcparser/lists"}