PDT User's Guide

Copyright © 1997-2005 Department of Computer and Information Science, University of Oregon Advanced Computing Laboratory, LANL, NM Research Centre Julich, ZAM, Germany

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of University of Oregon (UO) Research Centre Julich, (ZAM) and Los Alamos National Laboratory (LANL) not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. The University of Oregon, ZAM and LANL make no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.

UO, ZAM AND LANL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE UNIVERSITY OF OREGON, ZAM OR LANL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

PDT can be found on the web at: http://www.cs.uoregon.edu/research/pdt


Table of Contents

II. Ductape
PDT's ductape API Tutorial
1. Overview of PDT's Architecture
2. Using Iterators
II. Ductape API
I. PDB
PDB -
II. PDB::classTag
PDB::classTag -
III. PDB::croutineTag
PDB::croutineTag -
IV. PDB::fileTag
PDB::fileTag -
V. PDB::froutineTag
PDB::froutineTag -
VI. PDB::ltstr
PDB::ltstr -
VII. PDB::macroTag
PDB::macroTag -
VIII. PDB::moduleTag
PDB::moduleTag -
IX. PDB::namespaceTag
PDB::namespaceTag -
X. PDB::pragmaTag
PDB::pragmaTag -
XI. PDB::templateTag
PDB::templateTag -
XII. PDB::typeTag
PDB::typeTag -
XIII. pdbArg
pdbArg -
XIV. pdbBase
pdbBase -
XV. pdbBounds
pdbBounds -
XVI. pdbCallee
pdbCallee -
XVII. pdbClass
pdbClass -
XVIII. pdbComment
pdbComment -
XIX. pdbCRoutine
pdbCRoutine -
XX. pdbEnum
pdbEnum -
XXI. pdbFatItem
pdbFatItem -
XXII. pdbFile
pdbFile -
XXIII. pdbFriendClass
pdbFriendClass -
XXIV. pdbFriendFunc
pdbFriendFunc -
XXV. pdbFRoutine
pdbFRoutine -
XXVI. pdbGroup
pdbGroup -
XXVII. pdbGroupField
pdbGroupField -
XXVIII. pdbItem
pdbItem -
XXIX. pdbLoc
pdbLoc -
XXX. pdbMacro
pdbMacro -
XXXI. pdbMethod
pdbMethod -
XXXII. pdbModFunc
pdbModFunc -
XXXIII. pdbModule
pdbModule -
XXXIV. pdbNamespace
pdbNamespace -
XXXV. pdbPragma
pdbPragma -
XXXVI. pdbRoutine
pdbRoutine -
XXXVII. pdbSimpleItem
pdbSimpleItem -
XXXVIII. pdbStmt
pdbStmt -
XXXIX. pdbTemplate
pdbTemplate -
XL. pdbTemplateArg
pdbTemplateArg -
XLI. pdbTemplateItem
pdbTemplateItem -
XLII. PDBTraits
PDBTraits -
XLIII. PDBTraits< PDB::classTag >
PDBTraits< PDB::classTag > -
XLIV. PDBTraits< PDB::croutineTag >
PDBTraits< PDB::croutineTag > -
XLV. PDBTraits< PDB::fileTag >
PDBTraits< PDB::fileTag > -
XLVI. PDBTraits< PDB::froutineTag >
PDBTraits< PDB::froutineTag > -
XLVII. PDBTraits< PDB::macroTag >
PDBTraits< PDB::macroTag > -
XLVIII. PDBTraits< PDB::moduleTag >
PDBTraits< PDB::moduleTag > -
XLIX. PDBTraits< PDB::namespaceTag >
PDBTraits< PDB::namespaceTag > -
L. PDBTraits< PDB::pragmaTag >
PDBTraits< PDB::pragmaTag > -
LI. PDBTraits< PDB::templateTag >
PDBTraits< PDB::templateTag > -
LII. PDBTraits< PDB::typeTag >
PDBTraits< PDB::typeTag > -
LIII. PDBTraitsDefaults
PDBTraitsDefaults -
LIV. pdbType
pdbType -
LV. pdb.h
pdb.h -
LVI. pdb.inl
pdb.inl -
LVII. pdbAll.h
pdbAll.h -
LVIII. pdbClass.h
pdbClass.h -
LIX. pdbClass.inl
pdbClass.inl -
LX. pdbCRoutine.h
pdbCRoutine.h -
LXI. pdbCRoutine.inl
pdbCRoutine.inl -
LXII. pdbFatItem.h
pdbFatItem.h -
LXIII. pdbFatItem.inl
pdbFatItem.inl -
LXIV. pdbFile.h
pdbFile.h -
LXV. pdbFile.inl
pdbFile.inl -
LXVI. pdbFRoutine.h
pdbFRoutine.h -
LXVII. pdbFRoutine.inl
pdbFRoutine.inl -
LXVIII. pdbGroup.h
pdbGroup.h -
LXIX. pdbGroup.inl
pdbGroup.inl -
LXX. pdbGroupField.h
pdbGroupField.h -
LXXI. pdbGroupField.inl
pdbGroupField.inl -
LXXII. pdbItem.h
pdbItem.h -
LXXIII. pdbItem.inl
pdbItem.inl -
LXXIV. pdbMacro.h
pdbMacro.h -
LXXV. pdbMacro.inl
pdbMacro.inl -
LXXVI. pdbModule.h
pdbModule.h -
LXXVII. pdbModule.inl
pdbModule.inl -
LXXVIII. pdbNamespace.h
pdbNamespace.h -
LXXIX. pdbNamespace.inl
pdbNamespace.inl -
LXXX. pdbPragma.h
pdbPragma.h -
LXXXI. pdbPragma.inl
pdbPragma.inl -
LXXXII. pdbRoutine.h
pdbRoutine.h -
LXXXIII. pdbRoutine.inl
pdbRoutine.inl -
LXXXIV. pdbSimpleItem.h
pdbSimpleItem.h -
LXXXV. pdbSimpleItem.inl
pdbSimpleItem.inl -
LXXXVI. pdbTdefs.h
pdbTdefs.h -
LXXXVII. pdbTemplate.h
pdbTemplate.h -
LXXXVIII. pdbTemplate.inl
pdbTemplate.inl -
LXXXIX. pdbTemplateArg.h
pdbTemplateArg.h -
XC. pdbTemplateArg.inl
pdbTemplateArg.inl -
XCI. pdbTemplateItem.h
pdbTemplateItem.h -
XCII. pdbTemplateItem.inl
pdbTemplateItem.inl -
XCIII. pdbTraits.h
pdbTraits.h -
XCIV. pdbType.h
pdbType.h -
XCV. pdbType.inl
pdbType.inl -
XCVI. froutine.cc
froutine.cc -
XCVII. stmt.cc
stmt.cc -
XCVIII. vector.cc
vector.cc -
IV. Tools
1. Tools
cxxparse - Shell scripts that executes the right parsers and IL analyzers
cparse - Shell scripts that executes the right parsers and IL analyzers
f90parse - Shell scripts that executes the right parsers and IL analyzers
f95parse - Shell scripts that executes the right parsers and IL analyzers
pdbconv - Simple tool that checks the consistency/correctness of a PDB file and converts it to a more verbose, human-readable format.
pdbhtml - Produces "htmlized" versions of all source and header files
pdbmerge - Takes a set of program database files and merges them into one.
pdbtree - Prints the source file inclusion tree, class hierarchy (IS-A + HAS-A), and function call graph.
pdbcomment - Scans all (non-system) source files related to a PDB file for C, C++, Fortran comments, C/C++ pragmas, and Fortran directives and prints out a new enhanced PDB file containing this additional information.
pdbStmt - Scans pdb file and prints every statement in the pdb file.
xmlgen - Converts a PDB file to an XML file.