CppCon 2018 has ended
Back To Schedule
Wednesday, September 26 • 16:45 - 17:45
Parsing C++

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

C++ is a notoriously hard language to parse. Its grammar is highly context-dependent and ambiguous, and cannot be parsed without semantic analysis and arbitrarily long lookahead. Not only programmers, but also compilers (and their authors) often struggle with interpreting certain C++ constructs correctly.

This talk sheds some light on the grammar of C++ and why parsing it is hard. We will discuss which of these problems are inherited from C, and which arise due to features unique to C++. We will also look at a reasonably easy-to-parse subset of C++ (and whether it ever occurs in real life). Most importantly, we will talk about why all this matters for the practical C++ developer, and not just for compiler writers. And of course, we will also show plenty of surprising, brain-twisting code snippets.

This talk is aimed at general C++ programmers and does not require any expert knowledge about parsing and semantic analysis.

avatar for Timur Doumler

Timur Doumler

Developer Advocate, JetBrains
Timur Doumler is C++ Developer Advocate at JetBrains and an active member of the ISO C++ standard committee. As a developer, he worked many years in the audio and music technology industry and co-founded the music tech startup Cradle. Timur is passionate about building inclusive communities... Read More →
avatar for Dmitry Kozhevnikov

Dmitry Kozhevnikov

Team Lead in CLion, JetBrains
Dmitry works on C++ support in the CLion IDE by JetBrains, covering various aspects like the in-house C++ engine, inspections and refactoring engine, and clang integration.

Wednesday September 26, 2018 16:45 - 17:45 PDT
Copper Mountain Theater (2nd Floor)
  • Scripting and Parsing