The Clang AST - a Tutorial

If you always wanted to know more about about Clang's AST [1], for example because you want to implement an awesome tool [2, 3] based on Clang, or simply because you want to start contributing, this talk is for you. Make sure to watch in HD to be able to read the font in the terminal! The semantic code completion in the vim session is powered by YCM [4], and the quick formatting is done by clang-format [5]. [1] http://clang.llvm.org/docs/IntroductionToTheClangAST.html [2] http://clang.llvm.org/docs/Tooling.html [3] http://clang.llvm.org/docs/LibTooling.html [4] https://github.com/Valloric/YouCompleteMe [5] http://clang.llvm.org/docs/ClangFormat.html From the LLVM Euro Conference 2013: http://llvm.org/devmtg/2013-04/

Related Talks

Keynote GoingNative 2012 C++

Bjarne Stroustrup
an hour
We know how to write bad code: litter our programs with casts, macros, pointers, naked new and deletes, and complicated control structures. Alternatively (or additionally), we could obscure every design decision in a mess of deeply nested abstractions using the latest object-oriented programming and generic programming tricks. Then, for good ...

Scott Meyers – The Most Important Design Guideline

What’s the single most important design guideline for the creation of high-quality software? For Scott Meyers, it’s all about interface design. That includes user interfaces, of course, but also APIs, i.e., class interfaces, function interfaces, template interfaces, etc. The guideline is simple: make interfaces easy to use correctly and hard ...

Atmosphere 2013: "Your CSS is a Mess" Jonathan Snook (Shopify)

We would like to thank everyone for attending the first edition of Atmosphere Conference, which was held on the 13th-14th May 2013 in Concordia Design in Poznan. Considering the fact that the event was organised for the first time, we must admit that there was a great number of attendees ...

Functional programming - Bodil Stokke

Build Your Own Lisp for Great Justice Implementing a toy Lisp interpreter is practically a rite of passage for the budding computer scientist. This hallowed tradition is described in detail in "Lisp in Small Pieces," the seminal work on the making of Lisps, but everybody loves a tl;dr, so let's do ...

Rethinking Exceptions

Jason Turner
an hour
The C++ programming language is accelerating with amazing new features, but sometimes it can feel like these features are out of reach. Unfortunately, many C++ developers are stuck using old C++ compilers, runtimes, and tools. They are missing out on some of the best features the language has to offer. ...

Things that Matter

In the 45+ years since Scott Meyers wrote his first program, he’s played many roles: programmer, user, educator, researcher, consultant. Different roles beget different perspectives on software development, and so many perspectives over so much time have led Scott to strong views about the things that really matter. In this ...

John Papa - 10 AngularJS Patterns - Code on the Beach 2014

Learn from John Papa's talk "10 AngularJS Patterns" from Code on the Beach 2014 at One Ocean Resort & Spa, Atlantic Beach, Florida. Sunday, August 10, 2014. www.codeonthebeach.com Abstract: "Once you get beyond the AngularJS basics there are many decisions to be made on how to build robust and maintainable apps. Come ...

Brian Beckman: Don't fear the Monad

Cross posted from msdn's channel 9. Functional programming is increasing in popularity these days given the inherent problems with shared mutable state that is rife in the imperative world. As we march on to a world of multi and many-core chipsets, software engineering must evolve to better equip software engineers with ...