http://invisible-island.net/
Copyright © 1996-2019,2022 by Thomas E. Dickey
bcpp indents C/C++ source programs, replacing tabs with spaces or the reverse. Unlike indent, it does (by design) not attempt to wrap long statements.
bcpp was written by Steven De Toni. I've based this on version 1.8, December 1995.
I made several changes (not a rewrite, since there is much in the original design that I wish to keep). This version improves the parsing algorithm by marking the state of all characters, recognizes a wider range of indention structures, and implements a simple algorithm for indenting embedded SQL.
See the changelog for details: