‹Programming› 2020
Mon 23 - Thu 26 March 2020 Porto, Portugal

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

Plenary
You're viewing the program in a time zone which is different from your device's time zone change time zone

Mon 23 Mar

Displayed time zone: Belfast change

09:00 - 10:30
Session the FirstCoCoDo at W4
Chair(s): Johan Fabry Raincode Labs, Belgium
09:00
90m
Demonstration
A Journey towards the Neverlang Island
CoCoDo
Walter Cazzola Università degli Studi di Milano
10:30 - 11:00
10:30
30m
Coffee break
Break
Catering

11:00 - 12:30
Session the SecondCoCoDo at W4
Chair(s): Johan Fabry Raincode Labs, Belgium
11:00
90m
Demonstration
The Spoofax Language Workbench
CoCoDo
Jeff Smits Delft University of Technology
12:30 - 14:00
12:30
90m
Lunch
Lunch
Catering

14:00 - 15:30
Session the ThirdCoCoDo at W4
Chair(s): Johan Fabry Raincode Labs, Belgium
14:00
90m
Demonstration
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
30m
Coffee break
Break
Catering

16:00 - 17:30
Session the FourthCoCoDo at W4
Chair(s): Johan Fabry Raincode Labs, Belgium
16:00
90m
Demonstration
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)

Questions? Use the CoCoDo contact form.