Coder Social home page Coder Social logo

ghostgraph's Introduction

ghostgraph

ghostgraph is an attempt to make a program that can take a function from a file and generate a graphviz .dot file to show the context the program operates in. Things like global variables, visual representations of structures, arguments, local variables, would be included in the graph along with a step by step flow showing the programs state at each point in time.

I was hoping to figure out a way to transpile to an unevaluated language called "doggo" so I could simply implement a translation between it and the target language to support new languages, but I'm not sure that's such a great approach if I'm going to have to use a parser anyway. I've been trying to figure out good ways to get started in reading through large codebases and being able to somewhat visualize the dataflow seems quite helpful.

I'm aware that programs like doxygen already have some of this functionality available but I wanted to try to do it myself.

The next step will probably involve rewriting it to use a parser rather than this weird ad-hoc method I'm using. Guile seems to support LALR and PEG so at least I have some options.

ghostgraph should be able to support different levels of context. For instance you might want a 30,000 foot view or just the local context of a particular function. It would also probably be prudent to attach a latex backend so you could also document the function or context alongside a fancy graph.

ghostgraph's People

Contributors

arnautdaniel avatar

Watchers

 avatar  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.