程序设计语言的大多数语法现象可以用CFG (上下文无关文法)表示。下面的CFG产生式集用于描述简单算术表达式,其中+、-、*表示加、减、乘运算,id表示单个字母表示的变量,那么符合该文法的表达式为( )。
P:E→E+T|E-T|T
T→T*F|F
F→-F|id
A
本题考查文法推导树相关知识。
根据本题的语法推导式,可以发现,这里没有终结符\"(\"、\")\"、\"/\",因此选项B和D错误。
id表示单个字母表示的变量不能表示数字2,所以这里无法识别字符2,C选项错误。
也可以进行推导,在推导的过程中,会发现\"*\"只能通过T推导,此时必定经过了E+T或E-T,不可能出现数字2。因此C错误。只有A能够被推导,推导过程如下:(1)通过E→E-T,从起始符E得到E-T;(2)通过E→E+T,将上面的E展开为E+T,得到E+T-T;(3)通过E→T→F→id→单个字母a;(4)通过T→F→-F→-id→单个字母-b;(5)通过T→F→id→单个字母c。可以从起始符E得到a+-b-c,即为A选项。因此,BCD描述与题意不符,本题选择A选项。
扫描微信二维码,添加您的专属老师为好友
您在考试中遇到任何问题,老师都会帮您解答
您希望我们通过哪种方式与您联系?
您已选择电话/微信/QQ的联系方式,课程顾问会尽快联系您!
您已选择微信联系方式,课程顾问会尽快添加您的微信,请您确认通过!
您已选择QQ联系方式,课程顾问会尽快添加您的QQ,请您确认通过!
您已选择电话联系方式,课程顾问会尽快联系您!
您已选择“不联系”,课程顾问不会主动联系您。如果后续您有需求,可以在个人中心主动添加销售微信或拨打客服电话:400-111-9811