- 博客(19)
- 收藏
- 关注
原创 语法分析器2--自顶向下递归下降
自顶向下语法分析器从语法分析树的根开始,系统化地向下扩展树,直至树的叶结点与词法分析器返回的已归类单词相匹配。自顶向下语法分析器的效率极其依赖于其在扩展非终结符时选择正确产生式的能力。如果语法分析器总是产生正确的选择,自顶向下语法分析是高效的。如果它作出糟糕的选择,语法分析的代价将直线上升。对于某些语法来说,最坏情况下的行为是语法分析器无法终止。
2024-09-21 13:49:56
1024
原创 语法分析器1--上下文无关文法
概述:在词法分析器生成已归类单词的流之后,语法分析器的任务是判断单词流表示的输入程序在程序设计语言中是否是一个有效的句子。从语法分析器的视角来看,输入的程序是一个单词流,其中各个单词都标注了语法范畴(词类)。
2024-09-21 12:57:29
435
原创 实现词法分析器(C++)
2.program为语法分析的程序,在语法分析器中得到有效单词,而单词需要通过词法分析实现,所以语法分析使用词法分析的返回值。1.采用文件形式输入代码,comp.cpp。3.词法分析器 Lexical.cpp。
2024-09-21 12:16:25
486
原创 收集的xv6函数
原因是从调度器的视角来看,在需要调度一个新进程时,它会执行swtch(&c->scheduler, &p->context),其中&p->context当作参数传入,eip就是返回的函数地址。在保存完字符串“ls”,“aaa”之后,我们还需要字符串的地址,用于告知字符串的位置,地址会紧跟在字符之后保存。在得到Program header后,我们首先需要通过uvmalloc()在页表中建立起新的va和pa的映射,然后调用loadseg()把pa对应的内容替换掉,我们text和data的替换就完成了。
2024-05-31 16:40:56
694
原创 JAVA——GUI
适当设置可以成为窗体背景图。3. void setBounds(int x,int y,int width,int height):设置位置和大小。成员:void setBounds(int x,int y,int width,int height):设置位置和大小。成员:void setBounds(int x,int y,int width,int height):设置位置和大小。成员:void setBounds(int x,int y,int width,int height):设置位置和大小。
2024-04-13 19:40:21
597
1
原创 202312-2 因子化简
1.超时的主要原因在于main中的for循环内部,将乘法从循环中拿出来,使得指数和底数分离保存。2.提前计算100000以内的素数。
2024-03-19 17:47:59
215
原创 202312-1 仓库规划
2.对于for的第三层循环,原本想用flag作为标志,后来发现用k可以代替,因为如果不符合要求(跳出循环),k的值绝对不会=m,如果符合要求,那k的值会=m然后检测不满足k
2024-03-19 11:02:19
348
原创 正规文法与自动机等价性
(1)每一个非终结符对应一个状态,并增加一个新的初始状态q0,开始符作为终结状态。(1)每一个非终结符对应一个状态,并增加一个新的终结状态f。分析:A为初态,B为终态,按照步骤中(2)类似于FA->右正规文法。(2)终结符对应字母表。转化关系,其他转化类似。(2)终结符对应字母表。
2024-01-09 17:55:17
525
原创 202303-1 田地丈量
样例输入4 10 100 0 5 55 -2 15 38 8 15 15-2 10 3 15样例输出44分析:先排除完全不在区域内的田地,然后剩下的重叠,就重叠部分的和。右上角的坐标和(a,b)求最小,左下角和(0,0)求最大,然后求重叠面积,求和。代码:100#include<iostream>using namespace std;int min(int x, int y){ if (x > y) return y; re
2023-12-09 16:15:25
75
原创 202309-2 坐标变换(其二)
对于连加/连乘,例如,求20-100的和,可以求1-19的和,1-100的和然后相减,乘法同理。头文件中的标准输出函数,它可以使用格式化字符串来控制输出的格式。要保留小数点后几位,可以使用。代码超时的主要肯定在嵌套for循环,所以对这部分进行研究。所以拉伸和旋转都可以先综合,再进行变换。2)注意拉伸用的是乘法,所以初始化为1.
2023-12-09 15:53:07
114
原创 202309-1 坐标变换(其一)
对于平面直角坐标系上的坐标 (x,y),小 P 定义了一个包含 n 个操作的序列T=(t1,t2,....tn)。对于每一个输入坐标都要进行一次操作序列,但是操作序列是给定的规则,即都是平移,那么就是在原坐标的基础上一直对应相加n个操作序列。输出共 m 行,其中第 j(1≤j≤m)行包含空格分隔的两个整数,表示初始坐标 (xj,yj) 经过 n 个操作后的位置。现给定 m 个初始坐标,试计算对每个坐标 (xj,yj)(1≤j≤m)依次进行 T 中 n 个操作后的最终坐标。输入共 n+m+1 行。
2023-11-30 18:42:35
189
原创 词法分析器3-正规式到词法分析器
对于有限自动机,目标是使得从一组正规式导出可执行词法分析器的过程自动化。这一节,将开发一些构造法,以便将RE转换为适合于实现的FA,还将设计一种算法,从FA接受的语言推导出对应的RE。要解释这些构造法,我们需要先了解NFA和DFA。
2023-11-27 10:22:45
1092
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人