自动生成流程图 flow.pl

软件和网站开发以及相关技术探讨
头像
oneleaf
论坛管理员
帖子: 10455
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04

Re: 自动生成流程图 flow.pl

#16

帖子 oneleaf » 2012-05-21 16:18

不错,:-)
头像
lerosua
论坛版主
帖子: 8455
注册时间: 2007-11-29 9:41
联系:

Re: 自动生成流程图 flow.pl

#17

帖子 lerosua » 2012-05-21 19:42

神这次创作不错,支持。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 自动生成流程图 flow.pl

#18

帖子 eexpress » 2012-05-21 20:05

增加了2行。
6种颜色区分函数。
欢迎大家测试。实际测试,才能发现小问题。

代码: 全选

● git.pl
#	modified:   flow.pl
本地需要提交。请输入提交的注释并回车(空注释将被日期代替):
flow+10
提交注释为 flow+10 的更新。
附件
gsm.png
gsm.png (24.39 KiB) 查看 3924 次
● 鸣学
shirazbj
帖子: 333
注册时间: 2010-01-30 18:38

Re: 自动生成流程图 flow.pl

#19

帖子 shirazbj » 2012-05-28 7:44

I got the svg drawing, but there is an error in terminal:

Error: test.dot:1: syntax error near line 1
context: >>> } <<<

is it all right?

Also wondering if this code works for fortran program?

sorry, no chinese input in my ubuntu.
免费NanoCAD=免费DraftSight+可API编程(用.net或者vbs和java脚本)=白白 AutoCAD
http://nanocad.com/
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 自动生成流程图 flow.pl

#20

帖子 eexpress » 2012-05-28 9:15

这提示,肯定是生成的dot的格式不对。第1行。
你贴附近几行出来看看。
● 鸣学
shirazbj
帖子: 333
注册时间: 2010-01-30 18:38

Re: 自动生成流程图 flow.pl

#21

帖子 shirazbj » 2012-05-28 14:48

eexpress 写了:这提示,肯定是生成的dot的格式不对。第1行。
你贴附近几行出来看看。
seems { } not match.
附件
test.dot
(1.07 KiB) 已下载 115 次
免费NanoCAD=免费DraftSight+可API编程(用.net或者vbs和java脚本)=白白 AutoCAD
http://nanocad.com/
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 自动生成流程图 flow.pl

#22

帖子 eexpress » 2012-05-28 14:53

是没对上。你是不是使用的最新版本。
1楼的wget那行的地址。
写的那2天,我更新频繁的。说不定中间提交的,反而不对。
● 鸣学
头像
Cherrot
帖子: 981
注册时间: 2011-04-03 10:01
系统: Ubuntu 12.XX
来自: 帝都
联系:

Re: 自动生成流程图 flow.pl

#23

帖子 Cherrot » 2012-05-28 14:54

前来观神 :em04
Ubuntu技巧汇总http://wiki.ubuntu.org.cn/UbuntuSkills --你遇到的各种问题可能已经在里面了
我的技术博客http://www.cherrot.com
Code tells you how, comments should tell you why.
shirazbj
帖子: 333
注册时间: 2010-01-30 18:38

Re: 自动生成流程图 flow.pl

#24

帖子 shirazbj » 2012-05-28 15:41

是用一楼地址得来的。
免费NanoCAD=免费DraftSight+可API编程(用.net或者vbs和java脚本)=白白 AutoCAD
http://nanocad.com/
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 自动生成流程图 flow.pl

#25

帖子 eexpress » 2012-05-28 15:45

那就是你的函数入口注释,没写>的尾巴。
写成这样。因为处理多个函数的时候,只能指明入口。看1楼的多函数的图。

代码: 全选

///Gsm_Wait_S>
例子如下

代码: 全选

