第二章 高级语言及语法描述

第二章 高级语言及其语法描述 一.程序语言的定义1.语法:指这样的一组规则,用它可以形成和产生一个合适的程序。而这些规则的一部分成为词法规则,另一部分成为语法规则。             (1)单词符号是语言中具有独立意义的最基本的结构。(一般包括:各类型的常数、标识符、基本字、算符和界符)             (2)语法规则:规定了如何从单词符号形成更大的结构(语法单位)。                      语... 阅读详情

1、语法三个基本概念:

    (1)字母表

    (2)单词符号

    (3)语法单位

2、语法、语义、文法区别:

语法:一组规则,用这组规则可以产生形式上正确的程序。

语义:语义是指这样的一组规则,使用它可以定义一个程序的意义。

文法:文法是描述语言的语法结构的形式规则(即语法规则)。

3、高级语言的分类

(1)按程序设计范型分为:

强制式语言(过程式语言。c)
应用式语言(函数式语言。lisp)
基于规则的语言(prolog,yacc)

面向对象的语言(java)

(2)按编译时是否需要类型检查分为:

静态类型语言(c,c++,java)

动态类型语言(Python, Ruby,PHP)

(3)按类型检查强弱分为:

弱类型语言(C,C++,VB)

强类型语言(JAVA, C#)

4、程序设计语言的一般特性:

(1)程序结构
(2)数据类型与操作
(3)语句

(4)控制结构

5、上下文无关文法组成部分:终结符号、非终结符号、开始符号、产生式。

用大写字母代表非终结符,小写字母代表终结符,用α、γ、β等代表由终结符和非终结符组成的符号串。

第六题

G6:

N→D|ND

D→0|1|2|3|4|5|6|7|8|9

则L(G6)是终结符产生的一个符号串,即数字0~9组成的符号串。

0127最左推导:N→ND→NDD→NDDD→DDDD→0DDD→01DD→012D→0127

0127最右推导:N→ND→NDD→NDDD→DDDD→DDD7→DD27→D127→0127

第七题

写一个文法,使其语言是奇数集,且每个奇数不以0开头。

G(7):

A→1|3|5|7|9

B→2|4|6|8|A

D→0|B

E→A|FA

F→B|BD

6、语法树的二义性:

E→E+E|E*E|(E)|i, 关于(i*i+i)的推导

推导一:E→(E) →(E*E) →(i*E) →(i*E+E)→(i*i+E) →(i*i+i)


推导二:E→(E)→(E+E)→(E*E+E)→(i*E+E)→(i*i+E)→(i*i+i)


学习总结:本章作为这门课的正式第一章,让我充分了解到了这门课程的困难程度,就算上课专心听讲也不一定能都理解。所以课前的预习是必要的。本章学习了高级语言的语法描述,重点是上下文无关文法,这一部分内容感觉比较陌生,就和刚接触计算机语言感觉差不多,不能完全理解它的作用和原理,希望后续的学习能慢慢深入。

编译原理——第二章高级语言及其语法描述总结 高级语言及文法描述一.基本概念1.程序语言语法——语法规则和词法规则语义——描述语法单位的功能和意义词法规则——合法单词的构成规则(有限状态自动机或正规式描述)语法规则——合法程序的构成规则(用上下文无关文法描述)字母表∑——有限字符集(大小写英文字母,数字,特殊字符),其中每个元素称为符号单词符号——有独立意义的最基本结构(包括常数,标识符,基本字,算符和界符)语法单位——由单词符号构成更大的结... 阅读详情

相关推荐

编译原理第二章 高级语言及其语法描述

一、知识总结2.1  程序语言的定义程序语言是建立在有限字母集之上的一个符号系统,功能是描述数据和对数据的运算。程序语言主要由语法和语义两方面定义。1.语法定义:一组规则,使用它可以产生形式上正确的程序。这些规则包括词法规则(单词)和语法规则(程序)。    字母表    单词符号:语言中具有独立意义的最基本结构    语法单位2.语义定义:一组规则,使用它可以定义一个程序的意义。这些规则为语义规...

d_sn0203的博客 658

编译原理练习题(第二章)

编译原理练习题(第二章) 写一个文法,使其语言是奇数的集合,且每个奇数不以0开头。 下面文法生成的语言是什么?G1:S->AB A->aA| e B->bc|bBc G[S]为:S->aB|bA A->aS|bAA|aB->bS|aBB|b(1)给出串aaabbabbba的最左推导和语法树(2)句子aaabbabbba的短语、直接短语和句柄 编译原理之最左推导和最右推导 编译原理 —— 短语、直接短语、素短语和句柄 ...

XRT_knives的博客 3640

编译作业2.2.jpg

2(10分)写一个文法,使其语言是奇数集,且每个奇数不以0开头。 2(10分)写一个文法,使其语言是奇数集,且每个奇数不以0开头。

编译原理 第二章 学习总结

编译原理 第二章 学习总结第二章学习的是高级语言及语法描述,首先是程序语言的定义,从语法语义方面来定义语言。接下来是高级语言的一般特性,高级语言的分类包括强制式语言,应用式语言,基于规则的语言和面向对象语言,本章的重点是上下文无关文法,下面选择书本后面的练习题来说明:T6:N -> D|ND,D -> 0|1|2|3|4|5|6|7|8|9,问它的语言L是什么?N能转换成D,也就是能得...

aa3a12213的博客 4212

编译作业2.1.jpg

1(20分)令文法G6为: N→D∣ND N→0∣1∣2∣3∣4∣5∣6∣7∣8∣9 (1)G6的语言L(G6) 是什么? (2)给出句子0127、34和568的最左推导和最右推导

编译原理课后习题答案

陈火旺编译原理第三版课后习题答案,可以帮助你很好的学习编译原理

编译原理求最左推导和最右推导例题

一、【问题描述】 令文法G[N]为 G[N]:N→D IND D→0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 (1) G[N]的语言L(G)是什么? (2)给出句子0127、34和568的最左推导和最右推导。 二、【问题解答】 答: (1) G[N]的语言L(G[N])是非负整数。 (2)最左推导: N=>ND=>NDD=>NDDD=>DDDD=>0DDD=>01DD=>012D=>0127 N=>ND=>DD=&g

#两个西柚 4926

电路描述语言CDL(PPT)

提供C17电路的电路描述方法,给出了具体的编程方法

词法分析作业

NFA如下:

rozaji2008的博客 558

STM32CubMX_MQ135检测空气质量

一、MQ135简介 MQ135是测量空气污染情况常用的一个传感器,具有代表性,价格低,寿命长,敏感度也OK,主要用于测量空气中二氧化碳,氮氧化物,氨气,酒精,苯类等。这几样气体可以说都属于家用空气污染测定中的重要成份,因此用这个传感器刚刚好。 MQ135气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在污染气体时,传感器的电导率随空气中污染气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。 注: pm2.5的话要用另外类型

W_Oilpicture的博客 3万+

学习笔记( 11 ) - 解决:finalshell连接虚拟机(ubuntu)超时,主机ping不通虚拟机,主机没有VMnet8网卡, Connection refused: connect

解决:finalshell连接虚拟机(ubuntu)超时,主机ping不通虚拟机,主机没有VMnet8网卡, Connection refused: connect

烟溪彭于晏的博客 2万+

编译原理——第二章

第二章   高级语言及其语法描述一、程序语言的定义1、程序语言主要是由语法和语义两个方面定义。2、任何语言程序都可以看作是一定字符集(称为字母表)上的一字符串(有限序列)。3、单词符号是语言中具有独立意义的最基本结构。一般包括:各类型的常数,标识符,记本子,算符和界符等。4、词法规则是指单词符号的形成规则。5、语言的语法规则规定了如何从单词符号形成更大的结构(语法单位),换言之,语法规则是语法单位...

@CJZ啊的博客 4785

Grey Hack v0.7.3618 保姆级教程:手把手教你用metaxploit.so写一个自动提权脚本

本文详细介绍了如何在Grey Hack v0.7.3618中使用metaxploit.so库编写自动化提权脚本。从环境准备到核心功能解析,再到漏洞利用链构建和权限提升的智能处理,手把手教你掌握游戏中的高级黑客技巧。通过多库联合利用和错误处理优化,提升脚本的效率和成功率。

weixin_42537919的博客 396

第二章 高级语言及其语法描述

《编译原理》学习笔记

weixin_43820118的博客 1258

从RADIUS服务器到AP:实战搭建一个小型WPA2-Enterprise测试环境(FreeRADIUS + 家用路由器)

本文详细介绍了如何从零搭建WPA2-Enterprise测试环境,使用FreeRADIUS服务器和家用路由器实现企业级WiFi认证。通过实战指南,包括证书生成、EAP-PEAP配置、OpenWrt路由器设置及故障排查,帮助网络工程师和爱好者掌握802.1X协议栈的实际应用。

weixin_28715953的博客 325

23.501中英对照(46):5QI到Qos特征的映射

注4:对于UPF终止N6与5G-AN之间的延迟,CN PDB的静态值为1毫秒,应从给定的PDB中减去该值以得出适用于无线接口的分组延迟预算。注5:对于UPF终止N6与5G-AN之间的延迟,CN PDB的静态值为2毫秒,应从给定的PDB中减去该值以得出适用于无线接口的分组延迟预算。注6:对于UPF终止N6与5G-AN之间的延迟,CN PDB的静态值为5毫秒,应从给定的PDB中减去该值以得出适用于无线接口的分组延迟预算。注:建议为任何新的非GBR资源类型的标准化5QI分配小于64的值。

51学通信的博客 1297

第二章 高级语言及其语法描述

一、程序语言的定义语法:一组规则,用这组规则可以产生形式上正确的程序词法规则:合法单词的构成规则,也就是如何从字母表中选择字符构成一个合法单词(用有限状态自动机或正规式描述)。语法规则:合法程序的构成规则,也就是如何把各个单词符号组成更大的语法单位(语句、程序)(用上下文无关文法进行描述)世界上已有上千种高级语言例如: FORTRAN:面向科学计算 COBAL:面向事务处理 PROLOG,LISP...

qq_39853926的博客 437

ArcGIS基础:城市交通网络构建及设施服务分析(一):道路数据处理与拓扑操作

首先需要加载数据, 1:选择这个数据库:,右键导入,选择导入单个要素,弹出“要素类至要素类” 2:输出位置(导入的数据是CAD格式数据)。 3:输出要素类为道路。 4:字段只保留道路类型字段。 这个操作是分类合并各级道路数据。 1:通过属性选择各类道路数据。 2:比如此类都是“干道”。 3:编辑器下来,然后合并即可。 得到如图所示,需要用到三个字段。 上面这个操作是打断道路相交线。 1:选中所有数据。 2:找到高级编辑中的打断相交线。 3:确定即可。 下面进行拓扑检查,虽然我们已经进行合并和打断相交.

yuanYW7556的博客 2万+

第二章理解回顾——高级语言及其语法描述

高级语言及其语法描述 Part 1 概念明晰 讨论对象:高级语言 讨论内容:高级语言的一些定义、结构、和共同特征 程序语言定义——语法和语义 程序语言是一个记号系统,通过该系统中指定的一组符号进行组合来表达一些特定的含义,用于描述问题及解决方案。 一组符号进行组合:在这过组合的过程中所遵循的规则,便是语言的语法。 一些特定的含义:规定了语法成分的实际含义,就是语言的语义。 语法 首先,任何语...

qq_41283356的博客 1368

AgentScope实战训练营:构建计划可视化管理和HITL的AI智能计划助手

本文基于AgentScope Java SDK和Spring Boot WebFlux,从零构建一个支持SSE流式对话、计划可视化管理和HITL的AI智能计划助手Web应用PlanNotebook。涵盖项目架构设计、ReActAgent初始化、自定义工具注册、Hook机制实现、SSE事件协议定义、前端流式渲染等核心技术点,提供完整可运行的代码示例和详细的REST API参考。

program哲学 399

单板电源设计(LDO、DC/DC)

高速电路设计的电源架构 在电路设计中,一块单板往往涉及多种电源,常见的如5V/3.3V/2.5V/1.8V/1.5V/1.2V/1V0.9V/0.75V等,如此多种类的电源不可能都直接通过背板从电源板获得。一般,单板仅有一种或者两种输入电源,如48V或12V,再由它们产生单板上器件所需要的电源。 单板如何由输入电源生成所需电源,常见有两种架构:集中式电源架构和分布式电源架构。 ...

sinat_15677011的博客 8331

第二章 高级语言及其语法描述

一、知识点1、程序设计语言的语法和语义语法:一组规则,用这组规则可以产生形式上正确的程序;词法规则:合法单词的构成规则,也就是如何从字母表中选择字符构成一个合法单词(用有限状态自动机或正规式描述)。语法规则:合法程序的构成规则,也就是如何把各个单词符号组成更大的语法单位(语句、程序)(用上下文无关文法进行描述)语义是指这样的一组规则,使用它可以定义一个程序的意义。语义描述方法:属性文法和基于属性文...

sdau_swj的博客 379

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

第二章-高级语言与语法描述的内容总结

一.内容总结本章主要内容由3部分组成:程序语言定义、高级语言的一般特性和程序语言的语法描述。其中第三部分的上下文无关文法、4种类型文法最为重要。1. 程序语言定义程序语言主要由语法和语义两方面定义。(1) 语法由词法规则 和语法规则构成,三个基本概念:字母表、单词符号、语法单位(2) 语义是指这样的一组规则,使用它可以定义一个程序的意义。2. 高级语言的一般特征2.1分类:2.2数据类型与操作初等...

xurui_0062的博客 416

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【笔记】编译原理——第二章 高级语言及其语法描述

第二章 高级语言及其语法描述

qq_57084274的博客 1322
下一篇: 第三章 词法分析
Ray Chan
博客等级 码龄10年 11粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值