管理学品牌报告-德芙_第1页
管理学品牌报告-德芙_第2页
管理学品牌报告-德芙_第3页
管理学品牌报告-德芙_第4页
管理学品牌报告-德芙_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、德芙简介1.1德芙的含义:德芙巧克力表达“爱是恒久忍耐”,德芙 =Dove,D=DO、O=YOU、V=LOVE、E=ME,连起来的意思就是DO YOU LOVE ME。dove的中文是鸽子,还有和平的含义。1.2德芙的故事德芙巧克力是因爱而生的故事开始于上世纪40年代,一天希腊裔美国人莱昂看到他的儿子正在大街上,不顾安危地紧追在一辆贩卖冰淇淋的卡车后面,出于对儿子安全的担忧,为了不让儿子再为买到一支冰淇淋而在马路上奔跑,这位芝加哥糖果店老板决定开发一种优质巧克力冰淇淋。经过几个月对产品配方不断的调整和改善,这个因爱而生的优质巧克力冰淇淋终于问世,并被莱昂命名为德芙。富含奶油的同时被香醇的巧克力

2、包裹的冰淇淋,一推出就大受好评,很快儿童以及大人都爱上了德芙。到上世纪70年代,每年都有超过一百万的德芙售出,喜爱它的消费者蜂拥而至,络绎不绝。不久,德芙的流行引起了一家专业巧克力制造商玛氏食品(M&M/Mars)的极大兴趣。1986年,玛氏食品(M&M/Mars)将德芙拥入怀中,并将因爱而生的德芙品牌视为掌上明珠。在对德芙巧克力的纯度和口味进行改善后,玛氏食品在上世纪90年代推出了牛奶巧克力和黑巧克力等新口味巧克力,这些巧克力续写着德芙的传奇,德芙巧克力的流行,持续至今。正是对质量提升孜孜不倦的追求,才造就了德芙巧克力香醇的味道和丝般顺滑的口感。也正因如此,全世界越来越多的人爱上了因爱而生的

3、德芙巧克力。二、德芙在中国的发展历程 1993年:德芙第一块德芙块状巧克力在中国诞生,自此,德芙巧克力品牌正式进入中国。 1995年:独一无二的丝质口感,奠定了德芙在中国块状巧克力市场的领先地位,并使德芙成为中国人心中的巧克力经典品牌, 同年,德芙碗装上市,德芙巧克力成为既可以独享、又可以与人分享的美味。 1998年:德芙推出散装和分享装的不同系列,为人们提供更多的分享选择。 2002年:德芙星彩巧克力上市,德芙进入了一个新的消费领域礼品。 2003年:德芙精心之选巧克力礼盒上市,创造了德芙礼品系列中一个经典的传奇。 2005年:德芙全线更换包装,以更优雅、高品质的形象,进入人们生活。 200

4、6年:“此刻尽丝滑”的口号,引发了德芙与消费者的共鸣。德芙独具魅力的丝滑特质,使越来越多的人们,爱上德芙带来的愉悦时光。 2008年:德芙“心随”系列四款口味在中国六大城市面市。“心随”使德芙独有的愉悦体验,能够随时随地、随心而享,这一惊喜新亮点,迅速赢得人们的喜爱。 2009年:德芙巧克力全线升级:“心随”系列全中国上市、“66%倍醇黑巧克力”全新上市、轻巧脆心口味全新上市。德芙正以更丝质的口感、更优雅时尚的形象、更具时代魅力的品牌内涵,为中国消费者带来无限新惊喜。三、德芙的经营理念与管理制度3.1经营理念 玛氏的每一个公司依据一套共同的信念经营其业务玛氏公司五大原则。 质量:“顾客至上”是

5、我们的信念;保持高质量是我们的工作;令产品物有所值是我们的目标。 责任: 作为个人,我们要求每一个人各尽所能;作为同事,我们支持其他同事各尽其责。 互惠: 互惠就是分享利益;可以分享的利益才会持久。 效率: 我们充分利用一切资源,绝不浪费;务求人尽其材,物尽其用。 自主: 我们需要独立自主来塑造我们的未来;我们需要利润来保持独立自主。3.2公司管理制度 在今天终端制胜时代的背景下,各大厂家纷纷在终端拼命投入。和进入中国市场的其他行业的跨国巨头一样,玛氏亦非常重视终端的管理工作,在有限的货架空间上和对手展开激烈的争夺,丝毫也不相让。但和对手尤其是中国本土企业相比,玛氏的终端管理始终坚持两个原则:

6、一是终端市场不投入巨额的进场费和陈列费;二是终端推广不以追求短期销量为最终目的。玛氏之所以能够坚持其这两个原则、并把终端工作做得出类拔萃,则是得益于其著名的“玛氏三角形”法则。法则一:公司总的营销费用是有限的,终端费用、人员工资和广告投入三个角要互相平衡,就必须使三角形的重心稳定。具体的做法就是营销费用要尽量压缩给超市的进店费,把资金向人员工资和广告投入两个方向进行重点倾斜。法则二:在市场争夺中,只有品牌是惟一区别于竞争对手的东西,只有品牌是能够和零售商抗衡的最大筹码,而广告投入是快速消费品品牌建设的重要武器。因此,加大广告投入、牢固确立行业第一品牌位置,就能在与终端的谈判中占据绝对优势。玛氏

