标签:知识点 字符 正则表达式 lexical analysis 词法 程序语言 保留字
此笔记包括词法分析的一些基础知识。
词法分析是编译六个步骤中的第一个步骤。其中,两个重要的知识点分别是正则表达式(regular expression)和
有限自动机(finite automata)。使用正则表达式可以标准地表示词法结构的串格式,而有限自动机应用于串格式的识别。
一个程序中的记号可以被分成几个种类:保留字/关键字、标志符、数字、文本或特殊符号。
正则表达式分为三个部分:基础、扩展及程序语言中的正则表达式。
第一部分,基础的正则表达式包括四个知识点:
1. 基本定义
2. 运算:重复、联结和选择(优先级由左至右)
3. 括号:用于改变优先级
4. 给正则表达式命名,便于使用
第二部分,扩展的正则表达式中包括五个知识点:
1. +号:1个或多个;是重复的另一个版本
2. .号:任意字符
3. […]:选择字符,常见的有[0-9]、[a-z]、[a-zA-Z]
4. ?号:可选
5. ~号:不在给定集合中的任意字符
第三部分,程序语言中的正则表达式主要讨论程序语言中的各个部分该如何表示:
1. 数
2. 保留字和标识符
3. 注释
4. 语言定义要给出无二义规则
5. 遵循最长子串原理,有时会遇到记号分隔符
6. 处理先行
标签:知识点,字符,正则表达式,lexical,analysis,词法,程序语言,保留字 来源: https://blog.csdn.net/LonelyObserver/article/details/100545637
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。