Designing and Implementing Control Flow Graph for Magic 4th Generation Language


A good compiler which implements many optimizations during its compilation phases must be able to perform several static analysis techniques such as control ow or data ow analysis. Besides compilers, these techniques are common for static analyzers to retrieve information from the code for example code auditing, quality assurance, or testing purposes. Implementing control ow analysis requires handling many special structures of the target language. In our paper we present our experiences in implementing control ow graph (CFG) construction for a special 4th generation language called Magic. During designing and implementing the CFG for this language we identied dierences compared to 3rd generation languages because the special programming technique of this language (e.g. data access, parallel task execution, events). Our work was motivated by our industrial partner who needed precise static analysis tools (e.g. for quality assurance or testing purposes) for this language. We believe that our experiences for Magic, as a representative of 4GLs might be generalized for other languages too.

Proceedings of the 13th Symposium on Programming Languages and Software Tools (SPLST 2013), Szeged, Hungary, Pages 200–214


    author    = {D{\'e}vai, Rich{\'a}rd and J{\'a}sz, Judit and Nagy, Csaba and Ferenc, Rudolf},
    title     = {Designing and Implementing Control Flow Graph for {M}agic 4th Generation Language},
    booktitle = {Proceedings of the 13th Symposium on Programming Languages and Software Tools (SPLST 2013)},
    year      = {2013},
    pages     = {200--214},
    address   = {Szeged, Hungary},
    month     = aug,
    publisher = {University of Szeged},