7、在中国糖果行业的历年广告投入上均以绝对优势排在首位,每一个广告片都精心策划,以独特的创意和独具一格的制作技术进行制作。法则三:玛氏认为人力资源是一个公司参与市场竞争最重要的战略资源,只有一流的人才才能做别人不能做的事,才能做出一流的业绩。因此,玛氏始终坚持用行业最高的薪酬招聘最好的销售人员,每年都在中国一流高等学府以严格的标准招聘应届毕业生。由于人员的选任、考核、薪酬、培训等方面均十分严格,玛氏的销售人员全都骄傲地自视为同年龄市场营销人员中的精英。法则四:在人员工资和广告投入上的倾斜必然导致终端费用的减少,但这并不代表玛氏终端工作的质量就会下降。首先,玛氏的品牌在消费者心目中占据了一席之地;其

8、次,玛氏声称,玛氏的销售人员全部是一流的人才,这样玛氏就能做其他对手所不能做到的事。法则五:玛氏认为终端操作不能过分倚重销量,而应该以促进品牌建设为最终目的。过分倚重销量,只能使终端人员采用恶性竞争的方式,造成终端的过度开发,尤其是像降价、打折销售等价格促销一类的手段,只能换来短期的销售增长,长期会大大损坏品牌的形象和业绩,对品牌建设具有极大的杀伤力。一旦品牌失去了行业最前列的位置,公司不但在终端面前变得一文不值,而且还会失去市场竞争力甚至遭受灭顶之灾。四、德芙的营销策略4.1市场细分4.1.1现有消费者分析A、女性对巧克力偏好明显大于男性巧克力可以说是最美味的食品之一,尽管女性在体形和美味的

9、抉择中痛苦不堪,但对巧克力的偏好仍十分明显。调查显示,女性尤其是年轻的女性购买巧克力的倾向性相当明显。B、年龄低人群购买频率高 购买巧克力的频率与年龄有较强的关联,年龄低的人群购买的频率较高,并以1524岁的人群为自身消费的主要群体。而且高频率购买的比例呈现从低年龄到高年龄逐步递减的规律,购买巧克力的人未必是最终的巧克力消费者,35岁以上的消费者购买的产品绝大部分是为孩子购买,特别是3544岁的人群,这一比例高达863。C热恋中的情侣大家说爱情就像一块巧克力-因为它的甜蜜,所以最甜蜜的情话就是:“我就是你的巧克力,在你的口中被溶化。”而情人节时人们选择送巧克力的最多。浓情巧克力里漂亮的女主角更

10、是骄傲地向全世界宣称:“你不能拒绝巧克力,就像你不能拒绝爱情”。4.1.2潜在消费者分析A由于对巧克力了解不够充分的消费者;B一些男性会认为巧克力是女性的专利;C在中国消费者潜意识深处,巧克力是完全意义上的舶来品,只有欧美的巧克力才是真正正宗的巧克力。消费者认为,国产巧克力在品质、口感等方面和进口巧克力根本不是在同一个等级上。D又93.6%的消费者认为目前市场的高档巧克力产品的最大缺点是价格太高。价格是影响高档巧克力消费的主要因素。如何转变这类消费者的想法,让他们觉得购买巧克力是物有所值。4.2市场定位A中高端消费者B对产品没有信心以及青年男性C16-28岁,处于恋爱期注重浪漫的情侣,主要是大

11、学生群体D年轻白领为主要市场4.3.产品策略4.3.1产品细分八款经典口味,赋予独特外表和浪漫内涵草莓味双层巧克力;经典之源纯黑巧克力;甜蜜天使草莓味巧克力;倾心滋味摩卡夹心巧克力;热带明珠香橙味夹心巧克力;清风舞曲清凉夹心巧克力;倾城诱惑榛子酱巧克力;越洋奇珍夹心黑巧克力。4.3.2产品种类德芙榛子巧克力 德芙奶香 HYPERLINK /view/978493.htm t _blank 白巧克力 德芙香浓黑巧克力 德芙丝滑牛奶巧克力 德芙醇香摩卡及烤 HYPERLINK /view/31027.htm t _blank 杏仁巧克力 德芙 HYPERLINK /view/38221.htm t

12、 _blank 榛子、杏仁及葡萄干巧克力 德芙脆巧心、 德芙麦芽脆心巧克力 新品:心声牛奶拿铁,牛奶杏仁酱,牛奶榛子心语摩卡榛仁,牛奶夹心,牛奶巧克力苹果 德芙星彩巧克力、德芙士力架 德芙心随巧克力系列,德芙脆香米 M&Ms巧克力豆 、德芙巧丝巧克力棒 HYPERLINK /albums/204186/204186.html l 0$4abae5ed03fa342179f05529 o 查看图片 t _blank : 4.3.3广告宣传 德芙1995年成为中国排块巧克力领导品牌,“牛奶香浓,丝般感受”成为经典广告语。德芙巧克力的广告语注重消费者的体验感受。“牛奶香浓,丝般感受”之所以够得上经典

