~/talk

Highlighting C++ with C++ is… Hard

Talkat CppCon 2019 · 2019-09-15..09-20· [compilers-and-language-design]
links:none on file
slides:none on file

A static C++ highlighter is built with heavy template metaprogramming, a Boost.Spirit-like parser implemented in templates to emit color spans, and the project hits compiler limits: MSVC 2017 rejects declarations when symbol names inflate to ~4,500 characters (or ~218 in clang), top-level grammar name expands to ~2,000+ chars and can blow up to ~300,000 after instantiation, Itanium ABI produces shortest names, compile time for one file drops from ~1 minute to ~30s after hiding grammars in lambdas, and object size reaches 50 KB+ (65 KB MSVC, 90 KB GCC).

AI-written summary · about

~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.