You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Code2flow generates [call graphs](https://en.wikipedia.org/wiki/Call_graph) for dynamic programming language. Code2flow supports Python, JavaScript, Ruby, and PHP.
6
6
@@ -9,7 +9,7 @@ The basic algorithm is simple:
9
9
1. Translate your source files into ASTs.
10
10
1. Find all function definitions.
11
11
1. Determine where those functions are called.
12
-
1. Connect the dots.
12
+
1. Connect the dots.
13
13
14
14
Code2flow is useful for:
15
15
- Untangling spaghetti code.
@@ -82,7 +82,7 @@ code2flow --help
82
82
How code2flow works
83
83
------------
84
84
85
-
Code2flow approximates the structure of projects in dynamic languages. It is *not possible* to generate a perfect callgraph for a dynamic language.
85
+
Code2flow approximates the structure of projects in dynamic languages. It is *not possible* to generate a perfect callgraph for a dynamic language.
86
86
87
87
Detailed algorithm:
88
88
@@ -143,7 +143,7 @@ How to contribute
143
143
-----------------------
144
144
145
145
1.**Open an issue**: Code2flow is not perfect and there is a lot that can be improved. If you find a problem parsing your source that you can identify with a simplified example, please open an issue.
146
-
2.**Create a PR**: Even better, if you have a fix for the issue you identified that passes unit tests, please open a PR.
146
+
2.**Create a PR**: Even better, if you have a fix for the issue you identified that passes unit tests, please open a PR.
147
147
3.**Add a language**: While dense, each language implementation is between 250-400 lines of code including comments. If you want to implement another language, the existing implementations can be your guide.
148
148
149
149
@@ -161,16 +161,16 @@ License
161
161
-----------------------------
162
162
163
163
Code2flow is licensed under the MIT license.
164
-
Prior to the rewrite in April 2021, code2flow was licensed under LGPL. The last commit under that license was 24b2cb854c6a872ba6e17409fbddb6659bf64d4c.
164
+
Prior to the rewrite in April 2021, code2flow was licensed under LGPL. The last commit under that license was 24b2cb854c6a872ba6e17409fbddb6659bf64d4c.
165
165
The April 2021 rewrite was substantial, so it's probably reasonable to treat code2flow as completely MIT-licensed.
166
166
167
167
168
168
Acknowledgements
169
169
-----------------------------
170
170
171
171
172
-
* In mid 2021, Code2flow was rewritten, and two new languages were added. This was prompted and financially supported by the [Sider Corporation](https://siderlabs.com/).
173
-
* The code2flow pip name was graciously transferred to this project from [Dheeraj Nair](https://github.com/Dheeraj1998). He was using it for his own (unrelated) [code2flow](https://github.com/Dheeraj1998/code2flow) project.
172
+
* In mid 2021, Code2flow was rewritten, and two new languages were added. This was prompted and financially supported by the [Sider Corporation](https://siderlabs.com/).
173
+
* The code2flow pip name was graciously transferred to this project from [Dheeraj Nair](https://github.com/Dheeraj1998). He was using it for his own (unrelated) [code2flow](https://github.com/Dheeraj1998/code2flow) project.
174
174
* Many others have contributed through bug fixes, cleanups, and identifying issues. Thank you!!!
0 commit comments