GithubHelp home page GithubHelp logo

manual123 / abidos_cpp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fructu/abidos_cpp

0.0 2.0 0.0 804 KB

C++: code diagrams generator, refactor code, browsing code through UML diagrams.

Makefile 0.60% C 0.63% Lex 2.24% C++ 45.62% Python 41.01% Shell 0.79% CMake 1.41% Roff 0.57% Perl 3.80% Yacc 3.33%

abidos_cpp's Introduction

abidos_cpp

Abidos will be a toolbox to improve navigation and refactoring cpp’s code:

  • understanding of the system: abidos generates a set of diagrams (for now class diagrams with relations), you can see:

    • hierarchy between the class of the soure code

    • copositions/agregations

    • friend relations

    • members of the classes

  • the navigation across the source code of a cpp project. in a class diagram you can click in a member function or in an atribute of a class and then go to the line of code automatically.

  • in a second phase refactoring code will be avalible, for now i have a very hard work doing the parser of cpp.

    For now abidos has been started and be in a very early status of development.

Documentation

You can see pdfs, html manuals here: https://github.com/fructu/abidos

Parts

abidos for the moment has 2 parts and need refactor a great part of their code most of this code were a set of experiments.

  • preprocessor this part of the project have his own Makefile and can generate a graph with the relations between the sources of a projects with his #includes. Is less advanced than processor part.

  • processor this part of abidos is the core of the cpp’s parser, it is a descent parser but i use parts of the code generating by flex and bison (mainly his .h) and the full scanner.

Installation

Get the project

You can obtain the project from github by 2 ways.

  • clone the code with git:

git clone [email protected]:fructu/abidos_cpp.git
cd abidos_cpp/processor/

or you can

  • download a zip package:

wget "https://github.com/fructu/abidos_cpp/archive/master.zip"
unzip master.zip
cd abidos_cpp-master/processor/

Make project and install

we will make the processor part of Abidos is the real core of Abidos cpp:

cmake .
make VERBOSE=1 &> make_out.txt (1)
sudo make install
  1. Abidos will need this file make_out.txt to know what files have to parse (Abidos can parse Abidos because is a cpp Project).

you can test it with the abidos itself:

abidos_make_process.pl (1)
  1. this script do all the toolchain that abidos need for you.

This command encapsulates the toolchain of Abidos (it will be explained in next chapters).

thanks

I use great pieces of code doing for great people without they my work would be imposible to start

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.