PL/0语言编译程序分析
PL/0语言是Pascal语言的一个子集,我们这里分析的PL/0的编译程序包括了对PL/0语言源程序进行分析处理、编译生成类PCODE代码,并在虚拟机上解释运行生成的类PCODE代码的功能。
PL/0语言编译程序采用以语法分析为核心、一遍扫描的编译方法。词法分析和代码生成作为独立的子程序供语法分析程序调用。语法分析的同时,提供了出错报告和出错恢复的功能。在源程序没有错误编译通过的情况下,调用类PCODE解释程序解释执行生成的类PCODE代码。
词法分析子程序分析:
词法分析子程序名为getsym,功能是从源程序中读出一个单词符号(token),把它的信息放入全局变量sym、id和num中,语法分析器需要单词时,直接从这三个变量中获得。(注意:语法分析器每次用完这三个变量的值就立即调用getsym子程序获取新的单词供下一次使用。而不是在需要新单词时才调用getsym过程)。getsym过程通过反复调用getch子过程从源程序过获取字符,并把它们拼成单词。getch过程中使用了行缓冲区技术以提高程序运行效率。
词法分析器的分析过程:调用getsym时,它通过getch过程从源程序中获得一个字符。如果这个字符是字母,则继续获取字符或数字,最终可以拼成一个单词,查保留字表,如果查到则为保留字,把sym变量赋成相应的保留字类型值;如果没有查到,则这个单词应是一个用户
您可能关注的文档
- 材料物理基础晶体结构的缺陷重点.ppt
- 保利海上五月花143厅四室两厅装修效果图重点.ppt
- 保利九月服务方案重点.ppt
- 编码器在分拣单元定位系统中的应用重点.ppt
- 材料物理讲稿第3章重点.ppt
- 编码体系_v1.0分析.doc
- 保利梧桐语全年营销方案分析.ppt
- 编码压缩冗余质量评价重点.ppt
- 保留射血分数心衰新版重点.ppt
- 材料物理思考题分析.doc
- 2025年下半年小学教师资格考试简答题汇总.pdf
- 护理教学比赛资源整合.pptx
- 2022泰和安消防 JTGB-HM-TX3H01 JTGB-HM-TX3H02 TGB-HM-TX3H03 系列点型红外火焰探测器.docx
- 2025年驾驶证资格考试最新最全交通标志大全.pdf
- 护理教学理念:更新与发展.pptx
- 2025年新驾考科目一巧记速记口诀(全国通用).pdf
- 2025年一级建造师《项目管理》黄金预测考点【打印版】.pdf
- 证券公司高级管理人员资质测试章节练习-第一部分综合类第六章至七章:证券投资基金法、信托法.pdf
- 护理教学研究:方法与成果.pptx
- 麻纺车间设备更新准则.docx
最近下载
- 农业知识发现考试题库及答案.doc VIP
- 相关与回归分析 .ppt VIP
- 网络安全等级测评师能力评估(中级)第一套样卷测试题及答案.docx VIP
- 2025年农业知识考试题库及答案.doc VIP
- 最新农业知识考试题库.doc VIP
- 【129页】数字孪生城市生命线安全运行监测系统平台规划设计方案.docx
- 2024年7月黑龙江高中学业水平合格考生物试卷真题(含答案详解).pdf VIP
- 肺结节诊治中国专家共识(2024年版).pptx VIP
- 2025年职业资格碳排放管理员碳排放核算员-碳排放核算员参考题库含答案解析.docx VIP
- 高考数学十年(2016-2025)真题《圆锥曲线(椭圆、双曲线)》专项分类汇编含答案.docx VIP
原创力文档

文档评论(0)