X-Git-Url: https://git.draconx.ca/gitweb/homepage.git/blobdiff_plain/99117e1f57f516550e05b653514d5cfe46688cab..6701f1af54131b693124f759e2d0fa07880c0e93:/content/projects/cdecl99.md diff --git a/content/projects/cdecl99.md b/content/projects/cdecl99.md index b6438ed..b515f2c 100644 --- a/content/projects/cdecl99.md +++ b/content/projects/cdecl99.md @@ -1,55 +1,8 @@ --- title: Cdecl99 -copyright: 2019 Nick Bowler +copyright: 2021 Nick Bowler license: gpl-3 or (at your option) any later version +module: cdecl99 --- -Cdecl99 is a tool to help construct or understand complicated C declarations. -Inspired by the venerable cdecl, which predates C's standardization in 1989, -cdecl99 implements more or less the same concept but for modern C. - -Unlike the original cdecl, cdecl99 supports all relevant C99 keywords, has no -undue restrictions on identifiers, understands features such as complex types, -variadic functions and named parameters, and also has the ability to parse -"plain" type names (which do not declare an identifier). - -At this time there is no support for new declaration syntax introduced in C11, -including atomic types, `_Alignas`, `_Thread_local` or `_Noreturn` specifers. - -The package includes both an executable program (cdecl99) and a library -(libcdecl) which can be used by other programs to provide cdecl-like -functionality. - -# Obtaining cdecl99 - -[cdecl99-gitweb]: //git.draconx.ca/gitweb/cdecl99.git - -There are presently no released versions of cdecl99. The development sources -[may be browsed online][cdecl99-gitweb] or cloned directly using git, e.g., - -git clone https://git.draconx.ca/cdecl99.git - -# Dependencies - -[readline-homepage]: https://www.gnu.org/software/readline/ -[gettext-homepage]: https://www.gnu.org/software/gettext/ - -Cdecl99 is written in C, so a working C compiler is required. All external -library dependencies are optional and provide additional functionality. - -The [GNU readline library][readline-homepage] is used to provide interactive -line-editing and history functionality. - -The [GNU libintl library][gettext-homepage] (included with the GNU C library) -is used to support localized program messages. However, the core functionality -of translating C declarations into pseudo-English is not localizable since the -output is intended to be machine-readable. - -Building from the development sources may require additional build tools. - -# License - -Cdecl99 is free software: you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free Software -Foundation, either version 3 of the License or (at your option) any later -version. +<%= project_readme %>