(完整word版)IF-ELSE条件语句的翻译程序设计(LR方法、输出四元式)

(完整word版)IF-ELSE条件语句的翻译程序设计(LR方法、输出四元式)
(完整word版)IF-ELSE条件语句的翻译程序设计(LR方法、输出四元式)

目录

1 系统描述(问题域描述) (2)

2 文法及属性文法的描述 (2)

2.1文法 (2)

2.2 属性文法 (2)

3 语法分析方法描述及语法分析表设计 (3)

3.1语法分析方法描述 (3)

3.1.1 LR方法的基本思想 (3)

3.1.2 LR分析器模型 (4)

3.2语法分析表设计 (5)

4中间代码形式的描述及中间代码序列的结构设计 (6)

4.1中间代码形式的描述 (6)

4.2中间代码序列的结构设计 (6)

5 编译系统的概要设计 (6)

6 详细的算法描述 (7)

6.1系统流程图 (7)

6.2算法描述 (7)

7 软件的测试方法和测试结果 (18)

7.1软件的测试方法 (18)

7.2测试结果 (18)

8设计的特点、不足、收获与体会 (21)

8.1特点与不足 (21)

8.2收获与体会 (21)

9 参考文献 (21)

10本科生课程设计成绩评定表 (22)

IF-ELSE条件语句的翻译程序设计(LR方法、输出四元式)

1 系统描述(问题域描述)

对条件语句: if 〈布尔表达式〉then〈赋值语句〉 else 〈赋值语句〉,进行词法,LR(1)语法分析,并根据语法制导翻译方法将条件语句翻译成四元式中间代码形式,最后输出翻译后的四元式代码。

2 文法及属性文法的描述

2.1文法

G[S]: S->CS

S->TS

S->A

C->if E then

T->CS else

T->else

其中,E代表布尔表达式,可由界符()括起来,A代表赋值表达式。在这里E、A都代表终结符,具体的表达式在程序会判断其类型。

2.2 属性文法

S->C S

{S.clain:=merge(C.clain,S.clain)}

S->T S

{S.clain:=merge(T.clain,S.clain)}

S->A

{S.clain:0/* 空链*/}

C->if E then

{backpatch(E.true,nextstat) C.clain:=E.false}

T->C S else