13、,在于那个丝般感受的心理体验。能够把巧克力细腻滑润的感觉用丝绸来形容,意境够高远,想象够丰富。充分利用联觉感受,把语言的力量发挥到极致。此外,德芙还针对不同节日推出不同主题的宣传广告,以独特的创意及别具一格的制作技术拍摄,带给消费者全新感受据市场调查,德芙广告的宣传的到达率与有效性远远高于其他同类产品,这与德芙对广告拍摄的重视程度是分不开的。4.3.4产品包装 在包装上,德芙巧克力在中国市场优于国产品牌的包装,在视觉上,让顾客感到品质更好,格调更高。包装上也分为独立包装、小包装、塑料包装及铁盒等高、中、低多个档次。也会针对节日的礼品装,针对年轻人传情达意的各式巧克力进行各工各式的包装。就以德芙

14、葡萄干牛奶巧克力为例,以清新明快的色彩搭配和醒目便捷的造型设计,吸引着超市中面对众多商品的消费者4.3.5分销渠道“玛氏”针对中国市场的现状采取了多样化的分销渠道,在产品销售方面德芙突破传统,利用淡季存在的原因,在销售方式和促销方式上解决造成淡季的问题。为了克服夏季的温度制约,在陈列和促销方式上大胆创新。在一些城市,德芙经过和超市的谈判,利用正常陈列的费用将巧克力陈列到销售保鲜牛奶、保鲜肉制品的冷风柜内,从而解决巧克力在夏季的保存问题。并且,通过和可口可乐这一夏季旺销产品进行捆绑销售,实现了淡季销量的大幅提升。 在销售方面,“玛氏”采用的是市场生动化,所谓市场生动化就是在售点上进行的一切能够影

15、响消费者购买玛氏产品的活动。而玛氏市场生动化三大原则:分布面广买得到;显而易见看得到;随手可及拿得到。这样就强化售点广告,增加可见度;吸引消费者对玛氏产品的注意力;使消费者容易见到玛氏的产品;刺激消费者冲动性购买;在消费者面前维护品牌、产品形象,起到地面广告作用。4.3.6促销策略在宣传方面,“玛氏”利用了海报、挂旗、粘贴、塑料架头牌、货架头牌、飘吊物、陈列纸柜、德芙专用陈列架、收款台货架、热点货架、散装货架等。还采用宣传品加陈列方式,它比单独陈列的效果强得多:销量是单独陈列的1.8倍;除了把握好商品陈列之外,最后就是争取收款台陈列,收款台是最后的销售机会;采取小包装、快销品种、各收款台销售相

16、同的品种。 在促销方面,德芙寻求促销陈列的机会,因为促销陈列能够极大的促进产品销售,选择最好的陈列地点:消费者主流通道、有足够的空间;选择适当的品种:快销品种、应节产品;做到突出重点:适量的品牌及品种;有准确清晰的价格标签;区域化陈列;正确运用宣传品:相应品牌的陈列架、最新的海报 促进销售、刺激对品牌的兴趣、提供理由向商店要更大陈列面积、抵消竞争者促销的冲击力。德芙采用了价格折扣、赢大奖或抽奖、立即获奖、复购奖励、促销包装的促削办法。此外,“玛氏”有一套实用有效的促销工作原则:商店合作很关键,向客户解释促销对他们的好处、促销陈列放在客流大的地点,争取最大机会、使用促销专用宣传品、陈列的产品系列

17、要合理,标价要清楚、促销后与客户全面回顾促销结果.4.3.7公共关系 为了搞好公共关系,“玛氏”和顾客、供应商和经销商,竞争对手、政府机构等公众都取得了良好的公共关系。首先,面对公众,进行了市场调查,搜集了大量信息,分析当前市场,针对消费者的喜好,制造出各种不同的口味和注重健康营养的巧克力来符合公众的要求,然而树立起企业的良好形象,使自己的行为符合公众的利益。 其次,树立企业形象,从公众的角度出发,判断出适合公众利益的种种行为,就如德芙的广告语“牛奶香浓,丝般感受”,把公众的感受考虑在最前面,让公众知道,我们实际在为公众服务,在广告制作中以中国传统的情谊相结合,从而赢得公众的支持。 再者,利用

18、海报、广告、网络等手段对德芙进行了有利的信息传播,在广告杂志和相关的健康生活的杂志发布了有效的新闻稿件,进一步完善企业的形象的同时,提高企业的知名度。 最后,“玛氏”通过游说进入了中国市场,针对中国市场的特点、当地的习俗、文化取得了政府和立法机构的连好关系,为“玛氏”的产品在中国的通行打下了基础,这点尤为重要不能忽视。此外,针对公众,德芙会定期举办各种产品展览会和纪念活动等,从作为十一届亚运动会的赞助商,就与社会各界建立了良好的外界关系,赢得人们对德芙的信任和好感。4.4德芙推出营销新概念 4.4.1 2011年德芙推出巧克力定制新概念长250米、宽30米的巨幅电子梦幻天幕下,14万网友参与创

