<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 一種新的IEC61131―3語言編譯器中間結(jié)構(gòu)的設(shè)計方案

          一種新的IEC61131―3語言編譯器中間結(jié)構(gòu)的設(shè)計方案

          作者: 時間:2010-07-01 來源:網(wǎng)絡(luò) 收藏

          圖1所示是一個POU程序單元以三叉樹鏈表的中間結(jié)構(gòu)總體表示的總體形式。

          本文引用地址:http://www.ex-cimer.com/article/202533.htm


          采用三叉樹森林的方法能夠充分的表示正常的高級語言,同時,與其他不同,該方法還引入了POU節(jié)點操作符和語句操作符,而省去了前端大量語法翻譯的工作,符合工業(yè)語言多前端的特征。

          2 中間結(jié)構(gòu)說明
          語法分析樹的語法操作符可分為POU節(jié)點操作符、語句操作符和表達(dá)式操作符三種類型。下面來詳細(xì)介紹這三種語法樹節(jié)點的各種屬性。
          2.1 POU節(jié)點操作符
          POU節(jié)點操作符可用于表示POU的開始、結(jié)束、作用域和變量定義。各節(jié)點屬性如表l所列。
          其中,語法操作以宏定義的形式聲明。符號是該節(jié)點關(guān)聯(lián)的符號表項。符號可分為POU符號和變量符號。POU符號包括POU名、參數(shù)個數(shù)及
          類型、返回值類型、POU地址等信息;變量符號則包括變量名、類型、作用域和地址等信息。
          表l中的唯一節(jié)點指整個森林第一層鏈表中的節(jié)點;葉節(jié)點指鏈表中一棵三叉樹的葉節(jié)點。


          2.2 語句操作符
          語句操作符分為分支選擇操作符、循環(huán)操作符、跳出、返回、調(diào)用和無條件跳轉(zhuǎn)等。各節(jié)點屬性如表2所列。
          表2中的根節(jié)點指森林中一棵三叉樹的根節(jié)點;中間節(jié)點指某三叉樹中的中間節(jié)點,它既非根節(jié)點,也非葉節(jié)點。CH00SE的左子節(jié)點是條
          件判定,中子節(jié)點是條件為真的內(nèi)容,右子節(jié)點是條件為假的內(nèi)容。同樣,LOOP的左子節(jié)點是條件判定,中子節(jié)點是循環(huán)體,右子節(jié)點是循環(huán)計數(shù)。對于WHILE語句,右子節(jié)點可以為空。RETURN的左子節(jié)點是返回表達(dá)式子樹。CALL的左子節(jié)點是參數(shù)子樹,中子節(jié)點是調(diào)用子樹。



          關(guān)鍵詞: 61131 IEC 編譯器 設(shè)計方案

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();