• DocumentCode
    2741603
  • Title

    Rewrite systems for symbolic evaluation of C-like preprocessing

  • Author

    Latendresse, Mario

  • Author_Institution
    Northrop Grumman IT, US Navy, Monterey, CA, USA
  • fYear
    2004
  • fDate
    24-26 March 2004
  • Firstpage
    165
  • Lastpage
    173
  • Abstract
    Parsing of programs with preprocessing directives and conditional compilation is challenging. Symbolic evaluation offers a fundamental and general approach to solve the main difficulties. It can find, for every line of code, the Boolean expression under which it is compiled or reached and all the possible values of preprocessing variables (macros) for each line of code. Conditional values have been shown an effective representation to do fast practical symbolic evaluation of preprocessing; but their interaction with macro expansion and evaluation has not been formally investigated. We present convergent rewrite systems over conditional values that can interact with macro expansion and evaluation and transform them into Boolean expressions. Once transformed, well known simplification techniques for Boolean expressions can be applied. This entails a more complete solution to the efficient symbolic evaluation of C-preprocessing using conditional values.
  • Keywords
    Boolean functions; C language; macros; program processors; rewriting systems; symbol manipulation; Boolean expression; C-like preprocessing directive; conditional compilation; macro expansion; program parsing; rewrite system; symbolic evaluation; Computer languages; Concrete; Data preprocessing; Electronic mail; Information analysis; Programming profession; Software maintenance; Software tools; Visualization;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings. Eighth European Conference on
  • ISSN
    1534-5351
  • Print_ISBN
    0-7695-2107-X
  • Type

    conf

  • DOI
    10.1109/CSMR.2004.1281417
  • Filename
    1281417