程序设计语言常用语法与翻译
程序设计语言名词解释
程序设计语言名词解释
程序设计语言是一种人造的语言,用于编写计算机程序。
以下是一些常见的程序设计语言名词解释:
1. 变量:程序设计语言中的变量是一种存储数据的容器,可以存储不同类型的数据,如整数、浮点数、字符串等。
2. 数据类型:程序设计语言中的数据类型指的是变量可以存储的数据类型,如整型、浮点型、字符型、布尔型等。
3. 函数:函数是一段可重复使用的代码块,可以接受输入参数和返回值。
函数可以提高代码的复用性和可维护性。
4. 控制流程:程序设计语言中的控制流程用于控制程序的执行流程,如if-else语句、循环语句等。
5. 注释:注释是程序员在代码中添加的说明性文字,不会被编译器执行。
注释通常用于解释代码的作用、实现思路等。
6. 编译器:编译器是将程序设计语言翻译成计算机可以执行的指令的软件工具。
编译器可以将高级语言翻译成机器语言。
7. IDE:IDE是一种包含编辑器、编译器、调试器等工具的集成开发环境,可以提高开发效率和代码质量。
8. 库:库是一组可重复使用的代码,可以提供常用的功能模块,如图形界面库、网络库等。
9. 接口:接口是一组规定好的函数、数据结构等,用于不同模块之间的通信和交互。
10. 语法:程序设计语言中的语法是指语言的规则和结构,用于
描述程序的组成方式和执行流程。
语法错误会导致程序无法编译或运行。
编译原理课件05语法制导翻译技术和中间代码生成
5.4 中间代码
四元式的特点: 1. 四元式出现的顺序和语法成份的计值 顺序相一致. 2. 四元式之间的联系是通过临时变量实 现的,这样易于调整和变动四元式. 3. 便于优化处理.
5.4 中间代码
编译系统中,有时将四元式表示成另一 种更直观,更易理解的形式——三地址代 码或三地址语句. 三地址代码形式定义为: result := arg1 OP arg2 三地址语句:语句中是三个量的赋值语句, 三地址语句 每个量占一个地址.
5.5 自下而上的语法制导翻译
例3 简单算术表达式翻译到四元式的 语义描述 例如,设有简单算术表达式的文法: E→E+E | E*E | (E) | i
T R / S T
c S a c
c R S
输入是bR / bTc / bSc /ac 输出为: 1 4 5 314 24 31 给出相应语义动作(翻 译方案) S→bTc { print "1"} { print "2"} S→a R T→R { print "3"} R→R/S { print "4"} R→S { print "5"}
5.1 概述
例如: 表达式 A+B*C 对运算对象进行类型检查, 对变 量进行先定义后使用检查 执行真正的翻译 如果静态语义正确, 语义处理则要执 行真正的翻译, 即生成程序的某种中间 代码的形式或直接生成目标代码.
5.1 概述
目前多数编译程序进行语义分析的方 法是采用语法制导翻译法 .它不是一种 采用语法制导翻译法 形式系统, 但它比较接近形式化. 语法制导翻译法使用属性文法为工具 来描述程序设计语言的语义.
5.4 中间代码
汇编简介及语言语法大全
汇编汇编大多是指汇编语言,汇编程序。
把汇编语言翻译成机器语言的过程称为汇编。
在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。
这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。
于是汇编语言亦称为符号语言。
用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理的系统软件。
汇编汇编语言(Assembly Language)是面向机器的程序设计语言。
汇编语言比机器语言易于读写、易于调试和修改,同时也具有机器语言执行速度快,占内存空间少等优点,但在编写复杂程序时具有明显的局限性,汇编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植。
是能完成一定任务的机器指令的集合。
常说汇编语言过时,是低级语言,并不是说汇编语言要被弃之,相反,汇编语言仍然是程序员必须了解的语言,在某些行业与领域,汇编是必不可少的,非它不可适用。
只是,现在计算机最大的领域为IT软件,也是我们常说的Windows 编程,在熟练的程序员手里,使用汇编语言编写的程序,运行效率与性能比其它语言写的程序是成倍的优秀,但是代价是需要更长的时间来优化,如果对计算机原理及编程基础不扎实,实在是得不偿失,对比现在的软件开发,已经是市场化的软件行业,加上高级语言的优秀与跨平台,一个公司不可以让一个团队使用汇编语言来编写所有的东西,花上几倍甚至几十倍的时间,不如使用其它语言来完成,只要最终结果不比汇编语言编写的差太多,就能抢先一步完成,这是市场经济下的必然结果。
但是,至今为止,还没有程序员敢断定汇编语言是不需要学的,一个不懂汇编语言的程序员,只是三流的程序员,这是大部分人的共识,同时,技术汇编语言(Assembly Language)是面向机器的程序设计语言精湛的汇编程序员,已经脱离软件开发,挤身于工业电子编程中,一个电子工程师,主要开发语言就是汇编,c语言使用只占极少部分,而电子开发工程师是千金难求,在一些工业公司,一个核心的电子工程师比其它任何职员待遇都高,对比起来,一般电子工程师待遇是程序员的十倍以上。
编译原理报告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.明确课程设计的目的和重要性,认真领会课程设计的题目,读懂课程设计指导书的要求,学会设计的基本方法与步骤,学会如何运用前修知识与收集、归纳相关资料解决具体问题的方法。
语言程序设计基础01
PART 01 Visual Basic概述什么是程序设计语言?我们想用计算机解决一个问题,必须事先设计好计算机处理问题的步骤,然后把这些步骤按照计算机能够识别的指令编写出来。
并送给计算机执行,计算机才能按照我们的意图完成指定的工作。
我们把计算机能够执行的指令序列称为程序。
编写程序的过程称为程序设计。
显然我们人类是通过程序来告诉计算机该如何处理问题,那么如何与计算机进行交流?人类与计算机的交流存在鸿沟,计算机听不懂人类语言。
假如我们直接对着电脑说出汉语、英语、俄语等其他自然语言跟计算机交流,计算机听不懂。
计算机只能理解0和1的二进制的指令码,这个时候就需要一种填补语言(中间的媒介)来跨越人与计算机交流的鸿沟。
你好语言程序桥梁这种语言不仅我们人类能理解,,而且计算机也能明白,这种特殊的语言成为程序设计语言,实现人与计算机之间的交流。
程序设计语言与现代计算机共同诞生,共同发展,至今已有60多年的历史;形成规模庞大的家族,经历了机器语言、汇编语言和高级语言三个阶段。
计算机语言用二进制代码0和1来表示计算机可直接执行的指令,每条指令让计算机执行一个简单动作。
对人类来说机器语言比较晦涩难懂,但计算机却可以直接理解和执行,为了克服这个问题,在指令中使用助记符,这样形成了汇编语言。
汇编语言以约定的助记符来表示机器指令,每条汇编指令基本上与一条机器指令相对应,与机器语言比较,汇编语言比较直观,用汇编语言编写的程序经过简单的翻译,就可以被机器执行。
高级语言的语法规则简单清晰,是由英语单词和数学符号组成,最接近我们人类语言,比较容易掌握和理解。
但高级语言编写的程序,需要经过翻译软件翻译成机器指令后,才能被计算机执行。
现在比较流行的高级语言有:Visual Basic、C语言、Java语言。
Visual Basic是一种面向对象的可视化程序设计,它是在 Basic语言基础上发展起来的、功能强大的Windows应用程序的开发工具。
程序设计语言基础精品文档
B.a、[
C.a、[和]
D.a、[、]和,
2.2.4 词法分析 考点1:词法分析的功能 词法分析阶段的主要功能如下:
(1)识别出源程序中意义独立的最小词法单 位——单词,并且确定其类型(例如表示 符、关键字、操作符还是数字等)。
(2)删除无用的空格、回车和其它与输入介 质有关的无用符号以及程序注释。
若M的初态结点同时又是终态结点, 则空字可为M所识别(接受)。
2.不确定的有穷自动机(NFA)
• 一个不确定的有穷自动机(NFA)M是一个五 元组:M=(K,∑,f,S,Z)其中
(1)K是一个有穷集,它的每个元素称为一个状 态;
(2)∑是一个有穷字母表,它的每个元素称为一 个输入字符;
(3)f是转换函数,是从K×∑*—>K上子集的映 像;
• 请画出该NFA的状态转换图。
补充:
对于∑*中的任何一个串t,若存在一 条从某一初态结点到某一个终态结点的 道路,且这条道路上所有弧的标记符依 序连接成的串等于t,则称t可为NFA M所 识别(读出或接受)。
• 例2中的NFA M所能识别的是那些含有 相继两个a或相继两个b的串。
• 自动机到正规式的转换过程如图所示:
• 对0型文法产生式的形式作某些限制, 就是1型、2型、3型文法。
(2)1型文法或上下文有关文法
• 定义:设G=(VN,VT,P,S)为一文 法,若P中的每一个产生式a—>b均满足
|b|≥|a|,仅仅S—> 除外,则G是1型文法
或上下文有关文法。
(3)2型文法或上下文无关文法 • 定每义一:个设 产生G=式(aV—N>,bV满T足,:P,a是S)一为非一终文结法符,,若b属P中于的
语法翻译法的实施步骤 (2)
语法翻译法的实施步骤1. 简介语法翻译法是一种用于将一种程序设计语言转换为另一种程序设计语言的技术。
它通过将源语言的语法规则映射到目标语言的语法规则,实现源语言程序到目标语言程序的转换。
本文将介绍实施语法翻译法的具体步骤。
2. 步骤以下是实施语法翻译法的一般步骤:步骤1: 确定源语言和目标语言在开始进行语法翻译的过程中,首先需要确定源语言和目标语言。
源语言是我们要转换的程序设计语言,目标语言是将源语言转换成的语言。
确切地了解源语言和目标语言的语法规则和语义规则非常重要。
步骤2: 词法分析词法分析是将源程序分解为一个个的单词(Token)的过程。
在这一步骤中,我们需要编写一个词法分析器,它将源代码作为输入,并识别出其中的单词。
每个单词都包含一个词法类型和一个对应的字符串值。
示例:源代码: x = 5 * 2;词法分析输出:- 词法类型: 标识符,字符串值: x- 词法类型: 赋值运算符,字符串值: =- 词法类型: 数字,字符串值: 5- 词法类型: 运算符,字符串值: *- 词法类型: 数字,字符串值: 2- 词法类型: 分号,字符串值: ;步骤3: 语法分析语法分析是将词法分析器输出的单词流转换为语法树的过程。
在这一步骤中,我们需要编写一个语法分析器,它将识别源代码中的语法规则并生成一个语法树。
语法树用于表示程序的结构和层次关系。
示例:源代码: x = 5 * 2;语法树:=/ \\x */ \\5 2步骤4: 语法制导翻译语法制导翻译是基于语法树进行语法规则的翻译过程。
在这一步骤中,我们需要根据源语言和目标语言的语法规则,编写语法制导翻译器,它将遍历语法树并根据语法规则翻译每个节点。
示例:源代码: x = 5 * 2;目标语言: Python翻译结果: x = 5 * 2步骤5: 语义分析和翻译语义分析是对源代码进行静态语义检查的过程。
在这一步骤中,我们需要编写语义分析器,它将检查源代码是否符合源语言和目标语言的语义规则。
语法制导翻译
2
4.1 语法制导翻译简介
语法与语义
1. 语法与语义的关系 语法是指语言的结构、即语言的“样子”;语义是指附着于语
言结构上的实际含意 ,即语言的“意义”。 ① 语义不能离开语法独立存在; ② 语义远比语法复杂; ③ 同一语言结构可包含多种含意,不同语言结构可表示相
② 若b是α中某文法符号Xi的属性,c1, c2, ..., ck是A的属性, 或者是α中其它文法符号的属性,则称b是Xi的继承属性。
③ 称(4.1)中属性b依赖于属性c1, c2, ..., ck。
④ 若语义规则的形式如下述(4.2),则可将其想像为产生式左 部文法符号A的一个虚拟属性。属性之间的依赖关系,在 虚拟属性上依然存在。
k := k+1;
9
4.1 语法制导翻译简介
产生式
语法制导定义
翻译方案
L→E
print(E.post)
print_post(post);
E → E1 + E2 E → num
E.post := E1.post || post(k) := '+'; E2.post || '+'; k := k+1;
1. 编译器各阶段的完整输出,均可以被认为是源程序的某种 中间表示。
2. 本章讨论的是中间代码生成器输出的中间表示,称之为中 间代码。
3. 中间代码实际上应起一个编译器前端与后端分水岭的作用。 4. 要求中间代码具有如下特性,以便于编译器的开发移植和
代码的优化: ① 便于语法制导翻译; ② 既与机器指令的结构相近,又与具体机器无关。 5. 中间代码的主要形式:树、后缀式、三地址码等。
《编译原理》课程设计说明书_DO_WHILE循环语句的翻译程序设计(LR方法、输出三地址表示)
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个部分组成:总控程序,也可以称为驱动程序。
电脑与信息技术英语翻译常用专业词汇
电脑与信息技术英语翻译常用专业词汇AAAIMS(An Analytical Information Management System)分析信息管理系统Abacus 算盘Access security 存取安全Access time 存取时间Active 有源的Ada programming language Ada 程序设计语言Adapter 适配器Adapter card 转接卡Add-on 外接式附件Address 地址ADSL(Asymmetric Digital Subscriber Line) 非对称数字客户线路After-image record 残留影像记录Algorithm 算法Alpha testing ɑ测试3Alteration switch 变换开关ALU(Arithmetic/Logic Unit)运算器Amplitude 幅度Analog data 模拟数据Analog cellular 模拟移动电话Analog signal 模拟信号Analysis block 分析块Animation 动画制作ANSL(American National Standards Label)美国国家标准标号Answerback memory 应答存储器Anti-noise coding 反噪声编码Antivirus software 反病毒软件APL(A Programming Language) APL 语言Application development cycle 应用开发周期Application program 应用程序4Application software 应用软件Arithmetic operation 算术运算ARP(Automatic Receive Program)自动同意程序Artificial network 仿真网络ASCII(American standard Code for Information Interchange)美国信息交换用标准代码Assembler 汇编程序Assembly language 汇编语言Asynchronous 异步的Asynchronous transmission 异步传输ATM(Asynchronous Transfer Mode) 异步传输模式ATM(Automated Teller Machine)自动出纳机Attribute 属性Auctions on the web 网上拍卖Audio board 声板5Audio file 声音文件Audio input device 声音输入装置Audio-player 播放Audit program 审查程序Auditing system 审查系统Authoring system 写作系统6BBackbone system 主干系统Backup file 备份文件Backward compatibility 反向兼容性Backward recovery 向后恢复Band printer 带式打印机Bandwidth 带宽Bandwidth limitation 带宽限制Bar code 条形码Bar-code reader 条形码读出器Basic exchange format 基本交换格式BASIC programming language BASIC 程序设计语言Batch processing 批处理Beeper 传呼机7Be ta testing β测试Binary digit 二进制数字Binary file 二进制文件Binary number system 二进制数字系统Binary system 二进制BIOS(Basic Input/Output System)基本输入/输出系统Bit 量,位Bit(binary digit)位,二进制位,比特Bit-mapped display screen 位映像显示器Block check 块检验Blocking software 封锁软件Bookmark 书签Bootleg version 盗版BPS(Business Professional System) 商业专用系统Bridge 网桥8Broadcast image 广播图象Browser 浏览程序Building blocks 组件Built-in function 内部功能Bus 总线Bus network 总线网络Bus slot 总线槽Business terminal equipment 商务终端设备Button 按扭Byte 字节,位组9CC programming language C 程序设计语言C++ programming language C++程序设计语言Cable length 电缆长度Cable modem 电缆调制解调器Cache memory 超高速缓冲存储器CAD(Computer-Aided Design) 计算机辅助设计CADD(Compute-Aided Design and Drafting) 计算机辅助设计与制图Call-back system 回叫系统CAM(Computer-Aided Manufacturing) 计算机辅助生产Capacity 容量Carrier wave 载波Cartridge tape 盒式磁带CASE(Computer-Aided Software Engineering) 计算机辅助软件工程10CBT(Computer-Based Training) 利用计算机的训练CCD(Charge Coupled Device)电荷藕合器件CD writer 刻录机CDC(Code-Directing Character) 代码引导字符CDP(Certified Data Processor)合格数据处理程序Cell 单元,细胞,信元Cell address 单元地址Cell pointer 单元指示器CEO(Chip Enable Output) 芯片启动输出CERT(Character Error Rate Tester) 字符出错率测试程序Chain printer 链式打印机Channel command 通道命令Character 字符Character-recognition 字符识别Chat room 聊天室11Check bit 校验位,检验位Child record 子记录Chip 芯片,晶片Circuit switching 电路转接,线路交换CIS(Communication Information System) 通信信息(情报)系统Clear entry 消除输入Click 点击Client 客户,委托程序,委托进程,客户机Client-server 客户服务器Clipboard 剪贴板Clouds 云Cluster 簇,束,线束,群集Coaxial tree network 同轴树状网络COBOL programming language COBOL 程序设计语言Coding 编码,编程序12Collision 冲突Color display screen 彩色显示屏Communication 通信Communication parties 传输单元Communications channel 通信信道Communications controller 通信操纵器Communications hardware 通信硬件Communications network 通信网络Communications satellites 通信卫星Communications server 通信服务器Communications service 通信业务Communications software 通信软件Communications technology 通信技术Compatibility 兼容性,一致性,互换性Compiler 编译程序13Component 分量,成分,元件,组件,部件Compression 压缩Computer 计算机Computer-based information system 计算机信息系统Computer crime 计算机犯罪Computer industry 计算机行业Computer literacy 计算机扫盲Computer online service 计算机联机服务Computer professional 计算机专业人员Computer programmer 计算机程序设计员Concentration 集中Concentrator 集中器,集线器Concurrent-use license 并行使用许可证Connection 连接Connectivity 连通性,连接性14Connectivity diagram 连通图表Contact 接触点Control structure 操纵结构Control unit 操纵器,操纵部件Controller card 操纵器插件Coprocessor 协同处理程序,协同处理机Copy command 复制命令Copyright 版权Copyright protection 版权保护Counterfeit software 盗版软件Courseware 课件CPU(Central Processing Unit) 中央处理机Cracker 黑客CRT(Cathode Ray Tube) 阴极射线管CTS(Clear To Send) 清除发送15Cursor 光标Cursor-movement key 光标移动键Custom software 客户软件Cut command 剪切命令Cyberculture 计算机文化,操纵论优化Cybernation 计算机操纵化16DDaisy chain 菊链DAT(Data Acquisition Test) 数据采集测试Data access method 数据存取法Data acquisition 数据采集Data compression 数据压缩Data dictionary 数据字典Data file 数据文件Data flow diagram 数据流程图Data integrity 数据完整性Data manipulation language 数据操纵语言Data mining 数据开采Data recovery 数据恢复Data redundancy 数据冗余Data storage hierarchy 数据存储层次17Data transmission 数据传输Data transmission factor 数据传输系数Data warehouse 数据仓库Database 数据库Database server 数据库服务器Database software 数据库软件DBA(Data Base Administrator) 数据库管理程序DBMS(Data Base Management System) 数据库管理系统Debugging 调试Decision making system 判定系统,决策系统Decision table 判定表Dedicated computer 专用计算机Default value 缺省值,系统设定值Delete 删除Democratic network 共同操纵网络18Design 设计Desk checking 桌面检验Desktop accessory 桌面附件Desktop publication system 桌面出版系统Developing information system 信息开发系统Dialog box 对话框Dial-up connection 拨号上网Dial-up Internet communication 拨号网间通信Digital 数码的Digital camera 数码照相机Digital cellular phone 数字移动电话Digital signal 数字信号Digital signal processor 数字信号处理器Digital signature 数字签名Digitized speech 数字化语音19DIMS(Data Information and Manufacturing system) 数据信息与制造系统Direct access storage 直接存取存储器,直接访问存储器Direct file organization 直接文件组织Direct implementation 直接实现Direct synchronous multiplexing 直接同步复用Directory 目录,号码表Disk 磁盘Disk drive 磁盘驱动器Diskette 软磁盘,软盘Display 显示Display screen 显示屏幕Disrupt 使混乱,破坏,分裂,瓦解Distance learning 远程学习Distributed database 分布式数据库Disturbance 干扰20DM(Data Memory) 数据存储器DNS(Domain Naming System) 域命名系统Document 文件,资料,文献,文卷Document file 资料文件Documentation 文件编制,资料,文档DOS(Disk Operating System) 磁盘操作系统Dot 点Dot-matrix printer 点阵打印机Download 下载Downsizing 规模缩小化Downward compatibility 向下兼容性Draft-quality 粗劣的印刷质量,草稿字体印刷质量DRAM(Dynamic Random Access Memory) 动态随机存取存储器Drawing program 绘图程序Driver 驱动器21Drum printer 鼓式打印机Drum scanner 鼓形扫描器DSS(Decision Support System) 决策支援系统DTP(Data Transmission Protocol) 数据传送协议Dumb terminal 哑终端,简易终端DVP(Data Validation Program) 数据验证程序Dynamic linking 动态链接22EEBCDIC(Extended Binary Coded Decimal Interchange) 扩充的二-十进制交换码E-cash 电子货币E-commerce 电子商务EDI(Electronic Data Interchange) 电子数据交换EEPROM(Electrically Erasable Read Only Memory) 电可擦只读存储器EIC(External Interface Control) 外部借口操纵EIS(External Interrupt Support) 外部中断支援Electroluminescent display 电致发光显示屏Electromagnetic spectrum 电磁光谱Electronic conference 电子会议Electronic image 电子图象Electronic network 电子网络23Electronic secretary 电子秘书Electronic ticketing machine 电子售票机Electronic tutor 电子教学装置Electrostatic plotter 静电绘图机Elementary field 基本字段ELF(Extensible Language Facility) 可扩充的语言功能E-mail 电子邮件Embedded computer 嵌入式计算机Emulation 仿真,仿效Encapsulation 封闭,封装,密封Encryption 加密,编密码End-to-end delay 端到端的时延End-to-end digital connectivity 端到端的数字连接End-user 终端用户ENIAC(Electronic Numerical Integrator and Calculator) 电子数字积分24器与计算器Enter key 输入键EPL(Encoder Programming Language) 编码器程序设计语言EPROM(Erasable Programmable Read Only Memory) 可擦可编程只读存储器EPSS(Error Processing Sub-system) 错误处理子系统Ergonomics 人类工程学Error correction 纠错法ESS(Electronic Switching System) 电子交换系统Evaluation system 评价系统Even parity 偶数奇偶校验Exchange service 交换业务Executable 可执行文件Execution cycle 执行周期Execution program 执行程序Expansion bus 扩展总线25Expansion card 扩充插件卡Expansion slot 扩展槽Expert system 专家系统External hard disk drive 外部硬盘驱动器External modem 外部调制解调器26FFAT(File Allocation Table) 文件分配表Fault freedom 容错性能Fault tolerant system 容错系统Fax 传真Fax machine 传真机FCB(File Control Block) 文件操纵块Feasibility study 可行性研究,可能性研究FEC(Forward Error Correction) 向前纠错Fiber-optic cable 光缆Field 字段,场,域Field protect 字段保护Fifth-generation programming language 第五代程序设计语言File 文件27File extension 文件扩充File management system 文件管理系统File name 文件名File server 文件服务程序File virus 文件病毒Filter 过滤,滤波Financial planning system 财务规划系统Find command 查找命令Finder 寻找程序,定位程序,录像器Fingerprint security system 指纹安全系统Firewall 防火墙Firmware 固件Fixed disk drive 固定磁盘驱动器Flatbed plotter 平板绘图仪Flatbed scanner 平板扫描仪28Flat-panel display 平面显示器Flat-panel technique 平面技术Flexible telecommunication networking 灵活的通信联网Floppy disk 软磁盘FLOPS(Floating-point Operations Per Second) 每秒浮点运算次数Flowchart 流程图Font 字型,字体Format selection 格式选择Formatting 格式化,格式编排Formula 公式FORTH programming language FORTH 程序设计语言Forward recovery 正向恢复Fourth-generation programming language 第四代程序设计语言Fragmenting 分割29Frame grabber 帧同意器,帧捕获器Free ware 免费软件Frequency 频率Front-end processor 前端处理机FTP(File Transfer Protocol)文件传送协议Full-duplex 全双工Function 功能,函数,作用Function key 功能键Fuzzy logic 模糊逻辑30GGame port 博弈端口Garbage 无用信息Gateway 关口,网间连接GDS(Group Display System) 群显示系统Genealogy 家谱学,系统GES(General Edit System) 通用逻辑系统GIS(Geographic Information System) 几何图形信息系统Global communication 全球通信GPS(Global Positioning System) 全球定位系统Grammar checker 语法检验程序Graphics 图形学,制图技术Graphics accelerator 图形加速器Graphics coprocessor 图形协同处理程序31Grid 网格,坐标网络Gross index 粗索引Groupware 群件GUI(Graphical User Interface) 图形用户接口32HHacker 黑客Half-duplex transmission 半双工传输Handheld scanner 手持式扫描仪Handshaking 信号交换,接续Hard disk 硬磁盘Hard return 硬回车Hard-copy terminal 硬拷贝终端Hardware 硬件Hardware compatibility 硬件兼容性HDTV(High Definition Television) 高分辨率电视Help menu 求助菜单,求助项目单Head-mounted display 头盔式显示器Hidden computer 隐式计算机33Hierarchical database 分级数据库Hierarchy 分级,分层,层次Hierarchy chart 分级图表High resolution 高分辨率High-level programming language 高级程序设计语言Hold 握住Home directory 主目录Home network 本地网络Home record 引导记录,起始记录Host 主机Host adaptation 主机习惯性Host computer 主计算机Host operating system 主操作系统Host-to-host 主机到主机HTML(Hyper text Markup Language) 超文本标记语言34Hybrid network 混合式网络Hyperlink 超级链接Hypertext 超文本35IIcon 图符Identification system 识别系统Image file 映像文件Imaging system 成像系统IML(Initial Micro-code Load) 初始微码装入Impact 影响,冲击Impact printer 击打式打印机Importing file 输入文件Incremental backup 增量备份法Indexed file organization 索引文件组织Inference engine 推理机Information 信息,情报Information capacity 信息容量36Information function 信息函数Information management 信息管理Information overload 信息超载Information system 信息系统Information technology 信息技术Information transmission system 信息传输系统Information unit 信息单位Information utility 有用程序,信息应用程序,信息公用设施Inheritance 继承Initialize 初始化Ink-jet plotter 喷墨绘图仪Ink-jet printer 喷墨印刷机Input control 输入操纵器Input device 输入设备Input hard ware 输入硬件37Inquiry and communication system 查询与通信系统Insert 插入Insertion point 插入点Install 安装,建立Instruction cycle 指令周期Integrated circuit 集成电路Integrated software package 组合软件包Intellectual property 知识产权Intelligent robot 智能机器人Intelligent terminal 智能终端Interactive presentation 交互式演示Inter activity 交互性Interface 接口Intermediate node 中间网点Internal bus 内部总线38Internal hard disk drive 内部硬盘驱动器Internal modem 内部调制解调器International standard interface 国际标准接口Internet 互联网,信息网络实体Interpreter 解释程序,翻译机,转换机ISAM(Indexed Sequential Access Method) 索引顺序存取法ISDN(Integrated Services Digital Network) 综合服务数字网络Isolation 隔离,绝缘ISP(Internally Stored Program) 内部存储程序ISP(Internet Service Provider) 因特网服务提供商39JJAD(Joint Application Design) 联合应用程序设计Jerk 乱窜Jitter 抖动Job file 作业文件Job management 作业管理程序Junk mail 垃圾邮件Justification range 调整范围40KKey field 关键字字段Key search 关键字查找Keyboard 键盘Keyboard console 键盘操纵台Kilobyte 千字节Knowledge base 知识库Knowledge engineer 知识工程师Knowledge engineering 知识工程Knowledge system 知识系统41LLanguage translator 语言翻译程序Large-scale integrated circuit 大规模集成电路Laser 激光,激光器Laser communication 激光通信系统Laser printer 激光打印机Latency 延迟,执行时间Latent image 潜像Law 法律Layer 分层LCD(Liquid Crystal Display) 液晶显示器LEO(Low Earth Orbit) 近地轨道License 许可证Light pen 光笔Line printer 行式打印机42Line terminal multiplexer 终端复用器Linear 线性的,一次的Link 连接,连线,链接Linkage instruction 连接命令LISP programming language LISP 程序设计语言Live conversation 实际的对话Load 装入,加载Load server 加载服务器Local-area network 局域网Logic bomb 逻辑炸弹(病毒)Logic error 逻辑错误Logical operation 逻辑操作LOGO programming language LOGO 程序设计语言Look through 搜寻43Loop 循环,回路,环路Loss less 无损耗Lossy 有损耗的,有缺失的44MMAC(Memory access Controller) 存储器存取操纵器Machine cycle 机器周期Machine language 机器语言Macintosh (苹果公司生产的一种型号的)计算机Macro 宏,宏指令,宏定Macro virus 宏病毒Magnetic tape 磁带Magneto optical disk 磁光盘Mail server 邮件服务器Mailing list 邮件列表Main memory 主存储器Mainframe computer 主计算机Maintenance 保护,维修MAN(Maintenance Alert Network) 保护警报网45Manager 管理程序,管理人员Manipulate 操纵,操纵Manipulation 操纵,操纵,处理,操作Manual function 手动功能,人工功能Manufacturing support system 制造支持系统Marker 标记符Marketing model 市场销售模型Mark-recognition device 标记识别装置Master file 主文件Mathematic characterization of continuous image 连续图象的数学表征MDA(Multi-Dimensional Analysis) 多维分析MDT(Modified Data Tag) 修改过的数据标志Meeting software 会议软件Mega 兆Memory cycle 存储周期46Mega byte 兆字节Megahertz 兆赫Member record 成员记录Memory 经历存储,存储器Memory expansion card 存储器扩充卡Memory module 存储模块Menu bar 菜单条Menu-driven program generator 菜单驱动程序生成程序MED(Micro-Electronic Device) 微电子器件Meta-data 元数据MICR(Magnetic Ink Character Recognition) 磁性墨水字符识别Microcomputer 微型计算机Micro controller 微操纵器Microprocessor 微处理器Microwave 微波47Middleware communication model 媒件通信模型MIDI(Music Instrument Digital Interface) 乐器数字接口Miniaturization 小型化MIPS(Million Instructions Per Second) 每秒百万条指令Mirror 镜像MIS(Management Information System) 信息管理系统MMX technology MMX 技术Model 模型,机样,型号Modem 调制解调器Module design 模块设计Monitor 监视器,监督Monitor mode 监控方式Monochrome display 单色显示Mouse 鼠标Mouse pointer 鼠标指示器48Moving pictures 活动图象MPP(Massively Parallel Processor) 巨型并行处理器Multifunction device 多功能装置Multimedia 多媒体Multimedia environment 多媒体环境Multipartite virus 复合性病毒Multiplexer 多路转接器Multiplexing 多路转换Multipoint line 多点线路Multi-port 多端口Multiprocessing 多重处理Multiprogramming 多道程序设计(操纵)Multitasking 多任务Multi-user platform 多用户平台49NNarrow band services 窄带业务Nationwide network 全国范围的网络Natural language 自然语言Natural language processing 自然语言处理NC language processor NC 语言处理器Necessary bandwidth 必要带宽Net ware 网件Network 网络Network adapter 网络适配器Network computer 网络计算机Network database 网络数据库Network facilities resources 网络设备资源Network harms 网络损害50Network information resources 网络信息资源Network interface card (NIC) 网络接口卡Network piracy 网络盗版Network server 网络服务程序,网络服务器Networked hypertext protocol 网络超文本协议Neural network 神经网络Node 节点,网点Non-interacting control system 非交互式操纵系统Non-procedural language 非过程语言Non-volatile chain 非易失链NOS(Network Operating System) 网络操作系统Null set 空集Numeric key 数字键51OOAS(Office Automation System) 办公自动化系统Object 目标,对象,结果,物体Object code 目标代码OCR(Optical Character Recognition) 光符识别Odd parity 奇数奇偶校Off-line equipment 脱机设备Off-line storage 脱机存储器Off-the-shelf software 现成的软件OLE(Object Linking and Embedding) 对象的链接与嵌入OMR(Optical Mark Recognition) 光标记识别Onboard 板载的One-level code 一级代码One-to-many 一对多的52Online processing 联机处理Online storage 联机存储器OODBS(Object Oriented Data Base System) 面向目标的数据库系统OOO(Out Of Order) 发生故障,次序混乱Open network 开放式网络Operating environment 操作环境,运行环境Operating system 操作系统Operation control 操作操纵Operator 运算符,操作员Optical card 光卡Optical disk 光盘Optical Ethernet 光以太网Optimization 优化Optoelectronic receiver 光电子接收机Organization 机构,组织,结构,体系53Organization chart 组织图,结构图OS/360(Operating System/360) 360 型操作系统OSI(Open System Interconnection) 开放系统互连Output 输出Owner record 主记录,自由记录54PPackage 分组Packaged software 封装式软件包Packet 包,数据包,分组报文Packet switching 包交换Pager 页面调度程序Painting 涂色Parallel data transmission 并行数据传输Parallel implementation 并行执行Parallel port 并行端口Parallel processing 并行处理Parent record 母记录Parity bit 奇偶校验位Parity scheme 奇偶校验方案55PASCAL programming language PASCAL 程序设计语言Passive 无源的Passive network 无源网络Password 口令Path 路径PBX(Private Branch Exchange) 专用交换分机,用户交换机PC(Personal Computer) 个人计算机PC application software 个人计算机应用软件PC host operating system 个人计算机主机操作系统PCI(peripheral Component Interconnect)外围部件互连PCMCIA(Personal Computer Memory Card International Association) 个人电脑内存储卡国际协会PDA(Personal Digital Assistant) 个人数字助理PDL(Picture Description Language) 画面描述语言Peak 峰值56Peer-to-peer 层间,层到层PEM(Processing Element Memory) 处理单元存储器Perception system 感知系统Peripheral device 外围设备Personal finance software 个人财务软件Personal identification code 个人识别代码PERT chart editing PERT 图编辑PGP(Programmable Graphics Processor) 可编辑图形处理机Phonetic keyboard 语音键盘Photo-digital store 光数字存储器Photolithographic mask layer 光刻掩蔽层Physical storage 物理存储器PIM(Processor Interface Module) 处理程序接口模块PIN(Personal Identification Number) 个人识别号码Pixel store 像素存储器57PL/1 programming language PL/1 程序设计语言Platform position computer 平台位置计算机Plotter 绘图仪Plug and play system 即插即用系统Plug-in card 插件Pointing device 指示装置Point-of-sale terminal 销售点终端Point-to-point line 点对点线路,专用线Polymorphism 多形性,多机组合形势Pop-up menu 弹出选项单Port 端口,进出口Portable operating system 可移植操作系统Portable terminal 便携式终端POST(Power-on Self Test) 通电自检Power supply 电源,供电58PPP(Parallel Pattern Processor) 并行模式处理程序Precision 精确度Preliminary design 初步设计Presentation layer 表示层Presentation graphic 表示图形Presentation software 显示软件Preventive maintenance 预防性保护Previewing 预检,预览Primary storage 主存储器Print server 打印服务程序Printer 打印机Printing document 打印文档Privacy 保密性Procedural error 过程错误Procedural language 过程型语言59Procedure 过程,程序,步骤Process 处理,进程Process model 过程模型Processing 处理,加工Processing hardware 处理硬件Processor 处理程序,处理机Production language compiler 产生式语言编译程序Productivity 生产率Productivity tool 生产率工具Professional programmer 专业程序设计员Program 程序,计划,规划,方案Program file 程序文件Program flowchart 程序流程图Program independence 程序独立性Programmer 程序设计人员,编程器60Programming 程序设计,编程Programming language 程序设计语言Programming procedure 程序设计过程Project management software 工程项目管理,计划管理Project management software 工程项目管理软件PROLOG programming language PROLOG 程序设计语言Proprietary software 专有软件Proprietary system 专用系统Protocol 协议Prototype 样机,原型Prototyping 原型开发,样机研究Pseudo-code 伪代码Public communication carriers 公共通信载体Public domain 公用域Pull-down menu 下拉菜单61Pulse code modulation 脉冲码调制62QQBE(Query By Example) 仿效实例询问QIC(Quality Insurance Chain) 质量保证链Query 询问,查询Query facility 询问功能软件Query language 询问语言Query-and-reporting processor 询问与报告处理程序Quiet code 静止代码QWERTY keyboard QWERTY 键盘63RRAD(Rapid Access Device) 快速存取设备RAM(Random Access Memory) 随机存取存储器,内存Random access storage 随机存取存储器Random file organization 随机文件结构Raster graphics 光栅图形Reading 读,读取Real-time processing 实时处理Reasoning 推理,推论,推导Recalculation 重算Receiving entity 接收实体Receiving system 接收系统Record 记录Reference mark 参考标记64Reference model 参考模型Reference software 参考软件Refresh rate 更新率,刷新率Refreshable program 可刷新程序Regenerate 再生Register 寄存器Relational database 关系数据库Relational model 关系模型Release 释放Reliable 可靠的Reliability 可靠性Remote-control 遥控Remote device 远程设备Remote terminal 远程终端Removable hard disk 可移动硬盘65Repeater 中继器Repeater spacing 中继距离Replace command 替换命令Report generator 报告生成程序Resistor 电阻器Resolution 分辨率Retrieval performance 检索性能Return key 返回键RFI(Read Frequency Input) 读频率输入RGB monitor 红、绿、蓝显示器RIB(Resource Information Block) 资源信息块Ring network 环形网络RISC microprocessor RISC 微处理机Robot 机器人,自动仪Robotics 机器人学,机器人技术66Rollback 重新运行,重算ROM BIOS (Read-Only Basic Input/Output System) 只读存储器基本输入/输出系统Root record 根记录Router 发送程序,路由确定程序,路由器Row 行RPG(Report Program Generator) 报表程序生成程序RPS(Random Pattern Search) 随机模式搜索RS(Record Separator) 记录分隔符Run 运行Rupture 裂断,破裂67SSampling rate 取样率SAR(Source Address Register) 源地址寄存器Satellite 卫星,人造地球卫星Save 存储,储存Save area 储存区Scan 扫描Scanning device 扫描设备,扫描装置Scheduling software 调度软件Screen 屏幕Scrolling 卷动,滚动Scrubbing 除掉,刷去SCSI(Small Computer System Interface) 小型计算机系统接口SDL(System Development Language) 系统开发语言68Search 检索,查找Search command 查找命令Search engine 查找机Searching tool 搜寻工具Second-generation programming language 第二代程序设计语言Secondary application 辅助应用程序Secondary storage 辅助存储器,二级存储器Secondary storage sub system 辅助存储子系统Section overhead 段开销Sector 扇区,分段Security 安全性,保密性,安全措施Security system 安全系统Seek time 查找时间,定位时间Selection control 选择操纵Semiconductor 半导体69Semiconductor memory 半导体存储器Semi-structured information 半结构化问题Sender 发送器Sensor 传感器Sequence control 顺序操纵Sequential file organization 顺序文件组织Sequential storage 顺序存储器Serial 串行的Serial data transmission 串行数据传输Serial port 串行端口Serial processing 串行处理Server 服务器Service-independent network 与业务无关的网络Session layer 会话层Shared database 共享数据库70Sharing resource 共享资源SHELL software system SHELL 软件系统Shrink-wrapped multiprocessing operating system 精缩围绕多处理操作系统Silicon 硅SIMM(Single in-line Memory Module) 单列直插式存储模块Simplex transmission 单项传输Simulation programming language 模拟程序设计语言Simulator 模拟程序,模拟器Single user 用户Smalltalk programming language Smalltalk 程序设计语言Smart card 智能卡,收费卡Softcopy 软拷贝Software 软件,软设备Software engineer 软件工程师Software engineering 软件工程71Software license 软件许可证Software package 软件包,程序包Software piracy 软件非法翻印,软件侵犯版权Software suite 软件套件Software tool 软件工具Solid error 固定错误Sorting database 分类数据库Sound 声音Sound card 声卡Sound output 声音输出Source code 源代码Source date entry 源数据录入Source program file 源程序文件SPA(Signal Processing Auxiliary) 信号处理辅助设备Speech recognition system 语音识别系统72Speech synthesis 语音合成Speed 速度Speed up 加速Spelling checker 拼法检验程序Split 分发,分散Spreadsheet 电子数据表SQL(Structured Query Language) 结构化查询语言Squeeze 压缩Standardized port 标准化的端口Star network 星形网络STM(Short Term Memory) 短期存储器Storage 存储,存储器Storage hardware 存储硬件Strategic decision 战略性决策Streaming audio 流式音频73Streaming video 流式视频Stress 应力Structure chart 结构图Structured information 结构化信息Structured programming 结构化程序设计Structured walkthrough 结构化普查Subprogram 辅程序,子程序Supercomputer 巨型计算机Superconductor 超导体Supervisor 管理程序,主管人SVDF(Segmented Virtual Display File) 分段虚拟显示文件Swapping 交互,调动Switch 打开,开关,交换机Switching technique 交换技术Synchronous DXC 同步数字交叉连接74Synchronous transmission 同步传输Synchronous transmission system 同步传输系统Syntax 语法,句法Syntax error 语法错误System 系统,体制,装置System analysis 系统分析System analyst 系统分析员System clock 系统时钟System design 系统设计System development 系统开发System engineer 系统工程师System flowchart 系统流程图System implementation 系统实现方法System maintenance 系统保护System recovery 系统恢复75System software 系统软件System testing 系统测试System unit 系统单元76TTabulating machine 制机表Target variable 目标变量Task management 任务管理程序TCT(Terminal Control Table) 终端操纵表Telecommunication 远程通信,电信Teleconference 电信会议Telemedicine 电视医疗Telephone network 电话网Telephony 电话学Telex network 用户电报网Tel net 电信网,远程通信网络Terminal 终端Terminal address 终端地址77Terminal emulation 终端仿真Test 测试,检验Test equipment 测试设备Text 正文,文本Text segment 正文段Textual messages 文本信息Thesaurus 主题词表,同义词汇Third-generation programming language 第三腮程序设计语言Through-mode fashion 贯穿方式Time slicing 时间分片Time-sharing 分时,时间分配Tong-haul telecommunication system 长途通信系统Top-down program design 自顶向下程序设计Top management 主管,主控Touch screen 触屏78TPI(Target Position Indicator) 目标位置指示器TPS(Transaction Processing System) 事务处理系统TPT(Time Priority Table) 时间优先表Track 磁道,轨道,声道Trackball 跟踪球Traffic segregation 流量隔离Transaction 事项,事务处理,交易Transaction file 细目文件,事项文件Transient error 瞬时错误Transmission 传输,发送,传送Transmission unit 传输单元Translate 转换Tributary signals 支路信号Trojan horse 特洛伊木马True color 真彩色79Tuple 元组,字节组Turing test 图灵测试Twisted-pair wire 绞合线Typeface 字样80UUndo command 作废命令Unexpected halt 意外停机Unicode 单一代码UNIVAC(Universal Automatic Computer) 通用自动计算机Universal access 统一的接入Universal product code 通用产品代码Universally 普遍地,通用地UNIX operating system UNIX 操作系统Unprotected field 非保护字段Unstructured file 非结构文件Unstructured information 非结构信息UPS(Uninterruptible Power Supply) 不间断供电电源Upward compatibility 向上兼容性81URL(User Requirements Language) 用户要求语言USE(User System Evaluator) 用户系统评价程序User 用户,使用者User interface 用户接口Utility control console 有用操纵台Utility program 有用程序Utility unit 有用设备82VValue 值,算式Variable format 可变格式Varying bandwidth 可变宽带Vector graphics 向量图Version 文本,版本Very-high-level programming language 超高级程序设计语言Video compression 视频压缩Video computer system 可视计算机系统Video conference 视频会议Video file 可见文件Video memory 视频存储器Video scan 视频扫描Virtual classroom 虚拟教室83Virtual container 虚容器Virtual memory 虚拟机存储器Virtual office 虚拟办公室Virus 病毒Visual 图象的Visual programming 直观程序设计VLSI(Very-large-scale Integration) 超大规模集成电路Voice encoding techniques 语音编码技术Voice mail 声音邮件Voice output device 声音输出装置Voice recognition system 声音识别系统Volatile file 易变文件Volatile memory 易失性存储器VR(Virtual Reality) 虚拟现实VRAM(Video Random Access Memory) 视频随机存取存储器84VRM(Virtual Resource Manager) 虚拟资源管理程序VSAM(Virtual Sequential Access Method) 虚拟顺序存取法85WWait state 等待状态WAN(Wide Area Network) 广域网络Web browser 网页浏览器Web business 网上商务Web site 网站Wideband subscriber loop system 宽带用户环路系统Window mode 窗口方式Windows operating system Windows 操作系统Wired communication 有线通信Wireless communication 无线通信。
中英互译程序设计教程(一)
中英互译程序设计教程(一)中英互译程序设计教程本教程将向您介绍如何设计一个中英文互译的程序。
通过学习本教程,您将了解到从构思到实现的整个过程。
准备工作在开始编写程序之前,需要准备一些必要的工具和资源:•编程语言:推荐使用Python或Java等常用的编程语言。
•开发环境:根据您选择的编程语言,选择适合的集成开发环境(IDE)。
•中英文翻译库:您可以选择使用已有的中英文翻译库,也可以自行编写翻译函数。
•文本编辑器:用于编写程序代码的文本编辑器。
设计思路在开始编写程序之前,我们需要先思考程序的设计思路。
下面是一些设计思路的考虑点:1.输入和输出:确定用户输入和程序输出的方式,例如通过命令行、图形界面或网页接口。
2.翻译方式:选择合适的翻译方式,例如通过API调用翻译服务或使用本地翻译库进行翻译。
3.数据结构:确定如何存储和管理中英文翻译的数据,例如使用字典、数据库或文件等。
4.错误处理:考虑用户输入错误或翻译失败时的处理方式,例如给出错误提示或返回默认翻译结果。
编程实现在完成设计思路后,我们可以开始编写程序代码了。
以下是一个简单的编程实现示例:def translate(text, lang):"""翻译函数,接收待翻译的文本和目标语言作为参数"""translation = ""# 在此处编写翻译功能的代码# 可以使用已有的翻译库或自行实现翻译算法# 将翻译结果赋值给translation变量return translationdef main():"""主函数,用于接收用户输入和输出翻译结果"""while True:# 获取用户输入的文本和目标语言text = input("请输入待翻译的文本:")lang = input("请输入目标语言(中文或英文):")# 调用翻译函数进行翻译translation = translate(text, lang)# 输出翻译结果print("翻译结果:", translation)# 判断用户是否继续翻译choice = input("是否继续翻译(是/否):")if choice.upper() != "是":breakif __name__ == "__main__":main()运行程序完成程序编写后,可以通过以下步骤运行程序:1.打开命令行或集成开发环境。
(完整版)C语言常见英语100词汇
运算符与表达式: 5. `parameter 参数 2 条件语句1.constant 常量 6.static 静态的condition2. variable 变量7.extern 外部的statement) 选择select3. identify 标识符指针:表达式expression4. keywords 关键字 1. pointer 指针逻辑表达式logical expression5. sign 符号 2. argument 参数关系表达式Relational expression6. operator 运算符 3. array 数组优先priority7. statement语句 4. declaration 声明运算operation8. syntax 语法 5. represent 表示结构structure9. expression 表达式 6. manipulate 处理 3 循环语句10. initialition 初始化结构体、共用体、链表(circle statement) 循环circle11. number format 数据格式 1 structure 结构条件condition12 declaration 说明 2 member成员变量variant13. type conversion 类型转换 3 tag 标记过程process14.define 、definition 定义 4 function 函数优先priority条件语句: 5 enumerate 枚举运算operation1.select 选择 6 union 联合(共用体) 4 函数2. expression 表达式7 create 创建(function) 调用call3. logical expression 逻辑表达式8 insert 插入返回值return value4. Relational expression 关系表达式9 delete 删除函数function5.priority优先10 modify 修改声明declare6. operation运算文件参数parameter7.structure 结构1、file 文件静态的static循环语句:2、open 打开外部的extern1.circle 循环3、close 关闭 5 数组和指针(array and2. condition 条件4、read 读pointer) 数组array3. variant 变量5、write 写引用reference4. process过程6、error 错误元素element5.priority优先序号主要章节常用英汉对照词汇备注地址address6. operation运算 1 运算符与表达式排序sort数组:(operator and expression )汉语英语字符character1. array 数组常量constant 字符串string2. reference 引用变量variable 应用application3. element 元素标识符identify 指针pointer4. address 地址关键字keywords 参数argument5. sort 排序符号sign 数组array6. character 字符运算符operator 声明declaration7. string 字符串语句statement 表示represent8. application 应用语法syntax 处理manipulate函数:表达式Expression 6 结构体、1.call 调用初始化Initialization 共用体2.return value 返回值数据格式number format (structures union 结构structure3.function 函数类型转换type conversion 成员member4. declare 声明定义Define 、definition 标记tag函数function archaic a.己废的,古老的teaching programming 编程教学枚举enumerate mainmodule 主模块lengthy a.冗长的,漫长的联合( 共用体) union sufficient a.充分的,足够的alter vi./vt.改变创建create submodule 子模块flaw n.缺点裂纹插入insert data processing 数据处理devclop vt.发达删除delete modify v.修正,修改separate a.各别的修改modify business application 商业应用recompile v.编译7 文件outline n.轮廓,概要assist n.帮助(file) 文件file scientific application 科学应用cycle n.循环打开open compose分解technician n.技师关闭close lexical a.字典的,词汇的remove vt.移动,除去读read code 代码straight line 直线写write non-programmer n.非编程人员category n.种类,类项错误error node vt改为密码rectangle n.长方形,矩形Program Design 程序设计notation n.记号法,表示法,注释P-code p代码writing program 编写程序pseudocode n.伪代码virtrally ad.事实上standardize vt.使标准化verbosity n.唠叨,冗长symology n.象征学象征的使用coding the program 编程commas n.逗点逗号register n.寄存器simplify vt.单一化,简单化record n.记录to summaries 总之,总而言之programming 程序documentation 文档by convention 按照惯例revision n.校订,修正subrecord n.子记录cyptic n.含义模糊的,隐藏的programmer n.程序员flowchart/flow 程表/流程diamond-shaped a,菱形的occupy vt.占领,住进data division 数据部bracket n.括号logic n.逻辑,逻辑学visual a.视觉的decision n判断BASIC 初学者通用符号指令代码procedure division 过程部obviate 除去,排除machine code 机器代码represent vt.表现,表示,代表terminal n. a终端机,终端的teaching language 教学语言comprise vt.包含构成keyword n.关键字debug n.DOS命令,调试structured techniques结构化技术card reader 阅读器simplicity n.单纯,简朴operator n.运算符,算子underline vt.下划线compactness a.紧凑的,紧密的straightforward a.笔直的率直的translator program 译程序timesharing system 分时系统commercial package 商业软件包monadic a. monad(单位)的description n.描述,说明subroutine n.子程序Programming 程序设计interactive language 交互式语言generator n.产生器,生产者dec/binary n.二进制break n.中断driver module 驱动模块source language 源语manufacturer n.制造业者mathematician n.专家shift 变化,转移,移位structure chart 结构图line by line 逐行machine language 机器dialect n.方言,语调operator n.作符overflow n.溢出the program flow 程序流translate vt.翻译,解释machine instruction 机器指令expense n.费用,代价forerunner n.先驱arithmetic n.算术,算法manager module 管理模块modular 摸块化computer language 计算机语uniformity n.同样,划一ancestor n.祖宗composite symbol 复合型符号worder module 工作模块cumbersome a.讨厌的,麻烦的assembly language 汇编语assignment n.赋值double :声明双精度变量或函数floating point number浮点数int:声明整型变量或函数proliferation n.增服struct:声明结构体变量或函数high-level language高级语break:跳出当前循环pointer n.指针natural language 自然语言else :条件语句否定分支(与if 连用)array n.数组矩阵,long :声明长整型变量或函数source text 源文本switch :用于开关语句subscript n.下标case:开关语句分支intermediate language 中间语言enum :声明枚举类型type conversion 类型转换register:声明积存器变量software development 软件开发typedef:用以给数据类型取别名(当然还有其他作用)address arithmetic 地址运算char :声明字符型变量或函数map vt.映射,计划extern:声明变量是在其他文件正声明(也可以看做是引用变量)denote vt.指示,表示return :子程序返回语句(可以带参数,也看不带参数)maintenance cost 维护费用union:声明联合数据类型subprogram n.子程序const :声明只读变量legibility n.易读性,易识别float:声明浮点型变量或函数separate compilation 分离式编泽short :声明短整型变量或函数amend vt.修正,改善unsigned:声明无符号类型变量或函数alphabetic a.照字母次序的continue:结束当前循环,开始下一轮循环consumer n.消费者for:一种循环语句(可意会不可言传)digit n.数字位数signed:生命有符号类型变量或函数enormous a.巨大的,庞大的void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)numeric expression 数值表达式default:开关语句中的“其他”分支reliability n.可信赖性,可信度goto:无条件跳转语句tap n.轻打,轻敲,选择sizeof:计算数据类型长度safety n.安全,安全设备volatile:说明变量在程序执行中可被隐含地改变print zone 打印区do :循环语句的循环体property n.财产,所有权while :循环语句的循环条件column n.列correctness n.正确,static :声明静态变量functionality n.机能if:条件语句semicolon n.分号portable a.叮携带的,可搬运的auto :声明自动变量一般不使用survey n.概观.altoggle n.肘节开关task n.作,任务declaration n.宣告说明source program 源程序mufti-dimension array 多维数组object program 目标程序。
编译原理第7章 语法制导翻译和中间代码生成
• 检查静态语义 • 生成中间代码/目标代码
语义处理
语义处理的环境:符号表 • 为语义分析提供类型、作用域等信息。 • 为代码生成提供类型、作用域、存储类别、
存储(相对)位置等信息。
语义处理
PL/0编译程序的语义处理(一)call语句的处理
if sym = callsym
then
源语言程序
词法分析
前
语法分析
端
处理Biblioteka 语义分析语 义 处 理
后 端
代码生成
处
理
汇编代码
语义处理
语义处理的任务: • 静态语义检查
• 静态语义:语法规则的良形式条件 • 静态语义检查:审查静态语义
• 动态语义处理
• 动态语义:程序单元执行的操作 • 动态语义处理:生成(中间/目标)代码
语义处理
语义处理的实现: • 属性文法:描述语义规则。 • 语法制导翻译:在语法分析的同时,执行
类型的基本概念
声明和定义,使用: • 声明:
• 程序通过声明语句把标识符的名称、类型和 作用域等信息传递给编译器。
• 声明语句本身传递名字和类型信息,声明语 句的位置传递作用域信息。
• 定义:
• 变量、类的声明就是定义。 • 函数可以先声明一个原型,在定义中再给出
实现的代码。
类型的基本概念
强类型语言和弱类型语言: • 强类型语言
第七章语法制导翻译和中间代码生成
7.1语义处理概述 7.2属性文法和语法制导翻译 7.3 中间代码生成(一些语句的翻译) 7.4符号表
7.1 语义处理(语义分析和中间代码生成)
在编译中的逻辑阶段
源语言程序
词法分析
程序设计语言的基础知识
1 1.1 语言的种类 2 1.2 语言的组成 3 1.3 编译与解释 4 1.4 面向过程与面向对象
4.1程序设计语言的基础知识
程序设计语言是人与计算机之间 沟通的桥梁,是计算机程序设计
和软件开发的工具
以下将介绍程序设计语言的一些 基础知识
1.1 语言的种类
1.1 语言的种类
程序设计语言按照其抽 象程度可以分为三种: 机器语言、汇编语言和
改后需要重新编译
解释型语言如Python、Ruby、 JavaScript等,将源代码逐行翻译 成目标代码并执行。这种方式的优 点是修改后无需重新编译,缺点是
执行速度相对较慢
2
3
还有一些语言如Java,采用编译与解释 相结合的方式,将源代码编译成字节码, 然后在虚拟机上解释执行。这种方式的 优点是跨平台性好,但执行速度和资源
消耗介于编译型和解释型之间
1.4 面向过程与面 向对象
1.4 面向过程与面向对象
程序设计语言按照其编程范式可以分为面向过程和面向对象两种
面向过程:以问题解决的过程为中心, 关注的是如何分解问题、如何执行步骤 。这种范式强调的是程序的流程和操作 顺序
面向对象:以对象为中心,关注的是如 何抽象现实世界中的对象,以及如何通 过对象之间的关系和行为来解决问题。 这种范式强调的是对象的属性和行为以 及对象之间的关系
1.4 面向过程与面向对象
以上就是程序设计语言 的一些基源自知识理解这些基础知识有助 于更好地理解和使用各 种不同的程序设计语言, 从而更好地解决实际问 题
-
感谢の观看
Python、Java、C++ 等。它具有更强的表 达能力和更高的可读 性,但需要编译器或 解释器将其转换为机
第5章 语法制导翻译1
2. Expr Name (1) Add Name ( 2 ) { Attribution: Name (1) . environment Expr . environment ; Name ( 2 ) . environment Expr . environment ;
int Entry(char *Name){ int i=LookUp(Name);
if(i) return i; else return Enter(Name);
翻译程序中使用的辅助函数(续)
⒋int Trip(int op,int arg1,int arg2)—根据给定 的参数产生一个三元式 (op,arg1,arg2) 并将它送入三元式表中,其返回值为表中序号。 为区分参数 arg 表示的是 三元式 还是变量,约定 当arg<0时表示三元式序号;arg>0表示变量在 符号表中登记项序号;arg=0表示参数为空。
文法符号及其语义属性
例如,文法G[E]: 产生式 语义子程序 E→E(1)+T {E.Val=E(1).val+T.val;} E→T {E.Val=T.Val;} T→digit {T.Val=digit;} 为了能在语法分析过程中平行地进行语 义处理,可在语法分析栈旁边并行地设 置一个语义信息栈
语法分 析栈 T + E … # … 语义分 析栈 T.Val ‘+’
5.2 属性文法与属性翻译文法
语法制导翻译方法的实质,就是根据文法中每个产 生式所蕴含的语义,为其配备一个(或多个)处理 语句或子程序,对所要完成的功能进行描述。 产生式的语义是由组成该产生式的文法符号的语义 所决定的。 将这些语义以“属性”的形式附加到各个文法符号 上,再根据产生式所蕴含的语义,给出每个文法符 号的属性的求值规则,从而形成一种附带有语义属 性的前后文无关文法,即属性文法。 语义属性主要有两类:综合属性和继承属性
编译原理分知识点习题-语法制导和翻译
1.一般情况下,为什么语义分析部分仅产生中间代码解答:一般情况下,语义分析部分仅产生中间代码,其原因是:可使难点分解,分别解决。
可对语义分析产生的中间代码进行优化,以产生高效率的目标代码。
语义分析通常与机器无关,目标代码往往与机器有关。
把语义分析与目标代码生成分开,可让一个语义分析程序适用于多个目标代码生成程序。
2.(湖北省高等教育自学考试)什么是语法制导翻译为什么把这种方法叫语法制导翻译解答:所谓语法制导翻译,是指在语法规则的制导下,通过计算语义规则,完成对输入符号串的翻译。
由于使用属性文法时把语法规则和语义规则分开,但在使用语法规则进行推导或规约的同时又使用这些语义规则来知道翻译与最终产生目标代码,所以称为语法制导翻译。
3.'4.5.给出将附值语句翻译成四元式的语法制导定义,允许右部表达式含有加法、乘法、取负、括号运算。
生成赋值语句X:=B*(C+D)+A的四元式。
解答:赋值语句的自下而上的语法制导翻译过程描述为:规则语义动作(1)A::=i:=E {GEN (:=,,__,ENTRY(i) ) }(2)E::=E1+E2{:=NEWTEMP;GEN(+,, ,}(3)E::= E1*E2{ :=NEWTEMP;'GEN(*,, ,}(4)E::=-E1{ :=NEWTEMP;GEN(@,,__,}(5)E::=(E1) {:= }(6)E::=i {:= ENTRY(i) }生成的赋值语句X:=B*(C+D)+A的四元式为:(+,C,D,T1)((*,B,T1,T2)(+,T2,A,T3)(:=,T3,_,X)6.给出将布尔表达式翻译成四元式的语法制导定义。
解答:布尔表达式的语义子程序为:规则语义动作(1) E::=I {:=null;:=NXQ;【GEN (Jez , ENTRY(i), __,0) }(2) E::= i1 rop i2 { :=null;:=NXQ;GEN (Jnrop,ENTRY(i1), ENTRY(i2),0)}(3) E::= (E1) {:=, :=; }(4) E::= ¬ E1 { :=NXQ;GEN ( J, __, __, 0); BP , NXQ);}(5) E A::=E1∧{ if =null】then begin::=NXQ;GEN ( J, __, __, 0)End;BP ( , NXQ );:=null; := }(6) E ::= E A E2 {if ≠null,then beginBP , NXQ);:=nullEnd:=; }(7) E0::=E1∨{ if :=nullthen begin>:=NXQ;GEN ( J, __, __, 0)End;:=;BP ,NXG);}(8) E::=E0E2 { if ≠nullthen::=MERG,Else beginBP ,NXQ);:=End;:=}其中:~NXQ指示器指向下一个将要形成但尚未形成的四元式的地址(编号),初值为1,每当执行GEN一次,NXQ自动加1。
精品文档-编译原理基础(第二版)(刘坚)-第4章
第4章 语法制导翻译生成中间代码
4.1.3 语义规则的两种形式 根据属性表示的抽象程度,语义规则可以有两种表示方
式。用抽象的属性和运算符号表示的语义规则称之为语法制导定 义,而用具体属性和运算表示的语义规则称之为翻译方案,语义 规则也被习惯地称为语义动作。
本章的重点是语义分析,为了突出重点并使分析过程 简单明了,许多的文法都采用简化了的二义文法,而默认解决 二义性的方法是为文法符号规定常规意义下的优先级和结合性。 例如表达式中算符的优先级是乘除法高于加减法,if-thenelse语句中else是右结合(移进先于归约)等等。
第4章 语法制导翻译生成中间代码
第4章 语法制导翻译生成中间代码
语法制导定义仅考虑“做什么”,用抽象的属性 表示文法符号所代表的语义,如用.post表示表达式的后缀 式;并用抽象的算符表示语义的计算,如用“||”表示两 个子表达式后缀式的连接运算。属性和运算的具体实现细 节不在语法制导定义的考虑范围。根据定义4.1可知.post 是一个综合属性。
第4章 语法制导翻译生成中间代码 【例4.1】 为下述文法所描述的中缀形式的算术表达式
加上适当的语义,得到表达式的后缀表示。其语法制导定义和翻 译方案可分别表示如下。
产生式
语法制导定义
翻译方案
L→E E → E1 + E2
E → num
print(E.post) E.post := E1.post || E2.post || '+';
第4章 语法制导翻译生成中间代码
产生式 L→E E → E1 + E2 E → num
知识点1程序设计语言
知识点1:程序设计语言1。
用高级程序设计语言编写的程序________。
A)计算机能直接执行B)可读性和可移植性好C)可读性差但执行效率高D)依赖于具体机器,不可移植【解读】高级语言程序要经过编译链接后才能执行,执行效率低,具有良好的可读性和可移植性。
2。
下列叙述中,正确的是________。
A)把数据从硬盘上传送到内存的操作称为输出B)WPS Office 20XX是一个国产的系统软件C)扫描仪属于输出设备D)将高级语言编写的源程序转换成为机器语言程序的程序叫编译程序【解读】选项A把数据从硬盘中传送到内存中操作是读盘;选项B的WPS Office 20XX不是系统软件,是应用软件;选项C扫描仪是输入设备。
3。
把用高级程序设计语言编写的源程序翻译成目标程序(。
OBJ)的程序称为________。
A)汇编程序B)编辑程序C)编译程序D)解释程序【解读】将高级语言源程序翻译成目标程序的软件称为编译程序。
4。
下列说法中,正确的是________。
A)只要将高级程序语言编写的源程序文件(如try。
c)的扩展名更改为.exe,则它就成为可执行文件了B)当代高级的计算机可以直接执行用高级程序语言编写的程序C)用高级程序语言编写的源程序经过编译和链接后成为可执行程序D)用高级程序语言编写的程序可移植性和可读性都很差【解读】计算机只能直接识别机器语言,高级语言程序需要经过编译链接后才能生成可执行文件,高级语言程序的可读性和可移植性好。
5。
下列叙述中,正确的是________。
A)用高级语言编写的程序称为源程序B)计算机能直接识别、执行用汇编语言编写的程序C)机器语言编写的程序执行效率最低D)不同型号的CPU具有相同的机器语言【解读】计算机能直接识别机器语言,机器语言的执行效率高。
6。
CPU的指令系统又称为________。
A)汇编语言B)机器语言C)程序设计语言D)符号语言【解读】机器语言是一种CPU的指令系统,是由二进制代码编写,能够直接被机器识别的程序设计语言。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.2 三地址代码
三地址代码是由下面一般形式的语句构成的序列。 x:=y op z 其中x、y、z是变量名或编译时产生的临时变量名; y、z还可以是常数;op代表某种操作符。这种中间 语言的特点有两个。 (1)非常接近汇编语言形式,包括汇编语言中最基 本的操作。 (2)每个语句中赋值号的右边只有一个操作符,使 得句子意义最小且不可分。例如,源语言表达式 x+y*z可被翻译成如下的句子序列: T1:=y*z T2:=x+T1
S
N
→ →→
M |N
if ( E) M else M
M
if ( E)S |if ( E)M elseN
这个文法用非终结符M单独定义可嵌套的 if…else语句。它是无二义的,只是有些累赘, 也不太容易理解。实际上,并不是所有的语句 文法一定会存在悬挂,有些语言的设计就避免 了这个问题。如果所有的语句都有结尾,或其 他类似符号结尾,就不存在这个问题了。
信息学院软件工程教研室
无二义的表达式文法一般定义为:
E EaddopT |T |E addop |
F
H
H F |H
→
mulop *| /
无论采用哪一种文法形式,只要最终语 句的意义是确定、不含糊的,并且是统 一的,那么同一个语句所对应的抽象语 法树就是相同的。
→
→
信息学院软件工程教研室
→
→
( E)|i
4.3.2 赋值语句
赋值语句的文法最简单,定义为:
S
id =E
其中,是一个名字,它表示各种类型的变 量,包括下标变量(数组)。“=”是赋 值号,E是表达式,赋值语句的语义是把 赋值号右边表达式的值放到赋值号左边 名字所指的地址中去。
信息学院软件工程教研室
信息学院软件工程教研室
上图所示是语句抽象语法树的结构。 这是一棵有三棵子树的抽象语法树, 最左边的子树是表达式, 这里一般都是关系表达式和逻辑表达 式, 但是有些C语言里也用算术表达式。 最右边的子树是可选句子, 所以用虚线连接。 信息学院软件工程教研室
4.3.4 循环语句
循环语句也有各种不同的情况,但实质 是一样的,其一般的语法形式也很简单, 如下:
(1)若E是高级语言中的一个变量或常数,则E 的逆波兰表示式仍是E。 (2)若高级语言中的表达式为E1 op E2,其中, op是一个二元算符,E1、E2也是表达式,则逆 波兰式表示为E1 'E2' op,其中,E1'是E1的逆波 兰式,E2'是E2的逆波兰式。 (3)若高级语言中的表达式为(E),则逆波 兰表示式为去掉括号的E',E'为E的逆波兰表示 式。
4.3.1 表达式语法(算术) 4.3.2 赋值语句 4.3.3 if语句 4.3.4 循环语句 4.3.5 说明语句 4.3.6 函数的定义与调用 4.3.7 程序语句序列文法
信息学院软件工程教研室
4.3.1 表达式语法(算术)
根据算术表达式的定义,一般算术表达式记为 E,其文法被定义为: E→E op E (op 为双目操作符) E→op E (op 为单目操作符) E→D|id (D为数字,id为标识符号)
S while ( E)S
对应的抽象语法树如图所示。
→
信息学院软件工程教研室
说明语句用以定义各种名字的数据类型。与 表达式和控制语句不同的是,说明语句不会 被翻译成可执行代码,因此也不会被翻译成 中间代码。说明语句实质是为名字确定存储 空间或过程、函数的起始地址。说明语句也 可以生成语法树,通过语法树来确定各个名 字的类型。由于说明语句没有嵌套,所以没 有层次。因此它的抽象语法树蜕化成一个链 表。所谓类型,其实质就是存储控制。
第四章 程序设计语言常用的 语法与翻译方法
信息学院软件工程教研室
4.1 逆波兰表示法
逆波兰表示表达式 ab* ab*c+ abcd/+* ab*cd*+
高级语言表示表达式 a* b a*b+c a*(b+院软件工程教研室
高级语言表达式E的逆波兰表示法可这样定义:
信息学院软件工程教研室
三地址代码的语句形式可分为两类: 一类是带有各种运算操作的赋值语句 第二类是转移语句
三地址码语句可看成是一种中间代码的 抽象形成,在编译程序中,三地址代码 的具体实现常以记录的形式表示,通常 有3种表示方法:四元式、三元式、间接 三元式
信息学院软件工程教研室
4.3 程序设计语言常用语法
→
信息学院软件工程教研室
考虑以下符号串:
其中,符号E1、E2、S1、S2都是由终结 符组成的符号串。 这个串有两个分析树
该语法树把看 作与其最近的 同属一层 该语法树把 看作与整句 之首的同属 一层
if ( E) if ( E 2)S 1 else S 2
信息学院软件工程教研室
改写的文法如下:
→
对赋值语句文法定义的句子而言,相应 的抽象语法树如图所示。
信息学院软件工程教研室
4.3.3 if语句
if语句是控制语句的一种,它的文法被定 义为:
S if ( E)S | if ( E)S else S
这个语法有两个候选式,这两个候选式 的前半部分是一样的,即:。也就是说, 在一个符号串之后可能紧跟一个或跟其 他的符号串。由于可选的影响,这个文 法有二义性的,即所谓“悬挂问题”。
这是一个无法直接使用的二义性文法,必须使 用前述两种消除二义性文法的策略将文法中的 二义性表达加以限制或改写。
信息学院软件工程教研室
对这种表达式保留文法的二义性也有好 处。不过在作语法分析时要规定算符间 的优先关系和结合顺序,这样才能确定 语句的最终意义。这就是常用于表达式 语法分析的算符优先分析法。
信息学院软件工程教研室
语句又称分支语句。在C中,它的语义是 根据表达式的值决定是否执行语句S或执 行两个语句S中的某一个。仔细分析一下 语句的符号串,真正有可执行意义的符 号只有E和S两个非终结符,其他终结符 只是标记符号串的结构形式。因此,在 建立抽象语法树的时候,我们可以摆脱 那些没有意义的符号。