Published July 9, 2022 | Version v1

Appendix for "Don't DIY: Automatically transform legacy Python code to support structural pattern matching"

  • 1. University of Szeged

Description

This is the appendix for paper "Don’t DIY: Automatically transform legacy Python code to support structural pattern matching" presented in SCAM 2022.

Abstract

As data becomes more and more complex as technology evolves, the need to support more complex data types in programming languages has grown. However, without proper storage and manipulation capabilities, handling such data can result in hard-to-read, difficult-to-maintain code. Therefore, programming languages continuously evolve to provide more and more ways to handle complex data. Python 3.10 introduced structural pattern matching, which serves this exact purpose: we can split complex data into relevant parts by examining its structure, and store them for later processing. Previously, we could only use the traditional conditional branching, which could have led to long chains of nested conditionals. Maintaining such code fragments can be cumbersome. In this paper, we present a complete framework to solve the aforementioned problem. Our software is capable of examining Python source code and transforming relevant conditionals into structural pattern matching. Moreover, it is able to handle nested conditionals and it is also easily extensible, thus the set of possible transformations can be easily increased.

Files

appendix.zip

Files (28.1 kB)

Name Size Download all
md5:6909a8c8e9a79e488775a3a1876e3f7f
28.1 kB Preview Download