Software Lab: Program Transformation

We consider source to source transformation as a generic technique in Computer Science. A given / new domain specific language (DSL) is supposed to be translated into a different language X by a DSL2X transformation software. Some additional analyisis / transformation which is not present in the DSL shall be provided by X. The result shall be transformed back into the DSL. We aim for rigorous requirements analysis, object-oriented design and implementation, tests and documentation during the development of the source to source transformation software.

General Information

... on the administrative structure of the lab can be found here.

Topics

  1. LaTeX2SciPy
    1. transformation of a matrix given in LaTeX to Python
    2. use SciPy to compute various decompositions (LU, SVD, etc.)
    3. transformation of the results back into LaTeX
    4. coverage of (nearly) all SciPy decompositions
  2. LaTeX2SymPy
    1. transformation of a formula given in LaTeX to Python
    2. use of SymPy for differentiation
    3. transformation of differentiated formula back to LaTeX
    4. coverage of (nearly) all SymPy differentiation features for a wide range of formulas
  3. Latex2gnuplot
    1. transformation of a formula from LaTeX to gnuplot
    2. plotting with gnuplot to (PDF) picture
    3. integration of the picture into the LaTeX document
    4. coverage of a wide range of 1D and 2D formulas

Agenda

  • Proposal (PDF slides to info@stce.rwth-aachen.de) by Apr 4, 2023. Presentation on Apr 5 at 8am in seminar room 231 of IT Center.
  • Requirements (slides) by May 2. Presentation on May 3 at 8am in seminar room 231.
  • Design (slides) by May 23. Presentation on May 24 at 8am in seminar room 231.
  • Implementation (slides; access to source repository on git.rwth-aachen.de) by Jun 20. Presentation on Jun 21 at 8am in seminar room 231.
  • Publication (PDF report) by Jul 16.
  • Final Presentation on Jul 17 at 8am in seminar room 231.