Program Representation

Program-Transformation.Org: The Program Transformation Wiki
Programs can be represented in various ways in ProgramTransformationTools.

  • AbstractSyntaxTree?
  • DirectedAcyclicGraph?
  • Graph
  • Objects

Particularly important/problematic is the treatment of variables and other identifiers with restricted scope.

  • SymbolTable?
  • VariableRenaming?
  • HigherOrderAbstractSyntax?
  • FreshML

In addition to the internal representation used by a tool, it is important that tools can export such a representation such that it can be manipulated by other tools. ExchangeFormats facilite the exchange of structured representations of programs between tools.