Skip to content
0:00 / 0:00

#c++#parsing#ast

CppCon 2018: Timur Doumler & Dmitry Kozhevnikov “Parsing C++”

CppCon

189K subscribers • 123 videos on Hallway • Conference channel

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • Presented by Timur Doumler and Dmitry Kozhevnikov
  • Linked in the descriptionCppCon/CppCon2018

Advanced. Deep dive for people who know the field.

9.2K views8 years ago2 recommendations

Programming languagesSystems programmingC++Compilers and interpreters

Timur Doumler and Dmitry Kozhevnikov explain why C++ is notoriously difficult to parse, detailing its context-dependent grammar and ambiguities.

CppCon.org — Presentation Slides, PDFs, Source Code and other presenter materials are available at: github.com/CppCon/CppCon2018 — 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. — Timur Doumler, JetBrains 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 about clean code, good tools, and the evolution of the C++ language. He regularly speaks at conferences and enjoys C++ community work, currently serving as an organiser and program chair for the Audio Developer Conference and as moderator on includecpp.org. 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. — Videos Filmed & Edited by Bash Films: BashFilms.com Work at Hudson River Trading (HRT): tinyurl.com/safxfctf --- Videos Filmed & Edited by Bash Films: BashFilms.com

Why it's here

2 people recommend this

What people say. Recommended as an insightful talk on the complexities and design flaws of the C++ grammar.

Moments people linked to

u/Saefrochin r/programming • Recommends

On “Jonathan Blow on scripting languages for games”

I don't know how bad the internet would lead one to believe C++ is, so I'm including the sources I could whip up quickly on why _I_ think C++ is particularly deserving of criticism. Nearly every URL is to a timestamp that emphasizes my particular point but these are all really good talks. Jon Kalb, C++ today 2018 > ... the point is that C++ has huge industry buy-in. Now the downside to that is that it also has _huge_ baggage. Pick any one of Timur Doumler's talks on parsing or initialization in C++; his lightning talk at CppCon 2018 makes the point nicely but if you're interested in the topic, during his longer-form 2018 CppCon talk with Dmitry Kozhevnikov he goes over an example of…
9View on Reddit

u/mttdin r/ProgrammingLanguages • Recommends

“Parsing C++” - CppCon 2018: Timur Doumler & Dmitry Kozhevnikov