● g '///' Ubuntu\ One/graphviz\ example/gsm.c 
50:{ ///GSM_Do_FB>
51:	R.S_FB.Head=SmsFB; ///设置缺省值
55:	/// 复制结构到内存
59:	/// 阀门关闭?马达状态2号:马达状态1号
62:	///获取验证数据
70:/// Gsm_Wait_S>
77:   leng=get_strlen(ack); ///取得ack长度
78:   while(timeout--)   //等待接收完毕///超时检查?:>返回超时
80:      if(U6RecCount>oldint)oldint=U6RecCount; ///计数大于保留?保留等于计数
81:      delay_1ms(6); ///延时6毫秒
82:      if(U6RecCount==oldint) ///xxxx保留?:>返回超时
84:         a=find_arr(GSM_RT,U6RecCount,ack,leng); ///接收信息
85:         if(a==SUCCESS){return SUCCESS;} ///接收Ack成功?>返回成功
87:         ///接收错误信息
88:         if(a==SUCCESS)return ACK_ERROR;///接收Err成功?>返回错误
90:   } ///测试
91:   return ACK_TIMEOUT;///>返回超时
95:{///Gsm_Send_AT>
99:	i=get_strlen(Send_AT); ///获取发送长度
100:	UART6_SendData(Send_AT,i); ///发送数据
101:	if(Flag_Order) ///order标志?:>等待返回
103:		tmp[0]=Flag_Order/10+0x30;tmp[1]=Flag_Order%10+0x30;///根据order格式化数据
105:		UART6_SendData(tmp,4);///发送格式化数据
108:	i=Gsm_Wait_S(Find_AT,Gsm_de_search_cnt);///>等待返回
279:	Telephone_NO = GSM_RT+DoubleChar[3]-6 ;////
334:		if(f>1)FlagBit.F_GsmAllRead=1;////
623:	Gsm_Order=0;FlagBit.F_GsmReadEn=0;FlagBit.F_GsmAllRead=0;////
691:		Gsm_AgainStart();////
● 鸣学
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 自动生成流程图 flow.pl

#26

帖子 eexpress » 2012-05-28 15:48

代码: 全选

flow.pl 文件【各类语法的源码,只要注释不和///冲突】
语法说明:
	xxx> 表示函数入口。通常是函数名。
	>xxx 表示函数出口。通常是return。
	xxx?yyy:zzz 条件判断语句。yyy为真,zzz为假。可省略其一。如:xxx?yyy 或者 xxx?:zzz。
	循环体,如while if等,写成条件判断的时候,:后面的假分支,如果指向return返回语句,必须也加上>的前缀。
-h 的提示。
● 鸣学
shirazbj
帖子: 333
注册时间: 2010-01-30 18:38

Re: 自动生成流程图 flow.pl

#27

帖子 shirazbj » 2012-05-28 17:38

我是把你10楼的例子存成test.c了。

那个是没写>的尾巴
免费NanoCAD=免费DraftSight+可API编程(用.net或者vbs和java脚本)=白白 AutoCAD
http://nanocad.com/
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 自动生成流程图 flow.pl

#28

帖子 eexpress » 2012-05-28 17:45

10楼的过时了。25楼的吧。:D
● 鸣学
shirazbj
帖子: 333
注册时间: 2010-01-30 18:38

Re: 自动生成流程图 flow.pl

#29

帖子 shirazbj » 2012-06-04 13:45

xxx?yyy:zzz

yyy can not have sapce in it. so not good for english.

is it possible to make it friendly with english?

thx
免费NanoCAD=免费DraftSight+可API编程(用.net或者vbs和java脚本)=白白 AutoCAD
http://nanocad.com/
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 自动生成流程图 flow.pl

#30

帖子 eexpress » 2012-06-04 14:27

shirazbj 写了:xxx?yyy:zzz

yyy can not have sapce in it. so not good for english.

is it possible to make it friendly with english?

thx
dot语言不支持空格和-
只好增加了一行。
next if $i eq "";
$i=~s/[\ -]/_/g;
if($i=~/>$/){ #入口
● 鸣学
回复