fsm-dot.awk
来自「这是国外的resip协议栈」· AWK 代码 · 共 38 行
AWK
38 行
# For making the Preparse FSM diagramBEGIN { if ( output == "Preparse.ps" ) { doSpecial = 1; } printf "digraph pp_fsm {\nsize=\"10,8\"\n"; if ( doSpecial ) { printf "rotate=90\n"; printf "ratio=0.8\n"; } printf "compound=true\nfontsize=18\nfontname=\"Helvetica\"\n"; printf "node [ fontname=\"Helvetica\" ]\n"; printf "graph [\nfontsize=8\nfontname=\"Helvetica\"\nlabelfontsize=8\n"; printf "labelfontname=\"Helvetica\"\n]\n"; printf "edge\n[\nfontname=\"Helvetica\"\nfontsize=8\n arrowhead=normal\n]\n";}/^[ ]*AE\(/ { line = gensub("\/\/.*$","",g); line = gensub("^[ ]*AE\\(","","g",line); line = gensub("[\);]","","g",line); line = gensub("act","","g",line); split(line,f,","); if (f[3] == "XC") f[3] = "*"; if (f[2] != "X") printf "%s -> %s [ label=\"%s, %s (%s)\"]\n", f[1], f[4], f[3], f[5], f[2]; else printf "%s -> %s [ label=\"%s, %s\"]\n", f[1], f[4], f[3], f[5];}END { print "}";};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?