让大家见识一下新一代分析源代码生成流程图的东东吧

源代码有点复杂,只是形式不用在意执行意义,它只是展示大部分所有的语法点:循环及其break和continue、goto、分支、try...catch等等,应有尽有。

int  SocketAgent::DataReceiver( char   * data)
{
    SocketAgent 
* a;
    
int  ret = 0 ,pos,len,count;
    
int  buff[ 1024 ];
    
int   * i_data = ( int   * )data;
    len
= 0 ;
    
do {
        
if (i_data[len] == ' a ' )
        {
            
while (i_data[len]  &&  len < 1024 )
            {
                
if (i_data[len] == ' \r ' )
                {
                    len
++ ;
                    
continue ;
                }
                
if (i_data[len] == ' \n ' )
                    
break ;
            }
        }
    }
while (len < 1024 );

    
for ( int  i = 0 ,pos = 0 ,count = 0 ;i < 1024 ;i ++ )
    {
        
if (i_data[i] != ' q ' )
            buff[pos
++ ] = i_data[i];
        
if (i_data[i] == ' b ' )
        {
            
break ;
        }
        
else
            count
++ ;
        
if (i_data[i] == T_ERROR)
        {
            
goto  _exit;
        }
    }
    
try {
        
if (len >= 1024 )
            
throw ( " throw out " );
    }
catch ( char   * error)
    {
        ShowMessage(error);
    }
    
switch (count)
    {
        
case   1 :
            ret
= 100 ;
            
break ;
        
case   2 :
            ret
= 200 ;
            
break ;
        
default :
            ret
= 300 ;
            
break ;
    }
    
return  ret;
    _exit:
    ret
= 1001 ;
    
return  ret;
}
再看看分析后的流程图
让大家见识一下新一代分析源代码生成流程图的东东吧
是不是比单纯看代码容易很多?

你可能感兴趣的:(代码生成)