免费智能真题库 > 历年试卷 > 软件设计师 > 2018年上半年 软件设计师 上午试卷 综合知识
  第50题      
  知识点:   文法和语言的形式描述   上下文无关文法   文法
  关键词:   表达式   开始符号   上下文无关文法   文法        章/节:   计算机软件知识       

 
简单算术表达式的结构可以用下面的上下文无关文法进行描述(E为开始符号),(50)是符合该文法的句子。
    E→T|E+T
    T→F|T*F
    F→-F|N
    N→0|1|2|3l4|5|6|7|8|9
 
 
  A.  2--3*4
 
  B.  2+-3*4
 
  C.  (2+3)*4
 
  D.  2*4-3
 
 
 

 
  第49题    2017年下半年  
   9%
某确定的有限自动机(DFA)的状态转换图如下图所示(0是初态,4是终态),则该DFA能识别( )。

  第22题    2014年下半年  
   51%
将高级语言源程序翻译成机器语言程序的过程中,常引入中间代码。以下关于中间代码的叙述中,不正确的是()。
  第48题    2016年上半年  
   52%
移进—归约分析法是编译程序(或解释程序)对高级语言源程序进行语法分析的一种方法,属于(48)的语法分析方法。
   知识点讲解    
   · 文法和语言的形式描述    · 上下文无关文法    · 文法
 
       文法和语言的形式描述
        1)文法的定义
        描述语言语法结构的形式规则称为文法。文法G是一个四元组,可表示为G=(VN,VT,P,S),其中VT是一个非空有限集,其中的每个元素称为一个终结符;VN是一个非空有限集,其每个元素称为非终结符。VNVT=?。P是产生式的有限集合,每个产生式是形如α→β的规则,其中α称为产生式的左部,β称为产生式的右部。SVN,称为开始符号,它至少要在一条产生式中作为左部出现。
        2)文法的分类
        乔姆斯基把文法分成4种类型,即0型、1型、2型和3型。
        0型文法也称为短语文法,其能力相当于图灵机。
        (1)1型文法也称为上下文有关文法,这种文法意味着对非终结符的替换必须考虑上下文,并且一般不允许替换成ε串,此文法对应于线性有界自动机。
        (2)2型文法是上下文无关文法,对非终结符的替换无须考虑上下文,它对应于下推自动机。
        (3)3型文法等价于正规式,因此也称为正规文法或线性文法,它对应于有限状态自动机。
        3)句子和语言
        设有文法G=(VN,VT,P,S)
        (1)推导和直接推导。从文法的开始符号S出发,反复使用产生式,将产生式左部的非终结符替换为右部的文法符号序列,直至产生一个终结符的序列时为止。若有产生式α→β∈P,γ,δ∈V*,则γαδ?γβδ称为文法G中的一个直接推导。
        (2)直接归约和归约。若文法G中有一个直接推导α?β,则称α是β的一个直接归约;若文法G中有一个推导,则称γ是δ的一个归约。
        (3)句型和句子。若文法G的开始符号为S,那么,从开始符号S能推导出的符号串称为文法的一个句型,即α是文法G的一个句型,当且仅当有以下推导,α∈V*,若X是文法G的一个句型,且XV*T,则称X是文法G的一个句子。
        (4)语言。从文法G的开始符号出发,所能推导出的句子的全体称为文法G产生的语言,记为L(G)。
        (5)文法的等价。若文法G,与文法G2产生的语言相同,即L(G1)=L(G2),则称这两个文法是等价的。
 
       上下文无关文法
        上下文无关文法属于乔姆斯基定义的2型文法,被广泛地用于表示各种程序设计语言的语法。对于上下文无关文法GS]=(VNVTPS),其产生式的形式都是Aβ,其中AVNβ∈(VNVT*
        若不加特别说明,下面用大写英文字母ABC等表示非终结符,小写英文字母abc等表示终结符号,uvw等表示终结符号串,小写希腊字母αβγδ等表示终结符和非终结符构成的文法符号串。由于一个上下文无关文法的核心部分是其产生式集合,所以文法可以简写为其产生式集合的描述形式。
        (1)规范推导(最右推导)。如果在推导的任何一步其中αβ是句型),都是对α中最右边的非终结符进行替换,则称这种推导为最右推导。最右推导常称为规范推导。同理可定义最左推导。
        (2)短语、直接短语和句柄。设αδβ是文法G的一个句型,即,且满足,则称δ是句型αδβ相对于非终结符A的短语。特别地,如果有,则称δ是句型αδβ相对于产生式Aδ的直接短语。一个句型的最左直接短语称为该句型的句柄。
 
       文法
        描述语言语法结构的形式规则称为文法。文法G是一个四元组,可表示为G=(VNVTPS)。其中VT是一个非空有限集,其每个元素称为一个终结符;VN是一个非空有限集,其每个元素称为非终结符。VNVT=Φ,即VNVT不含公共元素。令V=VNVT,称V为文法G的词汇表,V中的符号称为文法符号,包括终结符和非终结符。SVN,称为开始符号,它至少要在一条产生式中作为左部出现。P是产生式的有限集合,每个产生式形如“αβ”。其中,α称为产生式的左部,αV+α中至少含有一个非终结符;β称为产生式的右部,且βV*。若干个产生式αβ1αβ2,…,αβn的左部相同时,可简写为αβ1β2|…|βn,称βi(1≤in)为α的一个候选式。
        (1)文法的分类。乔姆斯基(Chomsky)把文法分成4种类型,即0型、1型、2型和3型。这4类文法之间的差别在于对产生式要施加不同的限制。若文法G=(VNVTPS)的每个产生式αβ,均有α∈(VNVT*α至少含有一个非终结符,且β∈(VNVT*,则称G为0型文法。对0型文法的每条产生式分别施加以下限制,则可得以下文法:
        .1型文法:G的任何产生式αβSε除外)均满足|α|≤|β|(|x|表示x中文法符号的个数)。
        .2型文法:G的任何产生式形如Aβ,其中AVNβ∈(VNVT*
        .3型文法:G的任何产生式形如AaAaB(或者ABa),其中ABVNaVT
        0型文法也称为短语文法,其能力相当于图灵机,任何0型语言都是递归可枚举的;反之,递归可枚举集也必定是一个0型语言。1型文法也称为上下文有关文法,它意味着对非终结符的替换必须考虑上下文,并且一般不允许替换成ε串。例如,若αAβαγβ是1型文法的产生式,αβ不全为空,则非终结符A只有在左边是α,右边是β的上下文中才能替换成γ。2型文法就是上下文无关文法,其非终结符的替换无需考虑上下文。3型文法等价于正规式,因此也被称为正规文法或线性文法。
        若文法G1与文法G2产生的语言相同,即LG1)=LG2),则称这两个文法是等价的。
        (2)句子和语言。设有文法G=(VNVTPS)。
        .推导与直接推导:推导就是从文法的开始符号S出发,反复使用产生式,将产生式左部的非终结符替换为右部的文法符号序列(展开产生式用表示),直到产生一个终结符的序列时为止。若有产生式αβP,且γδV*,则称为文法G中的一个直接推导,并称γαδ可直接推导出γβδ。显然,对P中的每一个产生式αβ都有。若在文法中存在一个直接推导序列,即,则称α0可推导出αnαnα0的一个推导,并记为。用记号表示α0=αn或者
        .直接归约和归约:归约是推导的逆过程。若文法G中有一个直接推导,则称β可直接归约成α,或αβ的一个直接归约。若文法G中有一个推导,则称δ可归约成γ,或γδ的一个归约。
        .句型和句子:若文法G的开始符号为S,那么,从开始符号S能推导出的符号串称为文法的一个句型,即α是文法G的一个句型,当且仅当有如下推导,α∈V*。若X是文法G的一个句型,且,则称X是文法G的一个句子,即仅含终结符的句型是一个句子。
        .语言:从文法G的开始符号出发,能推导出的句子的全体称为文法G产生的语言,记为LG)。
   题号导航      2018年上半年 软件设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第50题    在手机中做本题