首页 > 其他分享 >编译原理--文法和语言

编译原理--文法和语言

时间:2023-09-26 19:23:17浏览次数:34  
标签:短语 文法 终结符 句型 推导 -- 编译 定义

image

summer pocket _ 羽未
将幸福装进口袋,那个夏日无比的耀眼

文法与语言的定义

  • 文法定义:

    文法G定义为四元组(Vn,Vt,P,S),Vn为非终结符,Vt为终结符,P为规则,S为标识符(开始符)
    文法G所产生所参数的语言定义为集合L(G)
    文法的类型P25

  • 句型与句子:
    image

    句型包括句子

  • 语法树
    一颗语法树对应多个推导过程
    一个句型可以对应多颗语法树,可以有多个最左(右)推导

    α=>β,其中α,β均是句型,对α中最左(右)非终结符进行替换,则称这种推导为最左(右)推导。
    最右推导被称为规范推导,推导所得到的句型称之为右句型或规范句型

    一个语法树既可以表示句型也可以表示句子

  • 短语
    image


    不妨用如下图结合定义来理解下短语:
    image

其实短语可以简单理解为某个非终结字符A,最终推导到了单个或多个非终结字符y(y可以想象成一连串非终结字符串),那么就说y是短语


所谓直接短语可以理解为在全部短语中选出由A非终结符再经过一步推导得到非终结字符y的短语
在上面的例子中是L->S,S->a

句柄:

这个概念只适合于右句型,一个右句型的直接短语被称为该句型的句柄
在树上的体现就是:树最左边的直接短语

标签:短语,文法,终结符,句型,推导,--,编译,定义
From: https://www.cnblogs.com/cilinmengye/p/17730957.html

相关文章

  • webstorm配置Prettier
    webstorm配置Prettier配置好prettier发现vue文件并没有格式化代码,原因就是webstorm默认没有支持,现配置之。1、在插件市场下载prettier2、点击setting找到Languages&Frameworks点击打开找到Prettier,在Prettierpackage里选择prettier包并添加vue,最后视情况勾选OnSave选项或On......
  • 生信问题
    1.问题1.1多序列比对  一开始很难理解为什么3条序列的时间复杂度就是\(O(L^3)\)(\(L\)为序列长度).这里看下面这张图就明白必须要3条链一起对比,而不是两两对比就知道全部信息.主要是要找到全部序列的相似特点.多序列比对有时用来区分一组序列之间的差异,但其主要用于描述......
  • 手把手教你实现法玛三因子模型
    更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流。关于法玛三因子模型法玛三因子模型(Fama-FrenchThree-FactorModel)是一种资本资产定价模型(CapitalAssetPricingModel,CAPM)的扩展,用于解释股票回报的变异性。该模型由尤金·法玛(EugeneFama)和......
  • drf 测试(车型、车场、经销商)
    一、实现要求1有车型(CarModel),车厂(CarFactory),经销商(Distributor)三个表,一个车厂可以生产多种车型,一个经销商可以出售多种车型,一个车型可以有多个经销商出售车型:车型名,车型出厂价,车厂id车厂:车厂名,车厂地址,联系电话经销商:经销商名,地址,联系电话2有用户表,基于django内......
  • 2023.09.25
      今天进行了回文串的练习,上午进行了金属创意制作,充分发挥了自己的动手能力。下午进行了建民老师的课,对类和对象进行了加深学习。课上代码还未完成。。。。。。。#include<stdio.h>#include<stdlib.h>#include<string.h>#defineMAXSIZE100intpush(char*zhan,inttop......
  • CNN -- Simple Residual Network
    Smiling&Weeping ----我爱你,从这里一直到月亮,再绕回来说明:1.要解决的问题:梯度消失2.跳连接,H(x)=F(x)+x,张量维度必须一致,加完后再激活。不要做pooling,张量的维度会发生变化 1#先是1个卷积层(conv,maxpooling,relu),然后Res......
  • 详解达梦disql工具
    连接达梦数据库必须要用到两个工具,一个是disql,另一个是图形界面的DM管理工具。disql是达梦数据库的命令行交互工具,类似于Oracle的sqlplus,虽然DM管理工具可以在大部分场景代替siaql的功能,但是有些命令必须在disql下去执行,例如desccitydisqlV8SQL>desccity disql在......
  • 2023.9.26
    今天学习了数据结构,首先学习了栈的基本知识,栈的初始化为先给栈分配一个预定大小的数组空间,接着学习了如栈的操作,将元素押入栈顶,用栈顶指针加一,出栈操做同上类似。接着学习了链式表的栈操作,类似于单链表的结构,利用前插法押入元素,在顺序出栈同单链表相似。紧接着学习了递归思想,首先......
  • 09_electron-vue-antd环境搭建
      electron-vue很好解决,安装antd给我弄自闭了,最终是发现是版本问题。  先把electron-vue环境搭建好,然后去看项目中的vue版本:    我的是vue2就使用快速上手-AntDesignVue(antdv.com)这个版本,之前一直使用的4.x版本,然后一直出错,但是我也去找了一些办......
  • 老师的叮组——团队展示
    队名老师的叮组项目描述图书管理系统队员风采成员1学号2023021879成员姓名暗号成员的博客地址https://www.cnblogs.com/viperr/成员性格沉着冷静有团队精神擅长的技术JAVA兴趣爱好听歌希望的软工角色后端一句话宣言与其临渊羡鱼不如退而结网成员2学号20......