Skip navigation links

Pre-release documentation for IMOP

Packages 
Package Description
imop.ast
This package contains classes that help represent the AST of input program, and also information classes, where we store (links to) all analyses data.
imop.ast.info
This package contains classes that represent (a link to) information, of any nature, about various types of Node objects.
imop.ast.info.cfgNodeInfo
This package contains specializations of NodeInfo objects corresponding to those Node that are of CFG type.
imop.ast.metadata
This package contains classes that represent meta-information about Node objects.
imop.ast.node.external
This package contains automatically generated classes, each representing some non-terminal or terminal in the input grammar for C with OpenMP.
imop.ast.node.internal
This package contains classes for those AST objects which are created internally after the parsing step is complete.
imop.baseVisitor
These classes contain default visitors for various types of AST nodes.
imop.baseVisitor.cfgTraversals
These classes contain default visitors for various types of CFG nodes.
imop.lib
This package contains the core library of IMOP, excluding the parser, and default visitors.
imop.lib.analysis
This package contains classes related to various types of analyses on the input program.
imop.lib.analysis.dataflow
This package contains classes that represent data-flow information for the input program.
imop.lib.analysis.dataflow.generic
This package contains classes specific to generic passes to perform iterative data flow analyses.
imop.lib.analysis.dataflow.interprocedural
This package contains classes that are instantiations of various generic passes for iterative data-flow analyses.
imop.lib.analysis.dataflow.intraprocedural
This package (currently deprecated; will be reinvigorated soon) contains classes corresponding to intra-procedural IDFAs (along with their generic passes).
imop.lib.analysis.mhp
This package contains classes that represent various concurrency-analysis related information for the input OpenMP program.
imop.lib.analysis.mhp.lock
This package contains classes that represent abstraction of various types of locks that may be present in the input OpenMP program.
imop.lib.analysis.typeSystem
This package contains classes to represent various types of Types, as specified in the ISO C standard.
imop.lib.analysis.updater
This package contains classes that contain various modules that are used to ensure consistency, under translations, among various data structures that represent the syntax and semantics of an input program.
imop.lib.builder
This package contains classes that are used to create various types of AST nodes (apart from the way the parser does that).
imop.lib.cfg
This package is used to contain information related to serial and parallel control-flow graphs.
imop.lib.cfg.info
This package contains classes that represent information about, and contain update methods for, various CFG components that a non-leaf CFG node may have.
imop.lib.cfg.link
This package is used to represent the notion of CFGLinks, which is mainly used to know the immediate context in which an AST node appears.
imop.lib.cfg.link.baseVisitor
This package provides various visitor methods that can be used to various specific processing of different types of CFGLink (context in which an AST node is present).
imop.lib.cfg.link.node
This package contains classes that represent various forms in which an AST node may be present in the context of its AST parent.
imop.lib.cfg.parallel
This package is used to model flow of information among the different tasks.
imop.lib.cg
This package is used to contain information about call graphs, and call stacks.
imop.lib.getter
The visitors present in this package are used to perform various types of queries on the AST of the input program.
imop.lib.transform
This package contains classes that deal with translations and optimizations of the input program.
imop.lib.transform.simplify
This package contains classes that are used to perform various simplification/normalization passes on the input program (or on newly created nodes).
imop.lib.transform.updater
This package contains classes that specify various types of CFG updates.
imop.lib.util
This package contains miscellaneous utility classes.
imop.parser
This package contains (mostly) automatically generated classes that form part of the parser for the input program.
Skip navigation links