首页 > 其他分享 >编译原理--自顶向下语法分析方法

编译原理--自顶向下语法分析方法

时间:2023-11-08 15:36:26浏览次数:38  
标签:语法分析 定义 -- 自顶向下 Follow 终结符 Select First

image

from pixiv

LL(1) 文法的判别

LL(1)文法的定义在P71

其是根据Select选择符号集来定义的

  • Select 定义在P71
    Select(A->α)含义为: 非终结符A在遇到Select(A->α)中元素时才能够将A->α,否则会匹配不上

  • First 定义在P69
    First(A)含义为: 非终结符A在推导(->)时遇到的第一个终结符所组成的集合为First(A)

在考试的时候,遇到要求First集合的时候,用P75讲述的关系图法确实有用
但是需要注意First是否包含ε的情况

  • Follow 定义在P70

Follow(A)含义为: 非终结符A在推导(->)时,A后一个终结符所组成的集合为Follow(A)

需要注意的是Follow(开始符) 中都会包含# 这个元素

标签:语法分析,定义,--,自顶向下,Follow,终结符,Select,First
From: https://www.cnblogs.com/cilinmengye/p/17817498.html

相关文章

  • Python和requests库结合采集豆瓣短评
    Python是一种常用的程序语言,今天我们就用Python和requests库结合,来写一个采集豆瓣短评的程序,非常的简单,一起来学学吧。```pythonimportrequestsfrombs4importBeautifulSoup#设置代理proxy=f'http://{proxy_host}:{proxy_port}'headers={'User-Agent':'Mozilla/5.......
  • Burpsuite测试神器使用
    1、Web漏洞扫描是在Web信息搜集的基础上,进行更进一步的自动化的安全评估、漏洞挖掘、渗tou测试2、Web漏洞扫描能让我们进一步挖掘目标服务器潜在的sql注入、Xss跨站脚本攻鸡、CSr跨站请求伪造等漏洞3、Web漏扫虽然能够帮助我们快速的实现自动化漏洞渗tou,但是并不是全能的,也会出现误......
  • ==和is的区别
    importtimea=time.gmtime()b=time.gmtime()print(a==b)#输出Trueprint(aisb)#输出Falseprint(id(a))#2680257978480print(id(b))#2680259784801使用==去对两个变量的值进行判断是否相等。如果使用的是is的话,它判断的条件是两个变量所引用的......
  • 最全面的移动端UI组件设计详解:下篇
    上一期给大家讲解了《最全面的移动端UI组件设计详解:中篇》,主要分享了:基础组件、表单组件和反馈组件3个部分;这次给大家带来:数据展示组件和其他组件详解,希望你在设计APP、小程序、H5页面中,能熟练使用和理解各种的UI组件,今天给大家总结了关于移动端UI组件,希望可以在工作中帮到你。......
  • JS 计算两日期时间相差多少天
    计算两日期时间相差多少天!functiongetDays(DateOne,DateTwo){ varOneMonth=DateOne.substring(5,DateOne.lastIndexOf('-')); varOneDay=DateOne.substring(DateOne.length,DateOne.lastIndexOf('-')+1); varOneYear=DateOne.substring(0,DateOn......
  • 一些有用的自定义函数(抄录)
    提取字符串中的数字'提取字符串中的数字FunctionGetDigits(strTextAsString)AsStringDimstrCharAsString,strMsgAsStringDimiAsLongstrMsg=""Fori=1ToLen(strText)strChar=Mid(strText,i,1)IfstrCharLike"#"T......
  • getContextPath、getServletPath、getRequestURI的区别
    假定你的webapplication名称为news,你在浏览器中输入请求路径: http://localhost:8080/news/main/list.jsp 则执行下面向行代码后打印出如下结果: 1、System.out.println(request.getContextPath());//可返回站点的根路径。也就是项目的名字 打印结果:/news   2......
  • cpu i几 后面数字代表什么
    表示区别不同处理器的型号、代数。2开头就是第二代,比如i52500,3开头就是三代,4开头就是四代表示区别不同处理器的型号、代数,如i74790K,4是代表第四代酷睿智能处理器。第二位“5”“6”“7”“8”“9”:这些数字代表处理器等级排序,数字越大性能等级相对越高。第三位“3”“5”“......
  • JS 获取几天后的日期格式
    functiongetDateStr(addDayCount,a){ vardd=newDate(); dd.setDate(dd.getDate()+addDayCount);//获取addDayCount天后的日期 vary=dd.getFullYear(); varm=(dd.getMonth()+1)<10?"0"+(dd.getMonth()+1):(dd.getMonth()+1);//获取当前月份的日期,不足10补0 var......
  • 使用jadx-gui反编译工具获取签名信息
     1、下载地址: github.com/skylot/jadx/releases 如图:  2、打开jadx-gui方式1:终端执行brewinstalljadx, 执行完毕后,终端再输入命令jadx-gui,即可打开jadx;方式2:解压zip包,在jadx-1.4.7文件夹下找到bin文件夹打开,双击运行jadx-gui,如图: 3、点击“打开......