书签 分享 收藏 举报 版权申诉 / 5

类型Ratfor—Fortran翻译程序.pdf

  • 上传人:张凌风139
  • 文档编号:32773336
  • 上传时间:2020-02-11
  • 格式:PDF
  • 页数:5
  • 大小:108KB
  • 配套讲稿:

    如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词法分析崔序拒图
    展开阅读全文
    提示  文档分享网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Ratfor—Fortran翻译程序.pdf
    链接地址:https://www.wdfxw.net/doc32773336.htm
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    版权所有:www.WDFXW.net 

    鲁ICP备09066343号-25 

    联系QQ: 200681278 或 335718200

    收起
    展开