HNU编译原理作业2:词法分析与正则表达式详解
111 浏览量
更新于2024-08-03
2
收藏 14.76MB PDF 举报
本次HNU编译原理作业2(2021级)主要关注词法分析和正则表达式两个核心主题。以下是详细的知识点解析:
1. **词法分析简介**:
- 词素:词法分析是编译器处理程序的第一步,将源代码分解为基本的有意义的符号,即词素。例如,常量如12), my house被识别为单个词素,它们的值分别是内存单元中的存储值和字符串本身。
- 常量与变量:常量包括数值(如512ㄥ和-100),它们有自己的固定值;变量如<x, x>和<x_x>,在某些上下文中可能代表内存地址,其值由上下文决定。
- 标点符号:标点符号如"<>"、","和"."通常没有独立的值,但有时用于表示语法结构。
2. **正则表达式**
- 字符匹配:正则表达式用于描述字符串模式,如以"a"开头和结尾的字符串,可以表示为"a...a";零个1多次的多个字母组合,如"..."。
- 字母集:规定了特定字符集,如大写和小写字母的集合[a-jA-Z],辅音字母[bcdfghjklmnpqrst.mxwv],以及十六进制数字符[0-9abcdefABCDEF]。
- 语言特性:英语句子后的合法字符集包括标点符号"I?!",这表明这些字符可以出现在句子末尾。
3. **符号值和语法分析**:
- 关键字:关键字如"if", "else", "while"等,它们在编程语言中有特殊含义,其值通常就是它们自身。
- 无值符号:如标点符号在词法分析阶段可能没有明确的值,它们的存在只是为了构成正确的语法结构。
4. **作业任务与实践**:
- 学生需要根据上述规则设计词法分析器,识别并分类输入的源代码为不同的词法单元,如常量、变量、关键字、标点符号等,并处理正则表达式的模式匹配。
本次作业着重于理论与实践的结合,要求学生深入理解编译原理中的词法分析过程,能够运用正则表达式描述和匹配语言的语法规则,并将其应用于实际编程任务中。完成这项作业有助于巩固对编译原理基础概念的理解,提升对编程语言结构的敏感度。
2022-03-20 上传
2023-10-29 上传
2023-10-29 上传
2023-10-29 上传
2023-10-31 上传
2023-10-29 上传
2022-11-03 上传
2023-10-31 上传
_蟑螂恶霸_
- 粉丝: 1348
- 资源: 14
最新资源
- course_Systems_Biology:天津医科大学,生物医学工程与技术学院,《系统生物学》课程资料
- radomPassword:JS随机密码生成器
- Pupil-issue:Pupil的仅发行库
- api-doc:用PHP编写的功能强大的api文档管理系统
- Excel模板基础体温表--可直接打印.zip
- Reprogram2020_B:Payton,Shalin,Kyle,Justin
- an0060-efm32-aes-bootloader.zip
- AssetsReporter:[Unity]资产导入设置报告系统
- LaserShooter:LaserShooter正在ShootingGame
- phasepack-matlab-master_相位恢复算法_相位恢复_相位成像
- springbootwebapp:Spring Boot Web应用程序
- DataRecorderApp:客户义工项目
- 用于React原生的 iOS 和 Android 原生搜索组件
- DevSena:基于AI的事故检测系统
- beetle-fanpage:我的甲虫的粉丝专页
- Vortex laser_laservortexmatlab_vortex_涡旋光_衍射_涡旋光衍射