cdecl
brew install cdecl
v18.7.2
GPL-3.0-or-later AND LGPL-2.1-or-later AND LicenseRef-Homebrew-public-domain
Turn English phrases to C or C++ declarations
3
30-day installs · #12545
25
90-day · #9164
277
365-day · #6520
348
★ GitHub stars · updated 2mo ago
GitHub topics
c
cdecl
cplusplus
developer-tools
Links
- https://github.com/paul-j-lucas/cdecl
- GitHub: paul-j-lucas/cdecl
- Brew formula source: Formula/c/cdecl.rb
Raw metadata
{
"aliases": [],
"alternatives": [],
"build_dependencies": [],
"categories": [],
"caveats": null,
"conflicts_with": [],
"dependencies": [],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Turn English phrases to C or C++ declarations",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:36:13+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "cdecl",
"github_default_branch": "master",
"github_last_commit_at": "2026-06-20T14:23:30Z",
"github_readme_excerpt": "# cdecl\n\n## Introduction\n\n\u003e *I\u2019m still uncertain about the language declaration syntax, where in\n\u003e declarations, syntax is used that mimics the use of the variables being\n\u003e declared. It is one of the things that draws strong criticism, but it has a\n\u003e certain logic to it.*\n\n\u003cdiv style=\"text-align: center\"\u003e\n\u0026mdash; Dennis M. Ritchie, Creator of C\n\u003c/div\u003e\n\u003cp\u003e\u003c/p\u003e\n\n\u003e *I consider the C declarator syntax an experiment that failed.*\n\n\u003cdiv style=\"text-align: center\"\u003e\n\u0026mdash; Bjarne Stroustrup, Creator of C++\n\u003c/div\u003e\n\u003cp\u003e\u003c/p\u003e\n\n**cdecl** (_see-deh-kull_)\nis a program\nprimarily\nfor composing\nand deciphering\nC (or C++) declarations\nor casts,\naka \u2018\u2018gibberish.\u2019\u2019\nIt can be used interactively on a terminal\nor accept input\nfrom either the command line\nor standard input.\nFor example:\n\n```\ncdecl\u003e explain int *const (*p)[4]\ndeclare p as pointer to array 4 of constant pointer to integer\n\ncdecl\u003e declare p as pointer to const pointer to const char\nconst char *const *p;\n```\n\nAdditionally,\n**cdecl**\nis also for\ndeveloping\nand\ndebugging\nC preprocessor macros\nby performing expansion step-by-step.\nFor example:\n\n```\ncdecl\u003e #define NAME2_HELPER(A,B) A ## B\ncdecl\u003e #define NAME2(A,B) NAME2_HELPER(A,B)\ncdecl\u003e expand NAME2(var_, __LINE__)\nNAME2(var_, __LINE__) =\u003e NAME2_HELPER(A,B)\n| A =\u003e var_\n| B =\u003e __LINE__\n| | __LINE__ =\u003e 42\n| B =\u003e 42\nNAME2(var_, 42) =\u003e NAME2_HELPER(var_,42)\n| NAME2_HELPER(var_, 42) =\u003e A ## B\n| NAME2_HELPER(var_, 42) =\u003e var_ ## 42\n| NAME2_HELPER(var_, 42) =\u003e var_42\nNAME2(var_, 42) =\u003e var_42\n```\n\nThis codebase fixes virtually all the deficiencies in earlier versions\nas well as adds many new features,\nmost notably:\n\n* Using GNU [Autotools](https://en.wikipedia.org/wiki/GNU_Autotools)\n for building.\n* Command-line long-options.\n* Distinguishes among\n K\u0026R C,\n C89,\n C95,\n C99,\n C11,\n C17,\n C23,\n C++98,\n C++03,\n C++11,\n C++14,\n C++17,\n C++20,\n C++23,\n and\n C++26.\n* Support for C89\n `const`,\n `restrict`,\n and\n `volatile`\n qualifiers.\n* Support f",
"github_repo": "paul-j-lucas/cdecl",
"github_stars": 348,
"github_topics": [
"c",
"cdecl",
"cplusplus",
"developer-tools"
],
"homepage": "https://github.com/paul-j-lucas/cdecl",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 3,
"installs_365d": 277,
"installs_90d": 25,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "GPL-3.0-or-later AND LGPL-2.1-or-later AND LicenseRef-Homebrew-public-domain",
"llm_generated_at": null,
"llm_model": null,
"name": "cdecl",
"oldnames": [],
"one_liner": null,
"optional_dependencies": [],
"rank_30d": 12545,
"rank_365d": 6520,
"rank_90d": 9164,
"raw_hash": "7a082bedee0e3ad1",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/c/cdecl.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [
{
"bison": "build"
},
{
"flex": "build"
},
"ncurses"
],
"version_head": null,
"version_stable": "18.7.2",
"versioned_formulae": [],
"why_use_this": null
}