19、作的25万条心声汇聚熠熠浓情。在网友中间共鸣最多、最强烈的100句心声,在这里尽情绽放。这些心声来自德芙心声巧克力发起的“一句话的触动“心声征集活动,并作为德芙心声巧克力上市三部曲的终结篇在世贸天阶上演浪漫放飞。德芙心声这款全新巧克力不仅有着更丝滑、口感更丰富的特点, 而且包装纸内印有触动心弦的心声心语,能够为消费者带来味蕾与心灵的双重享受,让更多的人在享受德芙的丝滑一刻,也缱绻于心声相印的美妙瞬间。在心声这款产品上,德芙不仅突破了一种更深层次的情感体验,而且也迈出了消费者参与产品设计的crowd sourcing “众包”之路。德芙心声理念中,“人人都是他自己那个me moment的感受者和

20、讲述者,每个人都最了解什么才最触动自己,所以由消费者自己来讲述自己的心声,分享心声。心声的终极目标是实现产品的定制概念,真正创造那颗最独一无二的心声”。4.4.2电子商务理性发展,德芙商城网购给力 移动互联网规模发展迅速,网民上网习惯发生了很大的变化,以前人们是用电脑上网,现在很多人改用手机来上网,因此电子商务开始了移动互联网市场的布局。 目前德芙商城的很大一部分交易都是来自于移动互联网。移动电商实时性、便捷性、区域性等优势正在逐步显现,但目前移动电商发展依然受制于手机购物用户群体较小、手机支付及网络环境不完善等因素,在整体规模上尚处于发展初期。4.4.3德芙月饼,浪漫礼盒北京腾飞盛世贸易发展

21、有限公司连续五年代理德芙月饼并是他们指定的代理商。德芙月饼均采用以优质可可脂制成的德芙巧克力作外层,让你享受丝般的无比香浓柔滑,独特感受,蕴藏别样风情,映衬这个别样浓情的团圆之夜。德芙月之浪漫礼盒:牛奶巧克力和黑巧克力、台式Q心北海道牛奶、台式绿豆凸、台式蛋黄酥乌豆沙、台式伊豆酥、台式蛋黄酥雪翠香兰、日式桃山皮抹茶、木糖醇养生玄米茶、木糖醇养生海苔。4.4.4德芙巧克力推出创意礼物新概念这个创意礼物的特别之处是,可以用你送的礼物来开启你想要说的话,将礼物和祝福合二为一。使用任意一款德芙礼盒产品,登录指定网站即可开始制作一份3D立体现实 HYPERLINK /micro-reading/mfee

22、d/hotwords/20111207538.html t _blank 虚拟结合的个性礼物,为对方亲手制作一份只属于你们俩的甜蜜记忆。选择个性动画,设置祝福标题,最后把心里最想和对方说的话写在电子卡片上,动动手指就能完成一份专属的创意礼物。思念、倾慕、感谢一切心底的情感都由巧克力帮你送达。 2012年1月12日,一支特殊的巧克力车队,在这个繁忙的春运时节将一场不同与以往的愉悦回家旅途带到了人们面前。继北京、成都、上海、武汉之后,由德芙赞助的 “德芙悦之旅”回家巴士,最后一站从广州出发,载着近50名游子向着其情感的最强磁场家的方向行进。巧克力色的丝滑靠垫、热气腾腾的饮料、香浓的巧克力和如家般的

23、体贴照顾,带给乘客们融入此刻、心已到家的梦幻感受。而人气偶像乔任梁、唐嫣的神秘亮相,更为愉悦的回家旅途增添了惊喜。德芙巧克力一直敏锐地观察消费者情感和生活的变化,此次的回家之旅,又一次触及了消费者内心的情感和心灵通过提供定制愉悦回家旅途的机会,使其可以跨过春运长河的车票紧张和路途迢迢,带着好心情享受与家人的团圆时刻。也将春节的愉悦场景,进行了完美地还原,进一步强化了德芙与春节期间愉悦感受之间的联系。4.4.6德芙的情感营销“你不能拒绝巧克力,就像,你不能拒绝爱情。”这句动人的台词来自一部由孟京辉执导的话剧一颗巧克力的心声。这部将巧克力与爱情巧妙衔接和融合的话剧,正是巧克力品牌德芙出品的艺术与商

24、业跨界之作。“德芙巧克力希望为所有消费者的生活带来More Moments, More Places, More Smiles。”对于品牌来讲,除了最基本的产品创新和广告宣传手段之外,更重要的是如何去理解消费者的生活,在消费者的生活中找到更多的机会,能够跟消费者进行更深层次的沟通。”五、德芙SWOT分析5.1优势 金融资源:德芙在金融资源上占有一定的优势,德芙是爱芬食品(北京)有限公司巧克力工厂生产,由世界上最大的巧克力和糖果公司美国玛氏公司投资的。在资金方面占有了绝对的优势。可以不断地投入很大资源进行产品研发。为消费者提供优质、美味的食品。高素质的员工:美国玛氏的人力资源丰富,人员制度是极为

