编译原理

您所在的位置:网站首页 文法属于什么课程类别的 编译原理

编译原理

2024-07-18 07:47:49| 来源: 网络整理| 查看: 265

附上原文链接 转载自【步春辉】

大部分人的首要反应就是苦恼。确实,编译原理这一部分的内容在计算机学习中是比较难以理解的一部分。首次接触编译原理,我也感觉很复杂,难以理解。但是当看过几次之后,对于一些简单知识点的理解就有点眉目了。在这里就将有点眉目的知识写一下。

0型文法型文法上下文有关文法型文法上下文无关文法型文法正规文法

学习编译原理接触的第一个重要的概念就是——文法。那么什么是文法呢? 文法,语言中的每个句子可以用严格定义的规则来构造。通俗的讲就是:根据一些指定的规则,来确定编程语言的语法,从而实现编译器的功能。

文法的表示

文法是由非终结符(大写字母)和终结符(小写字母)以及“—>”组成的。给出几个例子就容易理解了。

A—> a、B—>dba、S—> Ab、adB—>d

通过上面的几个例子可以看出:非终结符A、B、S,一般是写在左边,而终结符a、dba、b,一般是写在右边的。当然习惯的写法是非终结符用S(Start)表示,写在左边,自然而然的小写的就在右边了,这样也便于我们记忆文法的表示方式。

话说,在1956年的春天,一个叫乔姆斯基 ( Chomsky ) 的人发明了上述文法,他觉得有些文法存在着相似的形式,于是他就给文法分了一下类。

首先有一个前提:设有一个组合G=(Vn,Vt,P,S)。其中 Vn 是非终结符的集合,Vt 是终结符的集合,P 是推导式的一个集合,S 是开始符。就上面的例子来说,A、B、S 是 Vn,a、dba、b 是 Vt,整个的集合为 P。

0型文法

这是最简单的一个文法。它比较宽容,没有那么多的限制条件。左边必须要包含这些元素或者元素组合中的至少一个非终结符,右边可以是这些元素的任意组合,这样就构成了 0 型文法。由于限制最少,所以见到的文法至少是一个 0 型文法。 如:

A—> a 1 型文法(上下文有关文法)

它在 0 型文法的基础之上,只添加了一个要求:右边的长度 >= 左边的长度(终结符或非终结符的个数)。A—> a、B—>dba 则是 1 型文法,而adB—>d不符合 1 型文法要求

注意这里有一个特殊的形式 S—> ∑(∑表示空),也是一个 1 型文法。

2 型文法(上下文无关文法)

它在 1 型文法的基础上,有增加了一个要求:左边必须是非终结符(个数不限)。 如:AB—>de属于2型文法,而 Aa—>DE则不是,因为Aa中含有a。

3 型文法(正规文法)

它是在 2 型的基础上提出了要么一个非终结符推出一个终结符,要么一个非终结符推出一个终结符并且带一个非终结符。 A—>a | aB (右线性) 、 A—> a | Ba (左线性) 而上图中的左线性、右线性是相互独立的。如:A—>b、A—>bD 这是 3 型文法 但是A—>b、A—>bD、A—>Db则不是3型文法。从这里可以看出,对于 3 型文法,它不是左右线性的“组合”,要么都是右线性,要么都是左线性。



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


    图片新闻

    实验室药品柜的特性有哪些
    实验室药品柜是实验室家具的重要组成部分之一,主要
    小学科学实验中有哪些教学
    计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
    实验室各种仪器原理动图讲
    1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
    高中化学常见仪器及实验装
    1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
    微生物操作主要设备和器具
    今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
    浅谈通风柜使用基本常识
     众所周知,通风柜功能中最主要的就是排气功能。在

    专题文章

      CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