Attending this event?
View analytic
Wednesday, September 26 • 16:45 - 17:45
Parsing C++

Sign up or log in to save this to your schedule and see who's attending!

C++ is a notoriously hard language to parse. Its grammar is highly context-dependent and ambiguous, and ambiguity resolution requires a lookahead of arbitrary length. How do C++ parsers actually deal with this?

This talk sheds some light on the grammar of C++ and the inner workings of a C++ parser. I will give insight into the tricks and heuristic guesses that parsers employ in order to resolve C++ code efficiently. We will also see code snippets with surprising, ambiguous C++ statements and brain teasers that even experts (and the major compilers) tend to struggle with.

The talk is aimed at general C++ programmers rather than parser experts.

avatar for Timur Doumler

Timur Doumler

Timur Doumler works at JetBrains, where he develops the C++ frontend for CLion, the cross-platform C++ IDE. In the past he has spent much time working in the audio tech industry and has written code for the JUCE framework. Timur is an active member of the ISO C++ committee and passionate... Read More →
avatar for Dmitry Kozhevnikov

Dmitry Kozhevnikov

Software Developer, 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

Attendees (37)