25、标准和规范的。它的用人理念,延揽天下适用之才。尊重知识、尊重人才、尊重个性,为每一位员工提供可持续发展的机会和空间,全力塑造有理想、有激情、富创新精神且具战斗力的优秀团队,努力实现公司战略目标。视员工为财富,视人才为资本,不断打造企业的核心竞争力,并以良好的薪酬福利体制、激励机制、考核机制和竞争机制,力求营造一个公平竞争的环境,让每一位员工都能在大家庭中创造自我,实现自我价值。在玛氏集团下属的每一位员工都都具有高素质,高品德。先进的设备和工艺专利:采用了国际先进的研发、小试生产、试验和分析检测仪器。使公司在巧克力及其制品,糖果等休闲食品的研究开发方面具有较高水平,显示出世界第一流的水平,为“德

26、芙”巧克力产品质量、产品创新提供了有力保障和支持。先进的技术含量、丰富的品种,给消费者提供了丰富的品尝体验。产品线分析: “德芙”巧克力的的产品线在市场远超国内品牌等,并且产品线丰富,礼盒系列产品在国内销路一般,而列于中低端的基础产品系列(条块),德芙处于绝对领先优势,这是玛氏所拥有的资金支持来源,这一点好时、金帝等就相形见拙了。市场知名度“牛奶香浓, 丝般感受”德芙的品牌形象优良,在市场上具有很高的品牌知名度, 市场占有率为35%, 知名度为80%.5.2劣势 由于定价较高,价格上于本土竞争巧克力产品相比处于了劣势。其次巧克力市场品牌众多,新产品不断推出,竞争激烈,德芙需保持原有的市场占有率

27、,单纯运用传统媒体进行广告宣传,势必导致大量媒介花费;网络作为新兴的媒体,使用人数与日俱增,覆盖面越来越广,是有效的广告宣传媒介;在巧克力口味上还不够多元化,花样不多。在渠道方面,玛氏公司管理存放德芙品牌产品的仓库大都是租来的,这需要有专业化的合格物流公司来进行负责管理.5.3机会 高档巧克力产品口味好,但价格太高,而低档巧克力价格虽低,口味又不好。这一市场矛盾的背后恰恰孕育着一个潜在的市场机会,那就是价格适中、口味又不错的巧克力产品必然会受到消费者欢迎。这类巧克力产品入世后,不但销售前景看好,整个巧克力市场的蛋糕也会被做大。相对于欧美竞争激烈的巧克力市场来讲,中国巧克力市场行业竞争程度较低、

28、竞争产品较少、发展潜力巨大,这样的一个市场无疑是一个巨大的蛋糕。 圣诞节、情人节、七夕节、中秋节等“节日经济”已经成为一种非常有效的营销方式,在特别的节日巧克力以成为人们表达情感的一种方式,随之带来的又是一片巧克力的天空。5.4威胁 面临荷氏/LOWNEY、吉百力-施威普斯、雀巢/ROWNTREE等其他国际大品牌的强烈竞争;而且还有许多低端市场面临小企业的竞争。目前,世界排名前二十位的重量级巧克力企业已经全部进入中国。并且,假冒产品在某中程度上对企业的发展和产品的宣传有不利的影响。 此外,各种糖果的销售也是德芙的一大威胁,他们在某种程度上替代了巧克力。六、对德芙未来发展的建议1产品开发建议:集

29、中技术力量克服新产品质量不稳定的弊病。因它处于“中档以上”的产品,必须抓紧时间研制出一种新的大众认可的包装。不同消费者有不同的爱好,为满足不同消费者的需求,公司在巩固完善原有产品的基础上,开发生产不同品种,不用口味的德芙,形成产品系列化,有效地占领市场份额。2我们可以大力宣传吃巧克力对老年人的好处,使之成为我们人体改善身体机能的好选择.成为一种时尚.3在包装方面提高质量附录资料:不需要的可以自行删除C语言编译器的设计与实现 我们设计的编译程序涉及到编译五个阶段中的三个,即词法分析器、语法分析器和中间代码生成器。编译程序的输出结果包括词法分析后的二元式序列、变量名表、状态栈分析过程显示及四元式序

30、列程序,整个编译程序分为三部分:(1) 词法分析部分(2) 语法分析处理及四元式生成部分 (3) 输出显示部分一词法分析器设计 由于我们规定的程序语句中涉及单词较少,故在词法分析阶段忽略了单词输入错误的检查,而将编译程序的重点放在中间代码生成阶段。词法分析器的功能是输入源程序,输出单词符号。我们规定输出的单词符号格式为如下的二元式: (单词种别,单词自身的值)#define ACC -2#define syl_if 0#define syl_else 1#define syl_while 2#define syl_begin 3#define syl_end 4#define a 5#defi

31、ne semicolon 6#define e 7#define jinghao 8#define s 9#define L 10#define tempsy 11#define EA 12#define EO 13#define plus 14#define times 15#define becomes 16#define op_and 17#define op_or 18#define op_not 19#define rop 20#define lparent 21#define rparent 22#define ident 23#define intconst 24函数说明 读取函

