Skip to content


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation

YAML 1.2 Reference Parsers

Generate YAML 1.2 Reference Parsers from the Spec

Travis Test Status Actions Status: Test


You can see all the generated YAML parsers in action by running:

make test


Here we generate 100% compliant YAML 1.2 parsers, in multiple programming languages, from the YAML 1.2 specification.

We start with the YAML 1.2 Spec converted to the YAML 1.2 Spec as YAML. Next we apply some minimal local patches for various problems that have been identified in the spec. Then we convert that YAML into a machine generated YAML 1.2 parser/grammar module in every programming language.

At the moment we have YAML 1.2 reference parsers in these languages:

The parsers pass 100% of the YAML Test Suite!

Next Steps

  • Generate equivalent grammar/parsers in as many modern languages as possible
    • The logic and primitives are purposefully as simple as possible
    • Generating a perfect parser in a new language should take a day or 2
    • Contributors welcome!
  • Start refactoring the grammar to be simpler
    • While always passing the tests
  • Generate more optimized / performant parsers
    • The goal of simplicity and sticking exactly to the spec made slow parsers
  • Create a new YAML 1.3 grammar
    • Start with 1.2 grammar
    • Apply RFCs as they become accepted
    • Generate and test all the language parsers