- 博客(3)
- 收藏
- 关注
原创 编译原理实验一PL/0词法分析器c++
实验目的通过实现PL/0语言(一种示例小语言)的词法分析器,理解词法分析过程,掌握程序各部分之间的接口安排。分析与设计程序的输入直接使用经过预处理之后的程序,读取文件到数组buffer。(预处理程序在上一篇文章)遍历buffer的每一行,对每一行进行提取子串,判断子串是否是关键字、标识符、常数、算符或者界符对于关键字和标识符:将所有关键字存放于一个数组keyWords当中,当识别出一个由字母组成的字符串时,遍历keyWords数组,判断是否是关键字,如果不是就判定字符串为标识符。(关键字
2022-04-25 21:24:31
3845
原创 PL/0语言编译预处理c++语言实现
1. 预处理的任务预处理作为实现词法分析器的前提。(1)合并空白符:把原始程序中相邻的空格、制表符、回车等空白符合并成一个空格,便于后续处理(2)消除注释:消除原始程序中的注释内容单行注释:“//”引导内容,与C++语言中单行注释一致多行注释:“(*”和“*)”之间内容2. PL/0示例程序3. 思路将预处理分为两个部分来完成:消除注释和合并空白符(1)首先是消除注释:先将注释所在的行置为空行,再将空行去除。注释有单...
2022-04-22 12:43:19
1856
1
原创 n皇后问题和2n皇后问题c++
说在前面:最近遇到2n皇后问题,看了很多代码都不是很懂,就先去学习了n皇后问题,n皇后问题弄明白之后,2n皇后问题就很容易了。其中n皇后问题是学习了b站up主<麦克老师讲算法>的视频之后弄明白了。(建议先学习n皇后,再学习2n皇后)1. n皇后问题问题简述:在8×8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。输入:n输出:n*n的棋盘格上,有多种摆法解析:其中一个重要的数据结构就是设置一个一维数组a
2022-04-02 09:35:53
235
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人