当前位置:必发彩票官网 > 词法分析器 >

求一个尽量完整的编译器:词法分析器+语法分析器

  1.设计扫描程序,将任何一种整数运算表达式(无变量,操作数为正整数,允许加减乘除四种运算,允许使用括号和多层括号)识别为单词,并能发现单词的拼写错误2.设计自底向上分析程序...

  1.设计扫描程序,将任何一种整数运算表达式(无变量,操作数为正整数,允许加减乘除四种运算,允许使用括号和多层括号)识别为单词,并能发现单词的拼写错误

  3.根据算符优先文法的分析步骤,展示(最好可视化的展示)分析栈、token串的状态变化、相关量的优先级比较(算符优先分析表) 、判断当前是否进行规约或移进操作、(若须规约)显示当前应规约的串

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部在一个模式被匹配之前,词法分析器往往需要超前扫描该词素后面的若干个字符,使用将字符退回输入流的方法,需要移动大量字符的时间,由于 词法分析器是编译期间唯一需要逐一扫描源程序字符的过程,因此它的效率将极大的影响编译器的性能,因此人们发明了双缓冲区的技术。

  把一个缓冲区分成前后两个部分,每部分能够容纳N(1024/4096)个字符,每次系统读命令读入N个字符到前半部分或者后半部分,如果剩余的不足N个字符,则在最后增加一个不同于其他任何字符的字符,如eof/#,用于标识源文件的结束。缓冲区包括两个指针beginning和forward,在两个指针之间的字符串就是当前的词素。一开始两个指针都指向第一个字符,然后forward向后扫描,直至发现一个匹配的词素为止。如果forward跨过中间标记,则往后半部分读入N个字符。如果forward指针移过最后位置,则向前半部分读入N个字符,且forward指针重新指向开始继续处理过程。为了处理方便在两个部分的最后都增加一个文件结束标识eof。示意图如下:

  //这个函数的具体代码就要和具体的词法分析规则而定,这里假设只识别空格分割的单词

  //这个函数的具体代码就要和具体的词法分析规则而定,这里假设只识别空格分割的单词

  展开全部我电脑存的有,不过现在电脑不在我这,今天看到也没法发你了,感觉有点抱歉

http://syn992.com/cifafenxiqi/64.html
点击次数:??更新时间2019-04-08??【打印此页】??【关闭
  • Copyright © 2002-2017 DEDECMS. 织梦科技 版权所有  
  • 点击这里给我发消息
在线交流 
客服咨询
【我们的专业】
【效果的保证】
【百度百科】
【因为有我】
【所以精彩】