一種新的IEC31131-3語(yǔ)言編譯器中間結(jié)構(gòu)的設(shè)計(jì)方案
符號(hào)指針是指向該節(jié)點(diǎn)關(guān)聯(lián)的符號(hào)表項(xiàng),并非所有節(jié)點(diǎn)的此項(xiàng)都有內(nèi)容,具體那些節(jié)點(diǎn)中可以關(guān)聯(lián)符號(hào)也將在下一節(jié)介紹。
圖1所示是一個(gè)POU程序單元以三叉樹鏈表的中間結(jié)構(gòu)總體表示的總體形式。
采用三叉樹森林的方法能夠充分的表示正常的高級(jí)語(yǔ)言,同時(shí),與其他編譯器不同,該方法還引入了POU節(jié)點(diǎn)操作符和語(yǔ)句操作符,而省去了前端大量語(yǔ)法翻譯的工作,符合IEC工業(yè)語(yǔ)言編譯器多前端的特征。
2 中間結(jié)構(gòu)說(shuō)明
語(yǔ)法分析樹的語(yǔ)法操作符可分為POU節(jié)點(diǎn)操作符、語(yǔ)句操作符和表達(dá)式操作符三種類型。下面來(lái)詳細(xì)介紹這三種語(yǔ)法樹節(jié)點(diǎn)的各種屬性。
2.1 POU節(jié)點(diǎn)操作符
POU節(jié)點(diǎn)操作符可用于表示POU的開始、結(jié)束、作用域和變量定義。各節(jié)點(diǎn)屬性如表l所列。
其中,語(yǔ)法操作以宏定義的形式聲明。符號(hào)是該節(jié)點(diǎn)關(guān)聯(lián)的符號(hào)表項(xiàng)。符號(hào)可分為POU符號(hào)和變量符號(hào)。POU符號(hào)包括POU名、參數(shù)個(gè)數(shù)及類型、返回值類型、POU地址等信息;變量符號(hào)則包括變量名、類型、作用域和地址等信息。
評(píng)論