Talks
Events

A Medieval DSL? Parsing Heraldic Blazons with Python!

Christopher Beacham, Lady Red at PyCon 2019

Medieval European Nobility was obsessed with Lineage. They created a Heraldic System to track families, which assigned each family a unique Coat of Arms.

Any painting of the Coat of Arms was not the official version. The official version was a ""Blazon"" - a precise, terse description in heraldic language. This heraldic language reads like English, Latin, French, and XML had a baby. It's a fully recursive language with a formal grammar, variable assignment, positional arguments, and also, Lions, Bears, and Pythons.

Here's an example: _Sable, on a fesse or three lions gules_

In this talk, we look at parsing this Medieval _Domain Specific Language_ with Python. Along the way, we'll learn a little history, and the tools for parsing and writing your own DSL.


Slides can be found at: https://speakerdeck.com/pycon2019 and https://github.com/PyCon/2019-slides