{ q:=nextstat

Emit(‘GOTO’—)

Backpatch(C.clain,nextstat)

银行流水单翻译词汇(汇总)

中国各大银行名称缩写 中国建设银行——CCB(China Constuction Bank) 中国农业银行——ABC(Agricultural Bank of China) 中国工商银行——ICBC(Industrial and Commercial Bank of China) 中国银行——BOC(Bank of China) 中国民生银行——CMBC(China Minsheng Banking Co., Ltd) 招商银行——CMB(China Merchants Bank Ltd) 兴业银行——CIB (Industrial Bank Co., Ltd) 北京市商业银行——已经改名北京银行——BOB(Bank of Beijing) 交通银行——BCM(Bank of Communications) 中国光大银行——CEB(Chian Everbright Bank) 中信银行——(cvbnm` 广东发展银行——GDB(Guangdong Development Bank) 上海浦东发展银行——SPDB/SPDBank(Shanghai Pudong Development Bank) 深圳发展银行——SDB(Shenzhen Development Bank)

中国银行新线借记卡历史交易明细清单 Debit card transaction details history list 交易区间:2012/06/01 至2012/12/01 Trading range: to 打印日期:2012/12/17 打印网点: 11111 打印柜员:33333 Print date: Print branches:Print teller: 账号:1222222222 客户号:9999999 Account number: Customer number: 账户名:王三 Account name: WANG SAN 开户日期:2012/01/04 开户行:88881 Account opening date: Deposit bank: 产品大类:5500 产品子类:1999 Product Line: Subclass: 起息日:2012/01/12 到期日: Value date: Expiry date: 存折号:货币号: Bankbook number: Currency number: 交易日网点交易代码货币号交易金额交易余额摘要Trade date Branches Trade code Currency number Transaction amount Account balance Abstract 交易类别对方账号 Trade type Reciprocal account number

WHILE循环语句的翻译程序设计(递归下降法、输出三地址表示)

课程设计任务书 学生姓名:赵旭林专业班级:计算机0801班 指导教师:陈天煌工作单位:计算机科学与技术学院 题目: WHILE循环语句的翻译程序设计(递归下降法、输出三地址表示)初始条件: 理论:学完编译课程,掌握一种计算机高级语言的使用。 实践:计算机实验室提供计算机及软件环境。如果自己有计算机可以在其上进行设计。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)写出符合给定的语法分析方法的文法及属性文法。 (2)完成题目要求的中间代码三地址表示的描述。 (3)写出给定的语法分析方法的思想,完成语法分析和语义分析程序设计。 (4)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。 (5)设计报告格式按附件要求书写。课程设计报告书正文的内容应包括: 1 系统描述(问题域描述); 2 文法及属性文法的描述; 3 语法分析方法描述及语法分析表设计; 4 按给定的题目给出中间代码形式的描述及中间代码序列的结构设计; 5 编译系统的概要设计; 6 详细的算法描述(流程图或伪代码); 7 软件的测试方法和测试结果; 8 研制报告(研制过程,本设计的评价、特点、不足、收获与体会等); 9 参考文献(按公开发表的规范书写)。 时间安排: 设计安排一周:周1、周2:完成系统分析及设计。 周3、周4:完成程序调试及测试。 周5:撰写课程设计报告。 设计验收安排:设计周的星期五第1节课开始到实验室进行上机验收。 设计报告书收取时间:设计周的次周星期一上午10点。 指导教师签名: 2010年 11月 13日 系主任(或责任教师)签名: 2010年 11月 13日

FOR循环语句的翻译程序设计

目录 1 系统描述 (2) 1.1目的 (2) 1.2设计内容: (2) 1.3翻译过程 (2) 1.4初始条件: (3) 1.5 开发平台 (3) 2文法及属性文法的描述 (3) 3 语法分析表设计 (4) 3.1 LR分析概述 (4) 3.2 LR(0)分析表 (5) 3.3 LR语法分析过程的设计思想及算法 (7) 3.4 翻译方法 (8) 4 中间代码形式的描述及中间代码序列的结构设计 (8) 5简要的分析与概要设计 (9) 6详细的算法描述 (9) 6.1 main函数 (10) 6.2词法分析 (10) 6.3 语法分析 (12) 7 测试方法和测试结果 (13) 7.1测试过程 (13) 7.2 测试结论 (14) 8 研制报告 (14) 8.1研制过程 (14) 8.2本设计的评价 (15) 8.3个人心得体会 (15) 9 参考文献 (16) 本科生课程设计成绩评定表 (17)

FOR循环语句的翻译程序设计 ——LR方法、输出四元式 1 系统描述 1.1目的 通过设计、编制、调试一个FOR循环语句的语法及语义分析程序,加深对语法及语义分析原理的理解,实现词法分析程序对单词序列的词法检查和分析,并且实现对单词序列的语法分析、语义分析以及中间代码生成。 1.2设计内容: 本设计按照要求设计出for语句的简单文法,并使用LR分析法对用户输入的程序进行分析和翻译。 对下列正确的程序输入: for(i=0;i<10;i++) { m=m+i; } 结果程序要对该输入进行词法分析,然后利用LR分析法对词法分析后得到的单词序列进行语法分析,经过语法制导翻译显示出等价的四元式表示的中间代码。 对于错误的程序输入,如: for(i=0;i<10) { m=m+i; } 结果程序要指出程序出错。 1.3翻译过程

各种公司的翻译方法 中国常用词汇汉英对照 中国食物的的英文表述

各种公司的翻译方法中国常用词汇汉英对照中国食物的的英文表述各种公司的翻译方法 一、通称 公司 company, corporation, firm 母公司 parent company 总公司 head office 有限责任公司 company of limited liability 股份公司 joint stock company 私人公司 private company 股票上市公司 listed company 内资公司 domestic-funded company 独资公司 sole-funded company 内股公司 close company 股权公司 holding company 跨国公司 multinational corporation 外国公司 foreign corporation 地方公司 local company 集团公司 group company 子公司 subsidiary company 分公司 branch company 无限责任公司 company of unlimited liability 股份有限公司 company limited (Ltd.) 公营公司 public company 股票发行公司 stock issuing house 外资公司 foreign-funded company 合资公司 joint venture 控股公司 proprietary company 联营公司 affiliated company 跨业公司 conglomerate 国内公司 domestic corporation 离岸公司 offshore company 二、分类 贸易公司 trading/commercial company 外贸公司 foreign trade corporation 运输公司 transport company 航运公司 shipping company 工程公司 engineering company 投资公司 investment company 咨询公司 consulting company 保险公司 insurance company 清算公司 liquidation company 房地产公司 property / real estate company

IF-ELSE条件语句的翻译程序设计(LL(1)法、输出三地址表示) 2

IF-ELSE条件语句的翻译程序设计 1 问题描述 要求用LL(1)自顶向下分析方法及三地址中间代码,对IF-THEN-ELSE条件语句完成编译各阶段过程,包括词法、语法、语义等分析。 2 问题分析及编译系统的概要设计 编译过程一般分为六个阶段的过程,可以由六个模块完成,它们称为词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、代码优化程序、目标代码生成程序,此外,一个完整编译程序还必须包括“表格管理程序”和“出错处理程序”。 这次实验涉及到词法分析、语法分析、语义分析及表格管理和出错管理。其中,词法分析至少要能识别关键字“if”、“then”和“else”,标识符(即自定义变量),数字,和运算符等等;语法分析要分析程序结构的合法性,即是否为文法的句子;语义分析要能够语法制导翻译出中间代码(三地址)并将其输出;表格管理是指符号表;出错处理是指在语法分析时,所有非文法句子的错误类型处理. 3 文法及属性文法的定义 3.1 文法: 文法是用于描述语言的语法结构的形式规则(即语法规则)。这些规则必须是准确的、易于理解的以及有相当强的描述能力。由这种规则所产生的程序语言应有利于句子分析和翻译,而且,最好能通过这些规则自动产生有效的语法分析程序. IF-ELSE条件语句的文法如下所示: 0.A->EB 1.B->+EB|-EB|ε 2.E->FT 3.T->*FT|/FT|ε 4.F->i|(E) 或者能够更简洁一点: 0.S->if A THEN B ELSE C 1.A->m rop n

3.C->x=n arop m 4.rop->=|<|> 5.arop->+|-|*|/ 3.2 属性文法: 属性文法是在上下文无关文法的基础上,为每个文法符号(终结符或者非终结符)配备若干相关的“值”(与文法符号相关的属性)。 在一个属性文法中,对应于每个产生式A→a都有一套与之相关联的语义规则,每规 则的形式为:b:=f(c 1,c 2 ,…,c k )其中f是一个函数,而且或者①b是A的一个综合属性 并且c 1,c 2 ,…,c k 是产生式右边文法符号的属性或者②非终结符既可有综合属性也可有 继属性,文法开始符号的所有继承属性作为属性计算前的初始值。 属性文法为: if(VT[opr]=='=') //{"="判断}; { arr[d][1]=arr_i[opd]; arr[d][0]='='; arr[d][2]=id; arr[d][3]=' '; arr[d][4]=' '; id++; } else if(VT[opr]=='>') //{">"判断}; { arr[d][1]=arr_i[opd]; arr[d][0]='>'; arr[d][2]=id; arr[d][3]=' '; arr[d][4]=' '; id++; }

英语翻译常用词组汇总[1]

英语翻译常用词组汇总 be free from没有……的,不受……影响be identified as…被认为是… be known as被称做……,以……著称be known to为……所熟知 be popular with…受……欢迎 be prepared for对……做好准备 be regarded as被认为是…,被当做是… be satisfied with对……满意,满足于… be second to…次于… be sick of…对…感到厌倦 be used as…被用做… be used to…习惯于… get used to…习惯于… all of a sudden突然 all the time一直,始终 as a rule通常,照例 as far as...be concerned就...而言as to…至于…,关于… at best充其量,至多 before long 不久以后 beyond question毫无疑问 by all means尽一切办法,务必 every now and then时而,偶尔 in itself本质上,就其本身而言 sooner or later迟早,早晚 abide by… 遵守…,信守… agree with与…相一致同意…

be beneficial to… 有利于…,有益于… turn a blind eye to… 对…视而不见 by leaps and bounds飞速地,突飞猛进地 when it comes to一谈到…,就…而论 disagree with… 与…意见不一致不同意… give an opinion on… 对…发表意见 a dapt oneself to…=adjust oneself to…使自己适应于… attribute…to…把…归因于…,认为…是…的结果comment on…评论… concentrate on/upon…集中注意力于… on the contrary与之相反 convince somebody of something使某人确信某事deprive somebody of something剥夺某人某物 in detail详细地 be equipped with…装备有… in essence本质上 to…extent在…程度上 inform. somebody of something通知某人某事 lie in在于… major in主修… in the light of… 按照…,根据… on account of… 因为…,由于… in addition to… 除…之外 on (the/an) average平均,一般来说 on the basis of… 根据…,在…的基础上 at (the) best充其量,至多 on business因公,因事 in any case无论如何,总之

DO-WHILE循环语句的翻译程序设计

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:计算机科学与技术学院 题目: DO-WHILE循环语句的翻译程序设计(LL(1)法、输出三地址表示)初始条件: 理论:学完编译课程,掌握一种计算机高级语言的使用。 实践:计算机实验室提供计算机及软件环境。如果自己有计算机可以在其上进行设计。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)写出符合给定的语法分析方法的文法及属性文法。 (2)完成题目要求的中间代码三地址表示的描述。 (3)写出给定的语法分析方法的思想,完成语法分析和语义分析程序设计。 (4)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。 (5)设计报告格式按附件要求书写。课程设计报告书正文的内容应包括: 1 系统描述(问题域描述); 2 文法及属性文法的描述; 3 语法分析方法描述及语法分析表设计; 4 按给定的题目给出中间代码形式的描述及中间代码序列的结构设计; 5 编译系统的概要设计; 6 详细的算法描述(流程图或伪代码); 7 软件的测试方法和测试结果; 8 研制报告(研制过程,本设计的评价、特点、不足、收获与体会等); 9 参考文献(按公开发表的规范书写)。 时间安排: 设计安排一周:周1、周2:完成系统分析及设计。 周3、周4:完成程序调试及测试。 周5:撰写课程设计报告。 设计验收安排:设计周的星期五第1节课开始到实验室进行上机验收。 设计报告书收取时间:设计周的次周星期一上午10点。 指导教师签名: 2011年月日 系主任(或责任教师)签名: 2011年月日

DO-WHILE循环语句的翻译程序设计 (LL(1)法、输出三地址表示) 1. 系统描述 1.1 设计目的 通过设计、编制、调试一个DO-WHILE循环语句的语法及语义分析程序,加深对法及语义分析原理的理解,并实现词法分析程序对单词序列的词法检查和分析。 1.2 设计内容及步骤 对循环语句: DO〈赋值语句〉WHILE 〈表达式〉 (1)按给定的题目写出符合自身语法分析方法要求的文法和属性文法描述。 (2)按给定的题目给出语法分析方法的思想及分析表设计。 (3)按给定的题目给出中间代码序列的结构设计。 (4)完成相应的词法分析、语法分析和语义分析程序设计。 (5)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。 2. 文法及属性文法的描述 2.1 文法描述 K -> do L while S L -> SP P -> ;SP | ε S -> iQE E -> TG G -> +TG | -TG | εT -> FR R -> *FR | /FR | εF -> (E) | i Q -> = | < | > 2.2 属性文法的描述

for循环语句的翻译

课程设计任务书 学生姓名:辛波专业班级:计算机0707班 指导教师:彭德巍工作单位:计算机科学与技术学院 题目: FOR循环语句的翻译程序设计(递归下降法、输出四元式) 初始条件: 理论:学完编译课程,掌握一种计算机高级语言的使用。 实践:计算机实验室提供计算机及软件环境。如果自己有计算机可以在其上进行设计。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)写出符合给定的语法分析方法的文法及属性文法。 (2)完成题目要求的中间代码四元式的描述。 (3)写出给定的语法分析方法的思想,完成语法分析和语义分析程序设计。 (4)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。 (5)设计报告格式按附件要求书写。课程设计报告书正文的内容应包括: 1 系统描述(问题域描述); 2 文法及属性文法的描述; 3 语法分析方法描述及语法分析表设计; 4 按给定的题目给出中间代码形式的描述及中间代码序列的结构设计; 5 编译系统的概要设计; 6 详细的算法描述(流程图或伪代码); 7 软件的测试方法和测试结果; 8 研制报告(研制过程,本设计的评价、特点、不足、收获与体会等); 9 参考文献(按公开发表的规范书写)。 时间安排: 设计安排一周:周1、周2:完成系统分析及设计。 周3、周4:完成程序调试及测试。 周5:撰写课程设计报告。 设计验收安排:设计周的星期五第1节课开始到实验室进行上机验收。 设计报告书收取时间:设计周的次周星期一上午10点。 指导教师签名: 2010年 01月 08日 系主任(或责任教师)签名: 2010年 01月 08日

做翻译必须掌握的词汇24个技巧

做翻译必须掌握的词汇24个技巧 1、背单词贵在坚持,就算一天只记10个,如果持之以恒,也是一笔很大的财富。 2、单词遗忘得最快时候是刚开始记忆的前两天,所以说,这三天内,抓紧时间跟它们亲 密接触吧。 3、背单词不要按a-z背,选取核心词汇集中度高的S,T开始记忆。 4、背单词讲究重复次数,而不在乎单位时间,一个单词看十分钟,不如看十次,每次一 分钟。 5、一个单词看4遍,不如听一遍,写一遍,读一遍,再说一遍。 6、背单词不要急功近利,看一次肯定记不住,在不同的时间段不停地刺激对单词的记忆。 7、单词分消极词汇和积极词汇,阅读类词汇属于前者,只需考生能读懂,口语写作类词 汇属于后者,必须会应用。 8、善于利用学习工具,有不错的背单词软件能帮助你记得更快更牢,还能全面提升口语 和听力水平。 9、生活中的词汇积累不要放弃,平时多留心在任何地方出现的单词,很可能就会在雅思 考卷上出现。 10、阅读词汇不要抽离单个来记,放在原文中使用上下语境进行记忆。 11、单词不仅要背,而且要配合语音,这样才能在听力考试中准确辨别单词 12、听力单词要学会总结场景词汇,例如:租房类,银行类等等。 13、记忆听力词汇一定要边听边说,边听边写,不能边听边看,当眼睛和耳朵同时在工作 的时候,眼睛享有优先权,并没有练习到听力的能力。 14、背单词书只会增长阅读类的词汇,听说写类单词要学会按话题分类记忆。 15、平时多看原版文章和书籍,收集与作文各个话题相关的表达,这样才能写出最地道的 西式风格的作文。 16、写作词汇要注意多样性的表达,一个单词要使用其同义词进行替换。 17、写作词汇不盲目追求难词,一篇7分作文中,难词出现7-10个已足够。 18、写作词汇注意准确性的使用,如果不确定是否使用准确,不如不用。 19、积累必备的连接词,在口语和写作中展示逻辑性和结构性。 20、口语词汇要按四大类话题记忆,人物,事件,地点和物品。 21、口语词汇平时要学会积累,看美剧时,随手记下好用又地道的表达。

四级翻译词汇汇总

如何在强化阶段复习翻译,又如何在考试中夺取高分呢?我们认为:词汇和长难句是攻克翻译这座大山的不二法宝。 关注特殊词汇,学习日常生活词语 段落翻译的重点依然是词汇,特别是较为特殊的翻译类词汇,通过样卷分析,建议考生多关注一下和中国节日、历史事件、经济文化、旅游活动、社会发展等相关的词汇。大家可以关注以反映中国社会为主的一些英文杂志和报纸,例如中国日报及其网站。这份报纸的大部分内容确实超越了考生的实际水平,但考生可以学习一些涉及日常生活的词语。每天看看网站中的头条新闻,配合中文新闻的背景,就可以学到很多表达。中国日报网站下面的一个小栏目:language tips,有大量简单实用的双语文章,考生有时间可关注。同时,考生要购进一些难度不大的翻译书籍,注意中英文的切换规则。 写长难句可增加得分点 段落翻译的另一难点就是长难句的攻克,平时加大对长难句的分析,考试中才能写出精彩得分的句型。分析从句比较多的长难句,要找到句子的切分点,切分点主要有两种,一个是直接看到的,即连接词that、which、who、when等等;另外一个是潜在的,即各种动词形式,包括doing、to do(单独使用的)、done等等。 最后,注意做翻译一定要坚持两点,即打草稿和"写"。在头脑中形成的翻译不是翻译,落到纸上,仍然不一定是通顺的句子,所以,每次在做翻译时,一定要坚持把语言写出来,这样才能提

高语言组织能力。同时,长难句的翻译不是一气呵成的,要练习如何打草稿,保证不会因直接誊写出现涂改问题,通过平时的草稿练习,也锻炼下打草稿的清晰程度,避免在誊写时丢掉一些东西。 一、中国经济 企业文化corporate/entrepreneurial culture 企业形象corporate image (Cl); enterprise image 跨国公司cross-national corporation 创业精神enterprising spirit; pioneering spirit 外资企业foreign-funded enterprise 猎头公司head-hunter 假日经济holiday economy 人力资本human capital 航空和航天工业aerospace industry 飞机制造工业aircraft industry 电子工业electronic industry 汽车制造工业car industry 娱乐业entertainment industry 信息产业information industry 知识密集型产业knowledge-intensive industry 国有大中型企业large and medium-sized state-owned

WHILE循环语句的翻译程序设计(简单优先法、输出四元式)

WHILE循环语句的翻译程序设计(简单优先法、输出四元式) 1 需求说明或问题描述 1.1 问题描述 对C++中while循环语句的理解及分析,通过编译中的词法分析、语法分析、语义分析及中间代码生成等编译过程,用简单优先分析法分析并翻译while语句。 1.2 需求说明 1 写出符合给定的语法分析方法的文法及属性文法 2 完成题目要求的中间代码四元式的描述 3 写出给定的语法分析方法的思想,完成语法分析及语义分析程序设计 4 设计若干用例,上机通过测试 2 文法及语法设计 2.1文法及属性文法: 文法G=(V N ,V T ,P ,S) 其中V N={S , B, E, C, A, B, P, T} V T={w, (, ), { ,}, i, ;} P={ S -> w(B){E} E -> C C -> CA C -> A A -> iPA A -> i; P -> +|-|*|/ B -> iTi B-> i T -> >|<|>=|<=|== } 2.2 语法分析方法描述及语法分析表设计 2.2.1 语法分析方法描述: 简单优先分析法是按照文法符号(终极符和非终极符)的优先关系确定句柄的。 基本思想可设计如下,首先根据已知优先文法构造相应优先关系矩阵,并将

文法的产生式保存,设置符号栈S,步骤如下: (1)将输入符号串a1a2…a n#依次逐个存入符号栈S中,直到遇到栈顶符号a i的优先性>下一个待输入符号a j为止。 (2)栈顶当前符号a i为句柄尾,由此向左在栈中找句柄的头符号a k,即找到a k-1

词汇的翻译技巧

词汇的翻译技巧 词义对应关系: 完全对应(Complete Correspondence) 部分对应(Partial Correspondence ) 交叉对应(Intersection Correspondence) 不对应/零对应(Zero Correspondence) 完全对应(Complete Correspondence) 由于人类物质文化、感觉、认知和思维方式等方面的相似,英语和汉语中有些词所表达的意义是完全相对的。主要是一些已有通用译名的专有名词、科技术语和日常生活中的一些事物的名称。例如:Shakespeare —莎士比亚,the Himalayas —喜马拉雅山脉,astronomy —天文学,multimedia —多媒体,philosophy —哲学,baby —婴儿,sky —天空,snow —雪,等等。 这类词语一般不会带来翻译障碍,不存在词义的选择和转化问题。但是,我们在译语中寻找词义对应的词语时,还得提防找到的是“假朋友”,即假对应词。例如: brown sugar ≠褐糖(= 红糖) 吃药≠eat medicine (= take medicine) 喝汤≠drink the soup (= eat / have the soup) 拳头产品≠fist product (= knockout product)(原语中“拳头”的意义已经引申为“引人注目的人或事”)

green hand ≠绿手(= 新手)(原语中green一词多义,除了指“绿色”,还指“无经验的”) drawing room ≠画室(= 客厅) 部分对应(Partial Correspondence) 在英语和汉语之间,有些词在词义上只有部分对应。 1、它们的意义范围有广、狭之分。例如: uncle —叔叔,叔父,伯父,姑父,姨父,舅父 再如:“吃饭、吃药、吃官司、吃苦、吃回扣”中的“吃”词义范围远远大于英语的表层对应词eat,在英文中其正确意义包括have (a meal),take(medicine),involve in(a legal action),bear (hardships),receive(rebate),等等。 2、对应词的词义有抽象和具体、一般和个别之分。如: 1) beauty —美貌(抽象),美人(具体) 2) 饭—meal(一般),breakfast,lunch,supper,rice(个别) 3、还有些词语指称意义对应,但蕴涵意义不对应。例如: 英语的west wind和汉语的“西风”(指称的自然现象对应,但蕴涵意义则迥然相异。英语的west wind 相当于汉语的东风,具有温暖,和煦的含义。)

WHILE循环语句的翻译程序设计.

WHILE循环语句的翻译程序设计(递归下降法、输出三地址表示) 1 系统描述 按照课程设计的要求,写一个能识别while循环语句的文法,通过一定的变换使它符合递归下降法的要求,然后按照这个文法编写一个程序,该程序能识别输入的语句是否符合while语句的文法,或者能不能通过文法的开始符号推导出该语句。 该程序应该包括词法分析器,能对输入的语句进行词法分析,然后再对结果进行语法分析。词法分析器应能识别关键字,标示 符,常量,操作符等。 该程序的语法分析器能对输入的语法进行分析,判断输入语句能否满足while循环语句的文法。通过递归下降的方法对语句进行分析,看能否通过开始符号推导出来。 该程序的语义分析器就是对分析结果进行输出,要求输出结果是 三地址形式的。 2 文法及属性文法的描述 2.1文法描述 语句 > ::= while (< 条件表达式 > (< 赋值语句 > | 语句 > <条件表达式> ::= (<标识符>|<无符号整数>)<条件运算符> (<标识符>|<无符号整数> <标识符> ::= <字母> (<字母>|<数字> <条件运算符> ::= > | < | = <无符号整数> ::= <数字>(<数字>

<赋值语句> ::= <标识符>=(<标识符> | <数字> <算术运算符> (<标识符> | <数字> <算术运算符> ::= + | - | * | / <赋值语句> ::= <标识符>=<标识符> | <数字> 2.2递归文法 while语句文法: S -> while (B S | i=E B -> E relop E relop -> < | = | > E -> E+E | E-E | E*E | E/E | (E | i | n 在编写程序的时候用到的是递归下降法,而递归下降法对文法的要求是不能包含左递归,对上述的文法进行消除左递归之后,得 到如下的递归文法: S -> while (B S | i=E B -> E relop E relop -> < | = | > E -> (E F | iF | nF F -> +EF | -EF | *EF | /EF | ε 2.3属性文法的描述 产生式属性文法 S -> while (B S1S.begin:=newlabel;

WHILE循环语句的翻译程序设计课设报告

1.题目:将WHILE语句转换成四元式的程序实现 设计内容及要求:设计一个语法制导翻译器,将WHILE语句翻译成四元式。要求:先确定一个定义WHILE语句的文法,为其设计一个语法分析程序,为每条产生式配备一个语义子程序,按照一遍扫描的语法制导翻译方法,实现翻译程序。对用户输入的任意一个正确的WHILE语句,程序将其转换成四元式输出(可按一定格式输出到指定文件中)。 1、系统描述 通过设计、编制、调试一个WHILE循环语句的语法及语义分析程序,加深对语法 及语义分析原理的理解,并实现词法分析程序对单词序列的词法检查和分析。用语法 制导完成语义分析,并将形成的中间代码以四元式的形式输出。 2 、文法及属性文法的描述 。 2.1 文法的描述 该文法的产生式如下所示: (1)S->while(B){E} (2)E->AE (3)E->A (4)A->iPA (5)A->i (6)B->iTi & (7)B->i 其中while、( 、) 、{ 、} 、P、T 、;和i均为终结符,而S、A、B、E这些大写字母均为非终结符。T表示比较运算符,P表示算术运算符,i表示合法标识符。 2.2 属性文法的描述 对该文法的属性文法描述如下: (1) S->while(B){E} prinf(if B goto E else goto next) (2) E->AE print = · (3) E->A print =

(4) A->i P A print(A= P (5) A->i; = i; (6) B->i T i print(B = T (7) B->i = i 3 、语法分析方法描述及语法分析表设计 | 3.1 语法分析表设计 3.1.1 文法的DFA

科技英语词汇的特征及其翻译方法

科技英语词汇的特征及其翻译方法 【摘要】科技英语词汇的翻译要遵循准确、地道、精炼的原则,采取意译、字面译、音译、半音半意译、形译、移植译和采用外文缩写词几种翻译方法。本文通过实例对这些方法进行了详细的说明。 【关键词】科技英语;词汇特点;翻译原则;翻译技巧 为了学习和了解国外先进的科学技术,为了与别国进行科技交流,人们需要学习和研究大量国外的科技文章。但目前仍有不少人无法直接阅读外文文章,这就使得科技翻译(尤其是科技词汇的翻译)越来越受到人们的重视。 科技翻译为各民族的科技交流活动起到一种桥梁和纽带的作用。“翻译是一间屋子的窗户,它可以放进新鲜空气,并可以让我们看到外面的一切。”科技英语翻译以传达科技信息为主,是译者用译语表达英语科技信息以求信息量相似的思维活动和语际活动。科技词汇的翻译是科技英语翻译的重点和难点,为了准确地翻译科技词汇,译者首先需要熟悉科技词汇的形成和构成特点,准确理解科技词汇在具体上下文中的意思,然后根据具体情况灵活运用多种翻译方法斟酌确定。 一科技英语词汇的特点 科技英语是描述科技内容的英语,在词汇方面同基础英语没有绝对的界限,但科技英语作为一种特殊的文体,在用词方面有其自身特有的形成和构成特点。除了一些专门术语外,科技英语中使用的词语,大多属于正式书面语体的范畴。正式书面语的采用,有利于提高科技文章的正规性。科技翻译工作者应熟悉这类正式书面语的措词,在翻译时做到“忠实”,译出原文的语言风格。另外,科技英语词汇在其形成过程中也充分运用英语构词法,利用现有的语言材料,采用借用、组合、转换等构词方法来表达新的含义,因此,科技翻译工作者还应熟悉词汇的构成方法,根据词汇的形成和构成特点来理解和翻译词汇。 1.普通词汇专业化科技英语中某些专业术语是在赋予普通英语词汇以特定的新意后产生的。这些词汇在普通英语中早已存在,只不过意思不同而已,这就使得普通英语词汇在科技英语中成为具有特定含义和习惯用法的专业术语。如:mouse鼠标,package软件包,grandfather存档。译者应该阅读大量专业领域的科技文章,掌握一定数量的专业术语,只有这样才能真正弄懂原文的意思,才能做到翻译时地道准确不出差错。 2.借用外来语部分科技英语词汇来源于外来语。一些新出现的科技术语(以及由它们派生的词汇)经常借用其它语言的词汇,其中拉丁语、希腊语对英语科技词汇的影响源远流长。现代科技英语一方面仍直接从拉丁语、希腊语借用术语,另一方面又利用希腊语、拉丁语的词根,加上英语、拉丁语、希腊语的词缀构成更多科技词汇。如:chlorophyll(叶绿素)借用了希腊语词根chlor(绿色)和p hyll(叶子);rectifier借用了拉丁语recti(直的)。来自希腊语或拉丁语的科技英语词汇还有:phlebotomy静脉切开放血术,aero dynamics空气动力学, acupuncture针灸等。除此以外,英语科技词汇还不断借用其它语言,来丰富和发展自身。例如:借用法语的有chiffon 雪纺稠,波斯语的有bazaar市场,土耳其语的有kiosk凉亭,印地语的有nabob大富翁,日语的有ikebana插花艺术,马来语的有paddy稻,意大利语的有fresco壁画,德语的有antibody抗体,汉语的有pongee茧绸。 3.借用其它学科的词汇在科技英语中,某一学科尤其是一些新兴学科常会从相关学科借用一些词汇赋予新的意义内涵,从而孕育了该学科的一些词汇,这同时也极大地丰富了现代英语词汇的义项。如在机械加工行业中借用石油专业中的bit(钻头)来表示“切削刀”的意思;更为普遍的是,计算机英语从电子及无线电技术、自动化、数学等学科中借用了大量词汇,如:input

编译原理报告for循环语句的翻译程序

学号:0120810680326 课程设计 题目f or循环语句的翻译程序 学院计算机学院 专业软件工程 班级0803 姓名徐泽前 指导教师何九周 2011 年 6 月日

目录 1设计目的 (4) 2设计环境与工具 (4) 3设计任务要求与说明 (4) 4设计时间 (4) 5设计地点 (4) 6系统描述 (4) 7文法及属性文法的描述 (5) 7.1文法描述 (5) 7.1.1 FOR语句相关的产生式: (5) 7.1.2 布尔表达式: (5) 7.1.3 赋值表达式: (5) 7.2属性文法的描述 (5) 8 语法分析方法描述及语法分析表设计 (7) 8.1语法分析方法描述 (7) 8.2系统中使用的action和goto表(见附录1) (9) 9 给出中间代码形式的描述及中间代码序列的结构设计 (9) 10简要的分析与概要设计 (10) 11 详细的算法描述 (11) 11.1词法分析的数据结构设计与详细的流程图 (11) 11.2词法分析流程图 (11) 11.3语法制导翻译的数据结构与详细的设计图 (12) 11.3.1数据结构的设计 (12) 11.3.2算法描述 (13) 11.3.3程序流程图 (13) 12给出软件的测试方法和测试结果 (14) 12.1 FOR循环语句的测试 (14) 12.2词法分析出错处理 (15) 12.3语法分析出错处理 (16) 13收获与体会 (16) 14 参考文献 (17)

课程设计任务书 学生姓名:徐泽前专业班级:软件0803班 指导教师:何九周工作单位:计算机学院 题目: for循环语句的翻译程序 初始条件: 程序设计语言:主要使用C语言的开发工具,或者采用LEX、YACC等工具,也可利用其他熟悉的开发工具。算法:可以根据《编译原理》课程所讲授的算法进行设计。 要求完成的主要任务:(包括课程设计工作量及其技术要求,说明书撰写等具体要求) 1.明确课程设计的目的和重要性,认真领会课程设计的题目,读懂课程设计指导书的要求,学会 设计的基本方法与步骤,学会如何运用前修知识与收集、归纳相关资料解决具体问题的方法。严格要求自己,要独立思考,按时、独立完成课程设计任务。 2.主要功能包括:利用算符优先分析方法和思想对某些语句进行语法分析与语义分析,生成相 应的中间代码。正确运用语法规则,并能应用所学的方法解决存在的问题。语法分析方法及中间代码形式的描述、文法和属性文法的设计。 2.进行总体设计,详细设计:包括算法的设计和数据结构设计。系统实施、调试,合理使用出错 处理程序。 3.设计报告:要求层次清楚、整洁规范、不得相互抄袭。正文字数不少于0.3万字。包含内容: ①课程设计的题目。 ②目录。 ③正文:包括引言、需求分析、总体设计及开发工具的选择,设计原则(给出语法分析方法及中间代码形式的描述、文法和属性文法的设计),数据结构与模块说明(功能与流程图)、详细的算法设计、软件调试、软件的测试方法和结果、有关技术的讨论、收获与体会等。 ④结束语。 ⑤参考文献。 ⑥附录:软件清单(或者附盘)。 时间安排: 消化资料、系统调查、形式描述1天 系统分析、总体设计、实施计划3天 撰写课程设计报告书1天 指导教师签名: 2010年 6月 11日 系主任(或责任教师)签名: 2010年 6月 11日

do-while语句翻译程序

DO-WHILE循环语句的翻译程序设计 (LR方法、输出三地址表示) 1.系统描述 1.1设计目的 通过设计、编制、调试一个DO-WHILE循环语句的语法及语义分析程序,加深对语法及语义分析原理的理解,并实现词法分析程序对单词序列的词法检查和分析。 1.2设计内容及步骤 对循环语句:DO〈赋值语句〉WHILE 〈表达式〉 按给定的题目写出符合自身语法分析方法要求的文法和属性文法描述。 (1)按给定的题目给出语法分析方法的思想及分析表设计。 (2)按给定的题目给出中间代码序列的结构设计。 (3)完成相应的词法分析、语法分析和语义分析程序设计。 (4)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。 2文法的描述 本程序所用的文法如下: G[S]: (1)S->do{E;}while(B) {if B.true goto B.true else goto B.false;} (2)B->I1 rop I2 {B.type=bool;B.val=I1.val rop I2.val;} (3)E->I1=I2 op I3 {I1.val=I2.val op I3.val;} (4)I->id {I.val=id.val;} 注意:rop is < or >,op is +,-,*,/, id is any number or identifier 由上可知,非终结符B表示布尔表达式,E表示赋值表达式 3.语法分析方法描述及语法分析表设计 3.1语法分析方法描述 本实验采用LR分析方法对DO-WHILE语句进行语法分析。LR分析法是一种能根据当前分析栈中的符号串(通常以状态表示)和向右顺序查看输入串的K个(K>=0)符号就能惟一的确定分析器的动作是移进还是归约和用哪个产生式归约,因而也就能惟一的确定句柄。LR分析法的归约过程是规范推导的逆过程,所以LR分析过程是一种规范过程。 一个LR分析器由3个部分组成: 总控程序,也可以称为驱动程序。对所有的LR分析器,总控程序是相同的。 分析表或分析函数。不同的方法分析表将不同,同一个方法采用的LR分析器不同时,分析表也不同,分析表表又可以分为动作(ACTION)表和状态转换(GOTO)表两个部分,它们都可以用二维数组表示。 分析栈,包括文法符号栈和相应的状态栈。它们均是先进后出栈。

FOR循环语句翻译程序设计简单优先法三地址码JAVA

学 号: 27 课内实践报告课程名称编译原理 题目FOR循环语句的翻译程序设计(简单优先法、输出三地址码) 学院计算机科学及技术专业计算机科学及技术班级1201 姓名李潇颖 指导教师林泓

2014年12月9日 课内实践任务书 学生姓名:李潇颖专业班级:计算机1201班 指导教师:林泓工作单位:计算机科学及技术学院 题目: FOR循环语句的翻译程序设计(简单优先法、输出三地址码) 初始条件: 理论:学完编译课程,掌握一种计算机高级语言的使用。 实践:计算机实验室提供计算机及软件环境。如果自己有计算机可以在其上进行设计。 要求完成的主要任务:(包括课内实践工作量及其技术要求,以及说明书撰写等具体要求) (1)写出符合给定的语法分析方法的文法及属性文法。 (2)完成题目要求的中间代码三地址码的描述。 (3)写出给定的语法分析方法的思想,完成语法分析和语义分

析程序设计。 (4)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。 (5)设计报告格式按附件要求书写。课内实践报告书正文的内容应包括: 1 系统描述(问题域描述); 2 文法及属性文法的描述; 3 语法分析方法描述及语法分析表设计; 4 按给定的题目给出中间代码形式的描述及中间代码序 列的结构设计; 5 编译系统的概要设计; 6 详细的算法描述(流程图或伪代码); 7 软件的测试方法和测试结果; 8 研制报告(研制过程,本设计的评价、特点、不足、 收获及体会等); 9 参考文献(按公开发表的规范书写)。 时间安排: 设计安排一周:周1、周2:完成系统分析及设计。 周3、周4:完成程序调试及测试。 周5:撰写课内实践报告。 设计验收安排:设计周的星期五第1节课开始到实验室进行上机验收。

相关文档
最新文档