There’s more than one way to skin a cat
When developing a new programming language, writing a parser is a necessary, but often tedious, task. During development, a language developer may want to experiment with different styles of concrete syntax: should the language be indentation-based like Python or Haskell, or should it belong to the curly-brackets family of languages (C, Java, etc.)? Skinner is a tool that automatically generates a parser directly from abstract-syntax-tree definitions, using a language skin to seed the parser generator with the appropriate syntax. The language skin includes a grammar template, a description of the lexical and syntactic features of the skin language. For instance, a Python language skin would contain a template for a scanner and parser for Python. Skinner tries to match the AST types to constructs in the grammar, using existing rules, removing unused rules, and creating new rules as necessary to instantiate a parser that generates the given ASTs. The user can use the generated parser as is, or modify it to taste.
|Slides (Cat skinning @ SLE.pdf)||120KiB|
Sun 30 Oct
|10:30 - 10:55|
|10:55 - 11:20|
|11:20 - 11:45|
|11:45 - 12:10|