CoCoDo is a coding dojo where you can enjoy an entire day of compiler programming under gentle guidance of field experts.
Compiler construction comprises, but is not limited to, lexical analysis, syntactic analysis, preprocessing, context handling, code generation, code optimisation, virtual machines, interpreters, smell detection, clone management, portability, migration, refactoring, domain-specific language design, linking and loading, assembling and disassembling, generics and reflection, numerous paradigms and so much more.
Call for Participation
You are invited to participate in a coding dojo unlike any other. CoCoDo will unravel the mysteries of one of the earliest and the most successful branches of computer science: compiler construction. If you ever studied any computing discipline, you must have learnt something about compilers as well, and unless you work at very specialised companies, you think you forgot everything about it since. Yet, almost every time you develop a non-trivial piece of software, you end up converting data between formats, traversing hierarchical structures, analysing and representing dependences and doing many other things that are at the heart of compiler design and implementation. Whether you are applying a Visitor design pattern or emulating a state machine with a switch/case statement, you are programming a little part of a compiler for your own language.
If you participate in CoCoDo, you will have a chance to immerse yourself in the marvels of compiler technologies for one day — and if you like it, you are welcome to stay in this field! Our coding dojo will be split into sessions, each dedicated to one aspect of compilation, with brief explanations and supervision by leading experts in the field. There will be several technologies, mainstream and otherwise, laid out at your disposal. Better yet, you can bring your own workbench and show us how it’s done.
We are equally open to participants of all backgrounds, all cultures and all trades. Choose your technology or add your own here: https://cocodo.github.io
(sections for ANTLR, Beaver, Bison, BiYacc, BtYacc, byacc, BYACC/J, Coco/R, Copper, DCG, Eli, Ensō, Frown, GDK, GOLD, Happy, Iguana, Irony, JastAdd, JavaCC, jparsec, Kiama, Kleenex, kwParsing, Laja, MetaEdit, ML-Yacc, MPS, Parsec, ParseLib, parsnip, PetitParser, PLY, PRECC, PyBison, PyLR, pyparsing, pysec, Racket, Ragel, Rascal, RecDescent, SableCC, Silver, SimpleParse, SJPT, SPARK, Spirit, Spoofax, SwiftParsec, TXL, Waxeye, Whimsy, Whole, xtc, Xtext, yacc and YAPPS)