Raincode Labs Compiler Coding Dojo 2020CoCoDo 2020
Note that because Programming 2020 has been cancelled, CoCoDo 2020 will not take place as originally planned.
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.
This years' Coding Sessions
Mon 23 MarDisplayed time zone: Belfast change
09:00 - 10:30 | |||
09:00 90mDemonstration | A Journey towards the Neverlang Island CoCoDo Walter Cazzola Università degli Studi di Milano |
10:30 - 11:00 | |||
10:30 30mCoffee break | Break Catering |
11:00 - 12:30 | |||
11:00 90mDemonstration | The Spoofax Language Workbench CoCoDo Jeff Smits Delft University of Technology |
12:30 - 14:00 | |||
12:30 90mLunch | Lunch Catering |
14:00 - 15:30 | |||
14:00 90mDemonstration | From Abstract Syntax Trees to Machine Code with LLVM CoCoDo Dimi Racordon University of Geneva, Centre Universitaire d'Informatique, Geneva, Switzerland |
15:30 - 16:00 | |||
15:30 30mCoffee break | Break Catering |
16:00 - 17:30 | |||
16:00 90mDemonstration | An Interactive Exploration of a Simple Compiler CoCoDo Marcus Denker INRIA Lille |
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)