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

Independent, Independent
Timur Doumler is the co-host of CppCast and an active member of the ISO C++ standard committee, where he is currently co-chair of SG21, the Contracts study group. Timur started his journey into C++ in computational astrophysics, where he was working on cosmological simulations. He... 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