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 OctDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:30 - 12:10 | |||
10:30 25mTalk | MADFAct—Constructing Dictionaries Parsing@SLE Tobias Runge TU Braunschweig, Ina Schaefer TU Braunschweig, Germany, Loek Cleophas Eindhoven University of Technology, Bruce Watson Stellenbosch University; and Centre for AI Research, CSIR | ||
10:55 25mTalk | There’s more than one way to skin a cat Parsing@SLE Nate Nystrom University of Lugano File Attached | ||
11:20 25mTalk | Knowledge-Based Support for Domain Specific Language Generation Parsing@SLE Frank Coyle SMU File Attached | ||
11:45 25mDemonstration | Parsing in K-Framework Parsing@SLE Radu Mereuta Faculty of Computer Science, UAIC, Iasi, Romania File Attached |