Ratfor—Fortran翻译程序.pdf
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Ratfor Fortran 翻译 程序
- 资源描述:
-
普資民htp:/iwwww.cqvip.com
第12卷第3
尔滨电工学院学报
Vo1 12 N 3
1989年9月
HIET Journal
Sep.1989
Ratfor- Fortran翻译程序
菱兴棠马睿赵贵军
哈尔滨电工学院)
本文主要介绍了结构 Fortran语言到 Ratfor语言的制译方法,具体介绍了
Forirュn语言与 Ratfor语言的区和把 Ratfor语言中的控制流语向翻译成
Fortran语言的擅耥流语句的方法。
关词:割译锃序,编译程序,词法分祈,语法分祈。
且前,尽管 Foriran语言使用起米不十分令人满意,主要是它存在着控制流不好的
缺陷,但它却具有便用广泛、效率较高等优点,为了便于结构化程序没计,人们对 Fortran
的不足之处加以改进。使之具有易于編程、易于阅读、修改和结构良好等优点。这种改
进后的 Fortran就称为 Ratfor。本义所论述的 Ratforー上 orta翻译程序是用 Pascal!语言
设计,在MC-6800机上调试而成的一种软件工具。利用它可把 Ratfor用户程序翮译成
标准 Fortran,主要是想利用 Fortran]语言的编译程序,而不专为 Ralfor语言设计一种编
译程膵,这样,不仅节省了人力、物ガ、財カ,而且又改进了 Fortran语言控制流不好
的缺陷,这种对高级语言加以改进的思想,是美国叭尔头验室P.L. Planger-于1976年提
H来的,日前,在国际上已广乏采用。
2 Ratfor语言和 outran语言区别举例
Rat「or语ぎF除了 Fortran语中的控制流语句不同而外,其它任何语句基本相同,
本文就仅以两种语舌的控制流语为例,作一说明
2.1語句的组合
Ratfori可以利用、;把一纽语括在一起,組合成一?个单独的语句使用, Fortran必
须利用把这组语句縮减成子程序的办法来完成相同功能。
2.2IF- ELSEE语句
Rat for的条件i中包有选择项ele部分,币 Fortran中,无论是算术i,还是逻辑
本文于1989g?b日泫到
普資民htp:/iwwww.cqvip.com
哈尔滨电工学孛損
第]2
if,它都不具有逍择琙clse部分。其语法如下:
IF(合理的 ferlaれ条件)
Ratfor stれ temen t
FLSIE Ratfor statemen
山clsc部分是 Ratfor slate en L,则它可能是一个再含有eIse部分的if语句,这样,
就会引起i与elscた间的匹配混乱,在 Ratfor中,采用通用的 Pascali语言、PL/1语言中
的条件[F语句的规定、以便掌擢和接受。
2.るD0烝句
两种语言中的语句相类似,只是在 Ratfer语言中的DO语句,不象 Nortran.语言
中的DO语句那样、使用语句括号标志循环体的起止位置,而是利用语句组合形式把整
个循环体括在一起的方法来买现的。其语法如下:
Do(legal Forlran De statement condition
iにatft
2.4 WHILE哥句
由于D0语句甲,论条件如河,循环体都一定被执行一次,而 while语句则克服这
个缺点,当且仅当条件为真时,才杕行循环体,这就有可能使循环体一次也不执行。其
法如下:
WHILE(legal fo
ndition)
Ratfor stat
r Fortran语言中,没肓提供该语句
2.5 BREAK和NEXT语句
Ratfer提供 break语句是为了避免死循环前提出米的,凡执行循环体中的语句时
当遇到 break语句,控制流就朓出该层循环。NEXT语何则是为了更早地在循环体
,使控制流开始下一次循环的执行。即它与 break.语句不同之处是 breaki语句使控制
流跳出该层循环,心Next语句则是使该层循环再次从头开始执
2.6F0R, REPEAT.语句
Ratfori虽然提供了这炳种循环语句,但它们可以用Do或WH1LE语句代替,所以,
在此就不详述。
3 Ratfor语法
为了避描述上的二义性,本语言仍采用BNF范式米描述。
程序:语句
序语
i语:if(条件)语行
if(字件)语句 elsen语
While(条件)语句
lfur(初始值,条件,改变初值)语句
普资民.http:/www.cqvip.com
第3期
姜兴宋等; Ratforー Fortran制译序
265
repeat语句
t语句 until(条件)
do(条件)语句
」数字串语句
I break
n
(程序」
其它类型
这种语法图定义是递归的,开始两行说明一个程序是由若干条语句组成的,从语句
的定义可以看出,它是由有关鍵字、数字串、く或其它符号开头的一个符号串所组成
其中,其它类型的定义是相当有用的,它把 Ratfor和 Fortran两种语雷中完全相同的语
到全部归属于此类。
4程序设计思想及用户程序运行流程图
该轵件的设计思想与一个編译程序的设计思想一样,它包含词法分析、语法分析、
代码生成等尻↑部分。基于本文所述的謝译程序短小情,在设计过程中,把三个阶段
熔为一体;一次扫描完成,最终生成的是标准 Fortran语言程序。
4.1词法分折程序
它完成把 Watford的用户程序分解成一个个独立的符号书,根据符号串的类型鲐变量
L玊X赋给不同的标志,共崔图如图1所示。
4.2法分折程序
它是在词法分析的
基础上,对每一个符号
们手にati:t!月字リーp?
弔作相应的处理,调用
相应的目标代码生成程
rワ唱是所行こ.马?
序(生成标准的 Fortran
语程序)来完成代码
听取存号-令『门どでジ改なに?分,な「圆括ら,省大括号吗ラ
生成的。框图见图2。
4.る目标代码生成强序
所存号足由数字1L的致字申↓?
?标代码生成程序
主要是在语法分折程序
所取符号韦尾共字以?「市キ来
[.EX-I-E飞ItIT
中,被调用来产生标
置变皇し上X=[.ENYC7T[IL
准 Fortran代码的子程
重文量LEなー并字低
子。在本软件设计中,
适下
针对不同情况的目标代
码生成程序较多,本文
1词法分析崔序拒图
展开阅读全文
文档分享网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。



链接地址:https://www.wdfxw.net/doc32773336.htm