32、数 readline( )、readch( )词法分析包含从源文件读取字符的操作,但频繁的读文件操作会影响程序执行效率,故实际上是从源程序文件” source.dat ”中读取一行到输入缓冲区,而词法分析过程中每次读取一个字符时则是通过执行 readch( )从输入缓冲区获得的;若缓冲区已被读空,则再执行readline( )从 source.dat 中读取下一行至输入缓冲区。扫描函数 scan( ) 扫描函数 scan( )的功能是滤除多余空格并对主要单词进行分析处理,将分析得到的二元式存入二元式结果缓冲区。变量处理 find( )变量处理中首先把以字母开头的字母数字串存到 spelling

33、 数组中,然后进行识别。识别过程是先让它与保留关键字表中的所有关键字进行匹配,若获得成功则说明它为保留关键字,即将其内码值写入二元式结果缓冲区;否则说明其为变量,这时让它与变量名表中的变量进行匹配( 变量匹配函数 find( ) ),如果成功,则说明该变量已存在并在二元式结果缓冲区中标记为此变量( 值填为该变量在变量名表中的位置),否则将该变量登记到变量名表中,再将这个新变量存入二元式缓存数组中。数字识别 number( ) 数字识别将识别出的数字填入二元式结果缓存数组。显示函数 显示函数的功能在屏幕上输出词法分析的结果( 即二元式序列程序),同时给出二元式个数及源程序行数统计。二语法分析器设

34、计 语法分析器的核心是三张 SLR 分析表以及针对这三张 SLR 分析表进行语义加工的语义动作。编译程序中语法分析处理及四元式生成部分主要是以二元式作为输入,并通过 SLR 分析表对语法分析处理过程进行控制,使四元式翻译的工作有条不紊的进行,同时识别语法分析中的语法错误。在处理 if 和 while 语句时,需要进行真值或假值的拉链和返填工作,以便转移目标的正确填入。1. 控制语句的 SLR 分析表1 设计过程如下: 将扩展文法GS S1)S if e S else S2)S while e S3)S L 4)S a;5)L S6)L SL用_CLOSURE方法构造LR(0)项目规范簇为:I0

35、: S SS if e S else SS while e S S L S a ;I1: S SI2: S ife S else SI3: S while e SI4: S L L S L SL S if e S else SS while e S S L S a ; I5: S a; I6: S if e S else S S if e S else SS while e S S L S a ; I7: S while e S S if e S else SS while e S S L S a ; I8: S L I9: L S L SL L SL L S S if e S else SS

36、 while e S S L S a ; I10: S a ; I11: S if e S else SI12: S while e S I13: S L I14: S SL I15: S if e S else S S if e S else SS while e S S L S a ; I16: S if e S else S 构造文法G中非终结符的FOLLOW集如下:FOLLOW(S) = # S if e S else S得FOLLOW(S) = else S L 得FOLLOW(L) = 3) S S 得FOLLOW(S) = else , # L S 因为FIRST(S) = ,所

37、以FOLLOW(S) = else , #, 在()项目规范簇中,只有9有“移进归约”冲突,L SL SL因为FOLLOW(L) FIRST(L) = 所以可以用方法解决以上冲突,最后我们得到的分析表如下:ACTIONGOTO ifElsewhilea;e#SL0S2S3S4S511ACC2S63S74S2S3S4S5985S106S2S3S4S5117S2S3S4S5128S139S2S3S4R5S591410R4R4R4111512R2R2R213R3R3R314R615S2S3S4S51616R1R1R1static int action2011=/* 0 */ 2, -1, 3, 4,

38、 -1, 5, -1, -1, -1, 1, -1,/* 1 */ -1, -1, -1, -1, -1, -1, -1, -1,ACC, -1, -1,/* 2 */ -1, -1, -1, -1, -1, -1, -1, 6, -1, -1, -1,/* 3 */ -1, -1, -1, -1, -1, -1, -1, 7, -1, -1, -1,/* 4 */ 2, -1, 3, 4, -1, 5, -1, -1, -1, 9, 8,/* 5 */ -1, -1, -1, -1, -1, -1, 10, -1, -1, -1, -1,/* 6 */ 2, -1, 3, 4, -1, 5,

39、 -1, -1, -1, 11, -1,/* 7 */ 2, -1, 3, 4, -1, 5, -1, -1, -1, 12, -1,/* 8 */ -1, -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,/* 9 */ 2, -1, 3, 4,105, 5, -1, -1, -1, 9, 14,/* 10*/ -1,104, -1, -1,104, -1, -1, -1,104, -1, -1,/* 11*/ -1, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,/* 12*/ -1,102, -1, -1,102, -1, -1

40、, -1,102, -1, -1,/* 13*/ -1,103, -1, -1,103, -1, -1, -1,103, -1, -1,/* 14*/ -1, -1, -1, -1,106, -1, -1, -1, -1, -1, -1,/* 15*/ 2, -1, 3, 4, -1, 5, -1, -1, -1, 16, -1,/* 16*/ -1,101, -1, -1,101, -1, -1, -1,101, -1, -1;其中,前 9 列为 action 值,后 2 列为 goto 值;016 表示 17 个移进状态( 即 Si);-1表示出错;ACC 表示分析成功;而 100106

