一種新的IEC61131―3語言編譯器中間結(jié)構(gòu)的設(shè)計方案
2.3 表達(dá)式操作符
表達(dá)式操作符包括所有的高級語言運(yùn)算符,如賦值、算術(shù)、關(guān)系、邏輯運(yùn)算符等,以賦值、取地址和加法運(yùn)算符為例,其表達(dá)式操作符號主要屬性如表3所列。本文引用地址:http://www.ex-cimer.com/article/202533.htm
3 ST語言代碼對應(yīng)的中間結(jié)構(gòu)表示
本節(jié)以一段ST的POU程序為例,將其轉(zhuǎn)化為中間結(jié)構(gòu),以證明中間結(jié)構(gòu)的可行性。假設(shè)此POU中所定義的整型變量為a,b,那么,其POU
程序如下:
a:=l:
b:=a+2:
IF (a=b) THEN
a:=a+1:
ELSE
b:=b+1:
END_IF;
對應(yīng)的中間結(jié)構(gòu)如圖2所示。其中,EQUAL是等值運(yùn)算符的宏定義。
結(jié)束語
本文介紹了一種三叉樹的中間結(jié)構(gòu)設(shè)計方案。該方案充分考慮了IEC61131―3組態(tài)軟件的多前端特性,并能夠做到不依賴于后端,同時為各語言翻譯前端的設(shè)計提供了很大的便利。這種中間結(jié)構(gòu)設(shè)計在HCC(Hollysys C Compiler)編譯器的開發(fā)中已經(jīng)實現(xiàn),其可行性也得到了驗證,并已應(yīng)用在實際的組態(tài)軟件開發(fā)項目中。
評論