当前位置: 首页 > 计算机 > 问题详情
问题

设语言L={w|w∈{a b}+且w中a和b的个数相等} 产生语言L的上下文无关文法是(28)。A.Ga=(VT={a b} VN=

设语言L={w|w∈{a,b}+且w中a和b的个数相等},产生语言L的上下文无关文法是(28)。

A.Ga=(VT={a,b},VN={S,A,B},S,P),其中P为, S→a|aA|bSS A→aB|bS B→b|bA|aBB

B.Gb=(VT={a,b},VN={S,A,B},S,P),其中P为, S→b|bB|aSS B→aS|bA A→a|aB|bAA

C.Gc=(VT={a,b},VN{S,A,B},S,P),其中P为, S→aB|bA A→a|aS|bAA B→b|bS|aBB

D.Gd=(VT={a,b},VN={S,A,B},S,P),其中P为, S→aB|bA|s A→aS|bAA B→bS|aBB

发布时间:2024-05-06
参考答案

正确答案:C
解析:字母表{a,b}上的任何非空串,从其所含a和b的个数来划分,分成下面3个集合:①a和b的个数相等:②a比b的个数多,但仅要a比b的个数多1个的那些子串;③b比a的个数多,但仅要b比a的个数多1个的那些子串。通过上面的分析,根据用文法规则产生句子的原理,设3个非终结符号,不妨称做S、A、B,它们的产生式分别完成:①用S的产生式推导出a和b的个数相等的串;②用A的产生式推导出a比b的个数多1个的串;③用B的产生式推导出b比a的个数多1个的串。根据3个非终结符号S、A、B的含义,显然,关于S的产生式应该是S→aB|bA。对于A产生的串,若第1个字符是a,则剩下的是a和b的个数相等的串:若第1个字符是b,则跟随b的是a比b的个数多2个的串,这个串是两个a比b的个数多1个的子串。根据上述分析,写出关于A的产生式A→a|aS|bAA。可以通过和A类似的分析,写出关于B的产生式B→b|bS|aBB。可以用归纳法证明上面所写的文法是正确的。现在,我们很清楚被选答案中的4个文法所描述的语言,它们分别是:L(Ga)={w|w∈{a,b}+且w中a比b的个数多一个}L(Gb)={w|w∈{a,b}+且w中b比a的个数多一个}L(Gc)={w|w∈{a,b}+且w中a和b的个数相等}L(Gd)={w|w∈{a,b}+且w中a和b的个数相等}

相关问题
  • HTML是指()A.万维网B.超文本标识语言C.Java语言D.统一资源定位器

    HTML是指()A 万维网B 超文本标识语言C Java语言D 统一资源定位器请帮忙给出正确答案和分析,谢谢!

    答案解析
  • 如何理解脚本语言?

    如何理解脚本语言?

    答案解析
  • 以下关于程序设计语言的叙述中 错误的是()。A. 脚本语言中不

    以下关于程序设计语言的叙述中,错误的是()。A 脚本语言中不使用变量和函数B 标记语言常用于描述格式化和链接C 脚本语言采用解释方式实现D 编译

    答案解析
  • 程序设计语言通常划分为高级语言和低级语言。机器语言和汇编语言

    程序设计语言通常划分为高级语言和低级语言。机器语言和汇编语言属于低级语言,它们的特点是()。A 运行效率低,开发效率低B 运行效率低,开发效率高C

    答案解析
  • 架构描述语言(Architecture Description Language ADL)是一

    架构描述语言(Architecture Description Language,ADL)是一种为明确说明软件系统的概念架构和对这些概念架构建模提供功能的语言。ADL主要包括以下组

    答案解析
  • 将计算机中可执行的程序转换为高级语言程序的过程称为()。A.反

    将计算机中可执行的程序转换为高级语言程序的过程称为()。A 反编译 B 交叉编译 C 反汇编 D 解释请帮忙给出正确答案和分析,谢谢!

    答案解析
  • 以下关于脚本语言的叙述中 正确的()。A.脚本语言是通用的程序

    以下关于脚本语言的叙述中,正确的()。A 脚本语言是通用的程序设计语言B 脚本语言更适合应用在系统级程序开发中C 脚本语言主要采用解释方式实现D 脚本

    答案解析
  • 我国软件著作权中的翻译权是指将原软件由()的权利。 A.源程序

    我国软件著作权中的翻译权是指将原软件由()的权利。A 源程序语言转换成目标程序语言B 一种程序设计语言转换成另一种程序设计语言C 一种汇编语言转换成

    答案解析
  • 关于程序设计语言 下列说法错误的是()。A.汇编语言用助记符表

    关于程序设计语言,下列说法错误的是()。A 汇编语言用助记符表示机器指令,语句与机器语言一一对应B 高级语言编写的源程序需编译或解释才能运行,其中

    答案解析
  • 以下关于解释方式下运行程序的叙述中 错误的是()。 A.先将高

    以下关于解释方式下运行程序的叙述中,错误的是()。A 先将高级语言程序转换为字节码,再由解释器运行字节码B 由解释器直接分析并执行高级语言程序代码C

    答案解析

最新问题

Copyright © 2016-2023 114题库网(114158.com)All Rights Reserved.  免责声明 豫ICP备19007809号-5