关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 一种新的IEC61131―3语言编译器中间结构的设计方案

一种新的IEC61131―3语言编译器中间结构的设计方案

作者: 时间:2010-07-01 来源:网络 收藏

图1所示是一个POU程序单元以三叉树链表的中间结构总体表示的总体形式。

本文引用地址://m.amcfsurvey.com/article/202533.htm


采用三叉树森林的方法能够充分的表示正常的高级语言,同时,与其他不同,该方法还引入了POU节点操作符和语句操作符,而省去了前端大量语法翻译的工作,符合工业语言多前端的特征。

2 中间结构说明
语法分析树的语法操作符可分为POU节点操作符、语句操作符和表达式操作符三种类型。下面来详细介绍这三种语法树节点的各种属性。
2.1 POU节点操作符
POU节点操作符可用于表示POU的开始、结束、作用域和变量定义。各节点属性如表l所列。
其中,语法操作以宏定义的形式声明。符号是该节点关联的符号表项。符号可分为POU符号和变量符号。POU符号包括POU名、参数个数及
类型、返回值类型、POU地址等信息;变量符号则包括变量名、类型、作用域和地址等信息。
表l中的唯一节点指整个森林第一层链表中的节点;叶节点指链表中一棵三叉树的叶节点。


2.2 语句操作符
语句操作符分为分支选择操作符、循环操作符、跳出、返回、调用和无条件跳转等。各节点属性如表2所列。
表2中的根节点指森林中一棵三叉树的根节点;中间节点指某三叉树中的中间节点,它既非根节点,也非叶节点。CH00SE的左子节点是条
件判定,中子节点是条件为真的内容,右子节点是条件为假的内容。同样,LOOP的左子节点是条件判定,中子节点是循环体,右子节点是循环计数。对于WHILE语句,右子节点可以为空。RETURN的左子节点是返回表达式子树。CALL的左子节点是参数子树,中子节点是调用子树。



评论


相关推荐

技术专区

关闭