首页 > 试题广场 >

文法G[E]: E- TE+TE - T T- F

[不定项选择题]
文法G[E]:
E-> T|E+T|E - T
T-> F|T*F|T/F
F ->(E)|i
以下论述正确的是()
  • 该文法的开始符号是E
  • 该文法的终结符号集合为{+、-、*、/、(、)}
  • 该文法的非终结符号集合为{E、T、F}
  • 句型T+T*F+I的简单短语为I、T*F、第一个T
立即推,学过也看不懂
发表于 2020-10-21 10:22:53 回复(1)
这是一个上下文无关文法,编译原理的内容。
首先终结符是一个语言的不可再分的基本符号,大意就是组成语言的基本符号,或者是小写。在程序设计语言中,就是常提到的单词符号,比如保留字,标识符,常数,算符等。则该题B选项就可以答出,终结符号的集合就是{+,-,*,/,(,),i,| }。题目中少了 i 和 | ,这两个很容易被忽略。
接下来,非终结符,一般会用大写字母表示,与终结符相比,应该就很容易理解出大意,简单来说就是还可以向下推导的大写字母。也称为语法变量,用来代表语法单位,比如“算法表达式”、”布尔表达式“等。则该题的C选项就可以答出,该文法的非终结符号集合为{E、T、F}。
开始符号则是这个文法的开始,从非终结符开始。那么就可以看出,这个文法的非终结符的开始则是E,所以A选项是对滴。
D选项就是把句型T+T*F+i 拆开就行,要用语法树,具体过程有点繁琐,但不复杂。想要进一步了解的可以自己搜索编译原理语法树与文法二义性自行学习。
欢迎讨论。

编辑于 2022-03-22 21:17:11 回复(0)
终结符还有个i
发表于 2021-03-27 21:52:04 回复(0)
这要学过编译原理才能看得懂
发表于 2019-11-06 17:32:48 回复(0)
哪位老佬能告诉题意是什么意思啊,表示根本看不懂
发表于 2019-03-22 21:34:19 回复(4)