Parsing and Rendering C

This article covers my experience writing aven-cfmt , a zero-dependency C parser and renderer. Table of contents Motivation C is hard Coding style Tokenization Parsing Preprocessor Rendering Fuzzing Motivation When it comes to C source code formatting, there are three big tools available: clang-format , astyle , and indent . Unfortunately for me, all three are designed with a few standard project…