回 帖 发 新 帖 刷新版面

主题:求助帖  关于一个课程设计的  特来请教大家

[问题描述] 
有一个魔王总是使用自己的一种非常精练而抽象的语言讲话,没有人能听得懂,但他的语言是可以逐步解释成人能听懂的语言的,因为他的语言是由以下两种形式的规则由人的语言逐步抽象上去的:
(1)α→β1β2...βm
(2)(θδ1δ2...δn)→θδnδn-1...θδ1θ 
在这两种形式中,从左到右均表示解释。试写一个魔王语言的解释系统,把他的话解释成人能听得懂的话。 

[基本要求] 
用下述两条具体规则和上述规则形式(2)实现。设大写字母表示魔王语言的词汇;小写字母表示人的语言词汇;希腊字母表示可以用大写字母或小写字母代换的变量。魔王语言可含人的词汇。
(1)B→tAdA      (2)A→sae  

[测试数据] 
B(ehnxgz)B解释成tsaedsaeezegexenehetsaedsae,若将小写字母与汉字建立下表所示的对应关系测魔王说的话是:“天上一只鹅地上一只鹅鹅追鹅赶鹅下鹅蛋鹅恨鹅天上一只鹅地上一只鹅”。
T    d    s    a    e    z    g    x    n    h
天    地    上    一只    鹅    追    赶    下    蛋    恨
表达式计算是实现程序设计语言的基本问题之一,也是栈的应用的一个典型例子。设计一个程序,演示用算符优先法对算术表达式求值的过程。
[实现提示] 
将魔王的语言自右至左进栈,总是处理栈顶字符。若是开括号,则逐一出栈,将字母顺序入队列,直至闭括号出栈,并按规则要求逐一出队列再处理后入栈。其他情形较简单,请读者思考应如何处理。应首先实现栈和队列的基本操作。


  这是课程设计的内容  没有一点头绪  希望大家多多指教给点提示  哪位大侠可以帮忙编下就更万分感谢了  谢谢!

回复列表 (共4个回复)

沙发

这不是编译原理的试题么。。。
咋成了课程设计了,你们老师可真宽松啊。
关于规则1:
B->tAdA
A->sae
所以:
B->tsaedsae

规则2:
您抄题目抄得有问题:
应是:
(θδ1δ2...δn)→θδnθδn-1θδn-2...θδ1θ 
对于:
(ehnxgz)
e就是θ
其他的就是δi
故:
(ehnxgz)->ezegexenehe

板凳

不要指望有人给你写完整的,不过之前倒是真帮别人改过写的这道题的代码,不是很难,就是对栈要进行特化处理而已。好好想想数据结构的行为方式,建立起完整的逻辑算法就可以了

3 楼


是哪的试题啊? 帮忙说下 谢谢啦

4 楼


你改的那些东西还有吗  可以给我发下吗 qq278771913  谢谢了   火烧屁股了  被女朋友逼死了要

我来回复

您尚未登录,请登录后再回复。点此登录或注册