打印词法分析和语法分析

打印词法分析和语法分析

ID:40212989

大小:2.19 MB

页数:224页

时间:2019-07-26

打印词法分析和语法分析_第1页
打印词法分析和语法分析_第2页
打印词法分析和语法分析_第3页
打印词法分析和语法分析_第4页
打印词法分析和语法分析_第5页
资源描述:

《打印词法分析和语法分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Chapter3Scanning(lexicalanalysis)词法分析3.1词法分析器的作用3.2记号的描述3.3记号的识别3.4从正规表达式到DFA3.5TINY扫描程序的实现3.6LEX9/20/20211北京化工大学信息科学与技术学院计算机系3.1词法分析器的作用词法分析源程序目标程序语法分析语义分析文字表、符号表处理错误处理中间代码优化中间代码生成前端后端●Thephaseofacompiler编译程序的结构目标代码生成9/20/20212北京化工大学信息科学与技术学院计算机系3.1词法分析

2、器的作用读入输入字符,产生记号序列,供语法分析使用3.1.1词法分析中的问题3.1.2记号3.1.3记号的属性9/20/20213北京化工大学信息科学与技术学院计算机系3.1词法分析器的作用3.1.1词法分析中的问题把编译过程的分析阶段划分为词法分析和语法分析的原因如下:1.简化编译器的设计可能是最重要的考虑。2.提高编译器的效率。3.增强编译器的可移植性。9/20/20214北京化工大学信息科学与技术学院计算机系3.1词法分析器的作用3.1.2记号:扫描程序生成的逻辑单元以字母开头:保留字:IF,TH

3、EN,ELSE,END,REPEAT,UNTIL,READ,WRITE标识符:字母/数字串以数字开头:整常数:数字开头的数字串实常数:整数.整数符号词:+,-,*,/,(,),:,:=,;,.控制词:enterReservedWords保留字multicharacterTokens多字符串的记号SpecialSymbols特殊符号9/20/20215北京化工大学信息科学与技术学院计算机系typedefenum/*book-keepingtokens*/{ENDFILE,ERROR,/*reservedw

4、ords*/IF,THEN,ELSE,END,REPEAT,UNTIL,READ,WRITE,/*multicharactertokens*/ID,NUM,/*specialsymbols*/ASSIGN,EQ,LT,PLUS,MINUS,TIMES,OVER,LPAREN,RPAREN,SEMI}TokenType;●Tokens(记号)的枚举表示每一个记号的表示:Typedefstruct{TokenTypetokenval;char*stringval;intnumval;}TokenRecord

5、9/20/20216北京化工大学信息科学与技术学院计算机系3.1.3记号的属性任何与记号相关的值E=M*C3.1词法分析器的作用9/20/20217北京化工大学信息科学与技术学院计算机系3.2记号的描述●aregularexpressionr正则表达式risdefinedbythesetofstringsthatitmatches.●L(r)正则表达式生成的语言(集

6、合)languagegeneratedbytheregularexpression.●Characterset字符集符号:字母表中的元素例:a,b,c符号串:符号的有穷序列例:a,aa,ac,abc,..空符号串:无任何符号的符号串(ε或λ)符号串集合:由符号串构成的集合。●∑字母表(符号的非空有限集)例:={a,b,c}legalsymbols,calledalphabet.besetoftheASCIIcharactersorsomesubsetofit3.2.1串和语言3.2.2语言上的运算9/

7、20/20218北京化工大学信息科学与技术学院计算机系◆Thesinglecharacterfromthealphabet,expressionamatchesthecharactera.L(a)={a}◆emptystring(ε):thestringcontainsnocharacters.L(ε)={ε}◆{}orΦ:matchesnostringatall,whoselanguageistheemptyset.L(Φ)={}3.2.3DefinitionofRegularExpression1.

8、BasicRegularExpression基本正则表达式9/20/20219北京化工大学信息科学与技术学院计算机系●

9、——Choiceamongalternatives或(选择)2.RegularExpressionOperation正则表达式的运算L(r

10、s)=L(r)∪L(s)L(a

11、b

12、c

13、d)={a,b,c,d}S*={ε}∪S∪SS∪SSS∪………L(r*)=L(r)*●*——Repetitionor“closure”Kleen

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。