Code Monkey home page Code Monkey logo

cinclude2dot2's Introduction

cinclude2dot2 - C/C++ dependency graph generator Python script

cinclude2dot2 is intended to be an original, clean-house, remaking and "remastering" of the Perl-based cinclude2dot tool.

Using cinclude2dot requires using Python. This script was developed using Python 2.7 and 3.3, and should be compatible with both.

cinclude2dot2 uses a JSON configuration file, which, by convention, is named config.cinclude2dot2. In this file, you may:

  • Specify nodes to cluster based on Python regular expressions
  • Search for and style nodes based on Python regular expressions

cinclude2dot2 also uses the Python argparse module in order to provide a full-featured command line interface.

Using cinclude2dot2

To use, download the script and its config.cinclude2dot2 JSON configuration file to the root directory that you wish to create a graph of. Then, run:

python cinclude2dot2.py

This will produce a file named output.dot by default. To emit .dot output to stdout, instead call:

python cinclude2dot2.py -O

or, instead, to output to a certain file name in the current directory:

python cinclude2dot.py -o FILENAME

To set the root directory of focus to antoher directory, use:

python cinclude2dot2.py -Irelative/path/to/file

To recursively search the root directory and its folders for C/C++ files to analyze, use:

python cinclude2dot2.py -r

To only allow certain files with certain suffixes to be analyzed, use:

python cinclude2dot2.py --suffix .ONE .TWO .THREE

To use another JSON configuration file, use:

python cinclude2dot2.py --config CONFIG_FILENAME

The config.cinclude2dot2 Configuration File:

The JSON configuration file should consist of a single JSON object, with 5 possible different top-level pair labels:

node, edge, graph

These correspond to the node[], edge[], graph[] settings as seen in the dot file.

$cluster_NAME

These cluster filenames that match the regex into a node cluster.

$node_NAME

This command will apply a style to nodes that match the regex. Tags besides "regex" will be applied.

This project is frozen (since August 31, 2018) due to inactivity. Please fork if you wish to take ownership.

cinclude2dot2's People

Contributors

cinchblue avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.