Time and Location
Title
The Black Art of Code Generation
Abstract
It’s become much easier to write a compiler these days, because one doesn’t have to write an optimizer or code generator anymore. Just the front end. At least 3 code generators are available anyone can use for their own language design - gcc, clang, and dmd.
Not many people want to write a code generator. The instructions sets are of terrifying complexity. Only the nerdliest of nerds would want to build one. If you’re one of those people who would fearlessly peer into the gates of hell, this talk is for you.
It’s about how the dmd code generator works. I have no idea how the gcc and clang code generators work, so this talk is specific to dmd. The basic structure was designed for the 16 bit x86, and it has survived upgrades to support the x87, large memory models, the 32 bit x86, the 64 bit x86, and the SIMD instruction set, so it can’t be too wrong.
Put your phone in airplane mode, and enjoy the ride!
Speaker Bio
Walter Bright is the creator and first implementer of the D programming language and has implemented compilers for several other languages. He’s an expert in all areas of compiler technology, including front ends, optimizers, code generation, interpreter engines and runtime libraries. Walter regularly writes articles about compilers and programming, is known for engaging and informative presentations, and provides training in compiler development techniques. Many are surprised to discover that Walter is also the creator of the wargame Empire, which is still popular today over 30 years after its debut.
Post Meeting Social
Following the official meeting folks are welcome to wander over to the Cofee Haus at the Overlake Red Robin (148th Ave and 24th) to continue chatting until they close the doors!
A Word From Our Sponsor
Please thank Microsoft for sponsoring our meeting room and Teams account!
Resources
Coming Soon!
Digital Media Links
- Sign up for our announcements mailing list If you want to be more involved, sign up for our volunteers list
- Check out our web page at http://www.nwcpp.org/
- Follow @nwcpp on Twitter
- Join our Facebook Group
- Tune in to our YouTube and Vimeo channels
social
blogroll