41、对应 7 个归约产生式:S SS if e S else SS while e SS L S a;L SL SL2. 算术表达式的 LR 分析表 2 设计如下:S EE E+EE E*EE (E)E i (过程略)ACTIONGOTOI+*()#E0S3S211S4S5ACC2S3S263R4R4R4R44S3S275S3S286S4S5S97R1R5R1R18R2R2R2R29R3R3R3R3static int action1107=/* 0 */ 3, -1, -1, 2, -1, -1, 1,/* 1 */ -1, 4, 5, -1, -1,ACC, -1,/* 2 */ 3, -1,

42、 -1, 2, -1, -1, 6,/* 3 */ -1,104,104, -1,104,104, -1,/* 4 */ 3, -1, -1, 2, -1, -1, 7,/* 5 */ 3, -1, -1, 2, -1, -1, 8,/* 6 */ -1, 4, 5, -1, 9, -1, -1,/* 7 */ -1,101, 5, -1,101,101, -1,/* 8 */ -1,102,102, -1,102,102, -1,/* 9 */ -1,103,103, -1,103,103, -1;3.布尔表达式的 SLR 分析表3 设计如下:(过程略)S BB iB i rop iB (

43、B )B ! BA B &B ABO B |B OBACTIONGOTOiRop()!&|#BAO0S1S4S513781S2R1R1R1R12S33R2R2R2R24S1S4S511785S1S4S56786R4S9S10R47S1S4S514788S1S4S515789R5R5R510R7R7R711S12S9S1012R3R3R3R313S9S10ACC14R6S9S10R615R8S9S10R8static int action21611=/* 0 */ 1, -1, 4, -1, 5, -1, -1, -1, 13, 7, 8,/* 1 */ 1, 2, -1,101, -1,101

44、,101,101, -1, -1, -1,/* 2 */ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,/* 3 */ -1, -1, -1,102, -1,102,102,102, -1, -1, -1,/* 4 */ 1, -1, 4, -1, 5, -1, -1, -1, 11, 7, 8,/* 5 */ 1, -1, 4, -1, 5, -1, -1, -1, 6, 7, 8,/* 6 */ -1, -1, -1,104, -1, 9, 10,104, -1, -1, -1,/* 7 */ 1, -1, 4, -1, 5, -1, -1, -1,

45、14, 7, 8,/* 8 */ 1, -1, 4, -1, 5, -1, -1, -1, 15, 7, 8,/* 9 */ 105, -1,105, -1,105, -1, -1, -1, -1, -1, -1,/*10 */ 107, -1,107, -1,107, -1, -1, -1, -1, -1, -1,/*11 */ -1, -1, -1, 12, -1, 9, 10, -1, -1, -1, -1,/*12 */ -1, -1, -1,103, -1,103,103,103, -1, -1, -1,/*13 */ -1, -1, -1, -1, -1, 9, 10,ACC, -

46、1, -1, -1,/*14 */ -1, -1, -1,106, -1, 9, 10,106, -1, -1, -1,/*15 */ -1, -1, -1,108, -1, 9, 10,108, -1, -1, -1;LR 分析表控制语义加工的实现:当扫描 LR 分析表的当前状态为归约状态时,则在调用与该状态对应的产生式进行归约的同时,调用相应的语义子程序进行有关的翻译工作。现在对 LR 分析器的分析栈加以扩充,使得每个文法符号之后都跟着它的语义值。为了清晰起见,我们把这个栈的每一项看成由三部分组成:状态 state ,文法符号 syl 和语义值 val。编译程序实现算术表达式、布尔表达式及

47、程序语句的语义加工时,都是按这种状态栈加工方式进行的。例如:( 5 + 3 ) * 6的分析过程序号STATEValsylinput10-#( 5 + 3 ) * 6 #202-#(5 + 3 ) * 6 #3023-#(5+ 3 ) * 6 #4026-5#(E+ 3 ) * 6 #50264-5-#(E+3 ) * 6 #602643-5-#(E+3 ) * 6 #702647-5-3#(E+E) * 6 #8026-8#(E) * 6 #90269-8-#(E)* 6 #1001-8#E* 6 #11015-8-#E* 6 #120153-8-#E*6#130158-8-6#E*E#14

48、01-48#E#15ACC在分析过程中,第(3)步操作后的状态栈为 023,根据栈顶状态“ 3”和现行输入符号“ +”( input 栏字符串的第一个字符)查分析表 ACTION3,+=R4,即按第(4)个产生式 En 来进行归约;由于产生式右部仅含一项,故去掉状态栈栈顶“3”;此时 2 变为新的栈顶状态,再查( 2,E)的下一状态 s:GOTO2,E=6,即将状态 6 和文法符号 E 压栈,最后得到第( 4)步的状态。第( 7)步操作后也是如此,当前状态栈为 02647,根据栈顶状态 7 和现行输入符号“ )”查分析表 ACTION7,)=R1,即按第(1)个产生式 EE1+E2进行归约;由

49、于产生式右部有三项,故去掉状态栈栈顶的 647 三项;此时 2 变为新的栈顶状态,再查( 2,E)的下一状态 s:GOTO2,E=6,即将状态 6 和文法符号 E 压栈,最后得到第(8)步的状态。三中间代码生成器设计:布尔表达式 布尔表达式在程序语言中有两个基本作用:一是用作控制语句( 如 if -else 或 while语句)的条件式;二是用于逻辑演算,计算逻辑值。布尔表达式是由布尔算符( &、| 、!)作用于布尔变量( 或常数)或关系表达式而形成的。关系表达式的形式是 E1 rop E2,其中 rop 是关系符( 如或),E1和 E2是算术式。在这里,我们只考虑前面给定文法所产生的布尔表达

