Code to flowchart

Hello,
I remember that one of the users of this site, in response to one of my questions, introduced a website where you enter the Rust-Lang code and that website showed step by step the functions that were executed.
What is the name of that website?

Thank you.

I don’t know about Rust specifically, but there are definitely a lot of tools for converting a DSL into a graph. In my opinion the best tools are GraphViz and mermaid.

Can you clarify what you’re trying to achieve as an end goal with your flowchart software?

1 Like

This does not seem to be what @hack3rcon wanted (or rather just a part of it), as the goal was not to write the graph manually but instead generate it from Rust source code. A quick Internet search yields these results:

  • cargo-callgraph: Cargo extension that generates graphviz dot files which can then be converted into graphs. Looks fairly simple to use and basic at first glance.
  • callgraph.rs isn't a cargo "plugin" but instead uses rustc's arguments (which makes it harder to use for multi-file projects). It also outputs dot files.

There are also some smaller projects that seem to include the same basic functionality. Note that a callgraph might not actually be what you want - the title differs from the post, as one could also "show the functions executed step-by-step" just by using logging facilities or a debugger like GDB.

1 Like

Looking at the links you referred to in your profile, I only found one relevant one to the Compiler Explorer, a page where one can see the generated machine code by entering source code of many different languages:

Note that for Rust specifically, there is also the Rust playground (play.rust-lang.org) that offers this functionality by clicking the three dots next to "Build" or "Run" and then selecting "ASM" (or one of the many other interesting representations!).

1 Like

There is also a few other things it could be:

I also remember seeing something that would also visualise the borrow checker, but I can't remember the name, and I'm on mobile right now.

3 Likes

RustViz maybe. Can't speak to it's accuracy.

1 Like

I mentioned that one in my post. I thought there was something else though, because the screenshots look different from what I remember seeing. But I may be mistaken.

I also can't speak to it's accuracy, haven't tried it.

2 Likes

Oops, my bad. Here's another one I've seen before. I don't know it's accuracy either. It has some limitations.

3 Likes

There’s also some degree of generating control-flow graphs built into the compiler: Debugging - Rust Compiler Development Guide

1 Like

There was a post mentioning a website that shows Rust syntax trees. Not a flowchart, and not visually, but it was a website you can enter Rust code into to get something out, and it was a response to one of your questions: Some question about literals - #38 by vague

1 Like

That's the one I was thinking about.

I'm thinking that it would be really nice if there was some website listing all of these various tools for rust, perhaps per category (visualising, profiling, debugging, IDE support, etc) or perhaps as a tag cloud.

1 Like

Hello,
Thank you so much :heart:.

Hello all,
Thank you so much for all replies.
I found new tools like the GraphViz, Cargo-callgraph, Callgraphs, Rustviz via this thread.

This is another tool that I've found recently which allows diagrams to be turned into ascii art ASCIIFlow. So it isn't exactly visualizing code into flowcharts, but it is pretty cool :).

Also there's this one Diagon: ASCII art diagram generator

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.