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
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