50、式:BB &B | B | B | ! B | (B) | i rop i | i遵照我们的约定,布尔算符的优先顺序( 从高到低)为:!、&、|,并假定&和|都服从左结合规则。所有关系符的优先级都是相同的,而且高于任何布尔算符,低于任何算术算符,关系算符不得结合。表达式的真、假出口的确定:考虑表达式 B1 | B2 ,若 B1为真,则立即知道 B 也为真;因此,B1的真出口也就是整个 B 的真出口。若 B1?为假,则 B2必须被计值,B2的第一个四元式就是 B1的假出口。当然,B2的真、假出口也就是整个 B的真、假出口。类似的考虑适用于对 B1 & B2的翻译,我们将 B1 | B2和 B1

51、& B2 的翻译用下图表示,在自下而上的分析过程中,一个布尔式的真假出口往往不能在产生四元式的同时就填上。我们只好把这种未完成的四元式的地址( 编号)作为 B 的语义值暂存起来,待到整个表达式的四元式产生完毕之后再来回填这个未填入的转移目标。条件语句对条件语句 if e S1 else S2 中的布尔表达式 e,其作用仅在于控制对 S1和 S2的选择。因此,作为转移条件的布尔式e,我们可以赋予它两种“ 出口”:一是“ 真”出T口,出向 S1;一是“ 假”出口,出向 S2。于是,e的代码F条件语句可以翻译成如图的一般形式。非终结符 e 具有两项语义值 e _TC 和e_FC,它们分别指出了尚待回

52、填真、S2的代码假出口的四元式串。e 的“ 真”出口只有在往回扫描到if时才能知道,而它图 3-2 条件语句的代码结构 的“ 假”出口则需到处理过 S1并且到达 else 才能明确。这就是说,必须把 e_FC 的值传下去,以便到达相应的 else时才进行回填。另外,当 S1语句执行完时意味着整个 if-else 语句也已执行完毕;因此,在 S1的编码之后应产生一条无条件转移指令。这条转移指令将导致程序控制离开整个 if-else 语句。但是,在完成 S2的翻译之前,这条无条件转移指令的转移目标是不知道的。甚至,在翻译完 S2之后,这条转移指令的转移目标仍无法确定。这种情形是由于语句的嵌套性所引

53、起的。例如下面的语句:if e1 if e2 S1 else S2 else S3 在 S1的代码之后的那条无条件转移指令不仅应跨越 S2而且应跨越 S3。这也就是说,转移目标的确定和语句所处的环境密切相关。条件循环语句条件循环语句 while e S 通常被翻译成图的代码结构。布尔式 e 的“ 真”出口出向 S 代码段的第一个四元式。紧接 S 代码段之后应产生一条转向测试 e 的无条件转移指令。e 的“ 假”出口将导致程序控制离开整个 while 语句。e 的“ 假”出口目标即使在整个 while 语句翻译完之后也未必明确。例如: if e1 while e2 S1 else S2这种情况仍

54、是由于语句的嵌套性引起的。所以,我们只好把它作为语句的语义值 SCHAIN 暂留下来,以便在处理外层语句时再伺机回填。语法翻译实现方法 将上述语法翻译付诸实现过程中,我们仅保留了算术表达式和布尔表达式翻译的文法和语义动作;面对程序语句的翻译,由于改造后含有较多的非终结符且语义动作又相对简单,故仍恢复为改造之前的程序语句文法。由于总体上构造一个 SLR 分析表来实现语法分析及语义加工将使得所构造的 SLR 分析表过大,所以将其分为下面三部分处理:对算术表达式单独处理,即为算术表达式构造一个 SLR 分析表,并将赋值语句A=E 与算术表达式归为一类处理,处理之后的赋值语句仅看作为程序语句文法中的一

55、个终结符 a。对布尔表达式也单独处理,并为其构造一个 SLR 分析表,经 SLR 分析表处理后的布尔表达式看作为程序语句文法中的一个终结符 e。程序语句文法此时变为:S if e S else S | while e S | L | a;L SL | S此时为程序语句构造相应的 SLR 分析表就简单多了。前面的程序语句文法中所添加的非终结符是为了能及时回填有关四元式转移目标而引入的,在取消了这些非终结符后又如何解决及时回填转移目标的问题呢?我们采取的解决方法是增加两个数组 labelmark 和 labeltemp 来分别记录语句嵌套中每一层布尔表达式( 如果有的话)e 的首地址以及每一层else( 如果有的话)之前的四元式地址( 即无条件转出此层 if 语句的四元式)。也即,对程序语句的翻译来说:在处理完布尔表达式 e 后,回填 if 或 while 语句的真值链;在归约完每一个语句 S 之后检查符号栈,看在 S 之前的文法符号是否 if 或 while,若是则回填假值链( 假值入口为语句 S 所对应的四元式序列

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论