Pedo Anton Lefering be1d0da99e update | 3 vuotta sitten | |
---|---|---|
.. | ||
.d4d__memzero.dot | 3 vuotta sitten | |
.d4d_deinit.dot | 3 vuotta sitten | |
.d4d_init.dot | 3 vuotta sitten | |
.d4d_version.dot | 3 vuotta sitten | |
.d4dag___splay_tree_delete.dot | 3 vuotta sitten | |
.d4dag___splay_tree_insert.dot | 3 vuotta sitten | |
.rotate_left.dot | 3 vuotta sitten | |
.rotate_right.dot | 3 vuotta sitten | |
.splay_tree_compare_ints.dot | 3 vuotta sitten | |
.splay_tree_delete.dot | 3 vuotta sitten | |
.splay_tree_delete_helper.dot | 3 vuotta sitten | |
.splay_tree_insert.dot | 3 vuotta sitten | |
.splay_tree_new.dot | 3 vuotta sitten | |
.splay_tree_new_typed_alloc.dot | 3 vuotta sitten | |
.splay_tree_new_with_allocator.dot | 3 vuotta sitten | |
.splay_tree_splay.dot | 3 vuotta sitten | |
.splay_tree_xmalloc_allocate.dot | 3 vuotta sitten | |
.splay_tree_xmalloc_deallocate.dot | 3 vuotta sitten | |
LICENSE | 3 vuotta sitten | |
Makefile | 3 vuotta sitten | |
OverCG.py | 3 vuotta sitten | |
README.md | 3 vuotta sitten | |
callgraph.dot | 3 vuotta sitten | |
d4dag-clang.s | 3 vuotta sitten | |
d4dag-gcc-wa.s | 3 vuotta sitten | |
d4dag-gcc.s | 3 vuotta sitten | |
d4dag-unloop.c | 3 vuotta sitten | |
d4dag.bc.callgraph.dot | 3 vuotta sitten | |
d4dag.c | 3 vuotta sitten | |
d4dag.c.006t.gimple | 3 vuotta sitten | |
d4dag.c.021t.ssa.dot | 3 vuotta sitten | |
d4dag.c.071i.whole-program.dot | 3 vuotta sitten | |
d4dag.c.237r.expand.dot | 3 vuotta sitten | |
d4dag.callgraph-info.gv | 3 vuotta sitten | |
d4dag.callgraph-info.svg | 3 vuotta sitten | |
d4dag.ci | 3 vuotta sitten | |
d4dag.css | 3 vuotta sitten | |
d4dag.h | 3 vuotta sitten | |
d4dag.html | 3 vuotta sitten | |
d4dag.js | 3 vuotta sitten | |
d4dag.ll | 3 vuotta sitten | |
d4dag.ll.callgraph.gv | 3 vuotta sitten | |
d4dag.optrpt | 3 vuotta sitten | |
d4dag.s | 3 vuotta sitten | |
d4dag.wat | 3 vuotta sitten | |
d4dagdemo.js | 3 vuotta sitten | |
gml4gtk-gcc-splay-tree-summary-callgraph.png | 3 vuotta sitten | |
gplv3.png | 3 vuotta sitten | |
icc.sh | 3 vuotta sitten | |
lindent.sh | 3 vuotta sitten | |
main.c | 3 vuotta sitten | |
mkcallgraph.sh | 3 vuotta sitten | |
simplec.l | 3 vuotta sitten | |
todo.txt | 3 vuotta sitten |
This is a single file directed graph layout library in C and javascript with extra graph features
make
The user program must supply nodes with the needed (x,y) size of the node with the label text.
The user program must supply edges between the nodes with optional size (x,y) for edge label text.
After layout the data of the drawing is available using routines and the user program can draw a image or gui window.
The api is in d4dag.h
Embedded in qvge this creates layout and qvge does the drawing and qt5 gui controls.
The only way for secure programming is simplified C and using parts of misra, nasa and other guides
The use of the unloop tool will result in a very much simplified ast with only if and goto statements
Maybe then the amount of actually used code in the compiler is much smaller resulting in less trouble
At least with gcc there is difference in number of compiler building blocks to be studied more
This is not mission-critial software but attempts are made to follow some guides
https://github.com/abougouffa/awesome-coding-standards
https://en.wikipedia.org/wiki/The_Power_of_10:_Rules_for_Developing_Safety-Critical_Code
This is a guide for gcc clang compilers from airbus aerospace https://github.com/airbus-seclab/c-compiler-security
Also the Free rosechecker project on sourceforge has a tool for cert standards
There are more Free tools as Linux kernel sparse source checker and others available to use
This source is not sabotaged because of wrongdoing politics as some other GPL Free projects do
This source has no linkage to other libs to make it easy for embedded devices or wasm web assembly
The d4dag.c graph layout routines can be compiled to webassebly using emscripten
The d4dag.c graph layout routines can be compiled to llvm bytecode to lisp to java bytecode to javascript
The d4dag.c graph layout routines can be compiled to llvm bytecode to javascript assembly to java bytecode to javascript
The d4dag.c source is created to be usable for internet of things iot and embedded applications
The fedora Linux has a internet of things edition maintained and tested with the extra tools needed
The simplec.l is a bug fixed version of cunloop in cutils-1.6 which has bugs
Because there is no good usable GNU GPL Free javascript directed graph layout
creating something in d4dag.js and d4dag.html doing a sugiyama graph layout
The d4dag.wat file has some generated wasm web assembly
The wandbox.org site has a browser page to paste C source and test the output with many gcc and clang compiler versions
The OverCG.py script generates callgraph from llvm ir ll textual data files
The sparse-llvm compiler is used to generate llvm bitcode
The smatch source checker from sourceforge is used to check
The sourceforge smatch repo is not maintained but the updated version as at https://repo.or.cz/w/smatch.git
There is support for Intel icc compiler which has extra features
This is GNU GPL Version 3+ Free Software
This is the compact callgraph of d4dag.c
SPDX-License-Identifier: GPL-3.0+
License-Filename: LICENSE
Made in 🇳🇱