“standard” library for Markdown parsing • C++11 is really cutting edge language… • … maybe too much … • Very limited support on Linux / GCC at the time of writing
a documentation • Maintenance & Support • Planning & future development • Parser • Who are the parser users? • What is the parser output? • Maintenance & Support • Planning & future development • How to handle deprecated syntax?
Snow Crash • AST serialization format • + bindings to other languages • GitHub Issues • Stack Overflow • Google Groups • Email • Twitter • Apiary support
blueprints • Developers of tools relying on API Blueprint • Two different parser outputs: • For writers during writing (warnings & errors) • For tools using the API Blueprint (AST)
written? • How to communicate syntax errors and semantics warnings? • What to communicate? • “OMG ME EXPLODE” vs. “Print the specification”? • Source Maps • Inspired by LLVM/CLANG error reporting !
AST from the parser • AST serialization • + language-specific binding AST • AST is contract with API Blueprint tools developers • Challenge: • Specific AST tailored for a particular tool • Generic AST 1:1 capturing the source blueprint • Closed vs. Open Source
forget about blueprint writers • Had to add implementation Source Maps after hand • Suboptimal Markdown AST (stack vs. tree) • The language itself is still under documented • Still looking for great C++ developers