PDT: The Program Database Toolkit - PowerPoint PPT Presentation

1 / 7
About This Presentation
Title:

PDT: The Program Database Toolkit

Description:

portable IL analyzer, database format, and access API ... int main(int argc, char *argv[]) { PDB p(argv[1]); if ( !p ) return 1; ... – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 8
Provided by: bernd8
Category:

less

Transcript and Presenter's Notes

Title: PDT: The Program Database Toolkit


1
PDTThe Program Database Toolkit
  • Allen Malony
  • Sameer Shende

Bernd Mohr
2
Program Database Toolkit (PDT)
  • Program code analysis framework fordeveloping
    source-based tools
  • High-level interface to source code information
  • Integrated toolkit for source code parsing,
    database creation, and database query
  • commercial grade front end parsers
  • portable IL analyzer, database format, and access
    API
  • open software approach for tool development
  • Target and integrate multiple source languages

3
PDT Architecture and Tools
C/C
Fortran 77/90
4
PDT Components
  • Language front end
  • Edison Design Group (EDG) C, C, Java
  • Mutek Solutions Ltd. F77, F90
  • creates an intermediate-language (IL) tree
  • IL Analyzer
  • processes the intermediate language (IL) tree
  • creates program database (PDB) formatted file
  • DUCTAPE (Bernd Mohr, ZAM, Germany)
  • C program Database Utilities and
    ConversionTools APplication Environment
  • processes and merges PDB files
  • C library to access the PDB for PDT applications

5
DUCTAPE Class Hierarchie
6
DUCTAPE Example
  • Print all template instantiations

include "pdbAll.h" int main(int argc, char
argv) PDB p(argv1) if ( !p ) return
1 PDBcroutinevec r p.getCRoutineVec()
for (PDBcroutineveciterator rir.begin()
ri!r.end() ri) if ((ri)-gtisTemplate())
cout ltlt (ri)-gtfullName() ltlt endl
PDBclassvec c p.getClassVec() for
(PDBclassveciterator cic.begin()
ci!c.end() ci) if ((ci)-gtisTemplate())
cout ltlt (ci)-gtfullName() ltlt endl
pdbClassfieldvec f(ci)-gtdataMembers()
for (pdbClassfieldveciterator mf.begin()
m!f.end() m) if ((m)-gtisTemplate())
cout ltlt (m)-gtfullName() ltlt endl return
0
7
PDT Status
  • Program Database Toolkit (Version 2.1, web
    download)
  • EDG C front end (Version 2.45.2)
  • Mutek Fortran 90 front end (Version 2.4.1)
  • C and Fortran 90 IL Analyzer
  • DUCTAPE library
  • Standard C system header files (KCC Version
    4.0f)
  • PDT-constructed tools
  • Automatic TAU performance instrumentation
  • C, C, Fortran 77, and Fortran 90
  • Program analysis support for SILOON and CHASM
  • http//www.cs.uoregon.edu/research/paracomp/pdtool
    kit/
Write a Comment
User Comments (0)
About PowerShow.com