欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

代碼分析的原理

代碼分析的原理?

PMD執(zhí)行Java代碼分析的原理PMD是一種代碼靜態(tài)分析工具,當(dāng)使用PMD規(guī)則分析Java源碼時(shí),PMD首先利用JavaCC和EBNF文法產(chǎn)生了一個(gè)語法分析器,用來分析普通文本形式的Java代碼,產(chǎn)生符合特定語法結(jié)構(gòu)的語法,同時(shí)又在JavaCC的基礎(chǔ)上添加了語義的概念即JJTree,通過JJTree的一次轉(zhuǎn)換,這樣就將Java代碼轉(zhuǎn)換成了一個(gè)AST,AST是Java符號(hào)流之上的語義層,PMD把AST處理成一個(gè)符號(hào)表。然后編寫PMD規(guī)則,一個(gè)PMD規(guī)則可以看成是一個(gè)Visitor,通過遍歷AST找出多個(gè)對(duì)象之間的一種特定模式,即代碼所存在的問題。自定義PMD實(shí)現(xiàn)規(guī)則有如下2種方式:(1). 自定義Java類并繼承(2). 自定義XPATH表達(dá)式,編寫xml規(guī)則,在規(guī)則的properties-property節(jié)點(diǎn)中定義XPATH表達(dá)式,該表達(dá)式是依賴于抽象語法樹AST的。

java ast,代碼分析的原理