Stratego
Stratego is a programming language designed for the specification of transformation systems based on program rewriting strategies. It comprises key components: Rules, which are the basic transformation steps, and Strategies, which control the application of these rules. Stratego/XT extends functionality by combining it with other tools to create comprehensive transformation systems. The framework includes a front-end with SGLR for generating syntax trees and a back-end using GPP for emitting these trees. Additionally, Aterm serves as a term exchange format within this ecosystem.
Stratego
E N D
Presentation Transcript
Stratego Song Zhou *Include slides from http://www.stratego-language.org/Stratego/SlidesForSoftwareGeneration2001
Introduction • Stratego is “a language for the specification of transformation systems based on the paradigm of program rewriting strategies”. • Basic components: • Rules: basic transformation steps • Strategies: control application of rules
Stratego/XT • Stratego is only a term-rewriting language. “Term in, Term out.” XT can combine Stratego with other tools to create a transformation system. • Front End: • SGLR: a generic parser creating syntax tree • Back End: • GPP: a generic pretty-printer to emit the syntax tree out • Communication Language • Aterm: a term exchange format