游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

木兰编程语言重现优先级,一个过不去的坎

  注:项目目标见码云代码库
  上周就复现了一个语法,支持了这样的乘法62(12),结果为1。
  实现中,用到了针对语法规则的优先级设置。虽然rply有文档说明,但死磕过后仍然不明所以然。将调试过程记录在此,最后有问题请教各位。演示
  先举个例子(熟悉者请跳过直接看正题部分)。很早就复现了四则运算,比如:1036513
  相关的优先级(precedence)设置是开头针对词(token)的部分,从低到高排列:分析器母机ParserGenerator(规则,precedence〔。。。(left,〔不等于,等于〕),。。。(left,〔加,减〕),(left,〔星号,除〕),。。。(right,〔乘方〕)
  注:上面的除代表的是原本支持的除法符号。
  比方说,现在想扩展一个语法,支持这个除法符号,除了添加一个词除法分词器母机。add(除法,)、增加一个语法规则分析器母机。production(语法。二元表达式。成分(语法。表达式,除法,语法。表达式))之外,还需要照样把除法添加到优先级设置:(left,〔星号,除,除法〕),
  于是就可以支持:1036513
  假如不慎将除法的优先级设置高了,比如和乘方一样:(right,〔乘方,除法〕)
  那么像10345原本应该是12,但现在会是10,因为45先执行后结果为0。
  假如干脆不设置除法的优先级,那么10365就会输出这样的玩意:。。。木兰prototype分析器语法分析器。py:884:ParserGeneratorWarning:19shiftreduceconflicts分析器LRParser(分析器母机。build())5
  可以看到最后输出了5,应该是解析为了(1036)5。
  但报警告有shiftreduce冲突,要是能提示冲突细节多好。
  那么如果在这个语法规则添加设置,使之优先级与除相同,是否能达到正确效果呢?分析器母机。production(语法。二元表达式。成分(语法。表达式,除法,语法。表达式),precedence除)
  上面的shiftreduce冲突倒是没了,但结果仍为5。而且,即使这里优先级设最低、最高,都是同样效果。
  恢复到precedence除后作更多测试:1032636,((103)2)6103229,(10(32))2103223,(103)(22)103223,((103)2)2103228,((103)2)2
  如果改为比除优先级低的precedence加,两个结果变了:103261,(103)(26)1032291032231032213,(103)(22)103228
  如果改为比加更低的precedence等于,一个结果又变了:103223,(103)(22)
  尚未看rply实现,个人的推测是,由于这个优先级是针对的这条语法规则,而非这个词,因此,在左边所有部分会被解析为一个表达式,而右边高于设定优先级的运算部分会合在一个表达式。正题
  前不久支持的范围表达式,格式为:1。。4by2,范围表达式的三个规则如下:分析器母机。production(语法。范围表达式。成分(语法。表达式,点点,语法。表达式))分析器母机。production(语法。范围表达式。成分(语法。表达式,点点小于,语法。表达式))分析器母机。production(语法。范围表达式。成分(语法。范围表达式,连词每隔,语法。表达式))
  需要在下面的表达式语法规则中设置优先级为等于,比连词每隔(by)低一级。分析器母机。production(语法。表达式。成分(语法。范围表达式),precedence等于)
  否则会报错:分析器。错误。语法错误:文件测试数据结构范围。ul,第4行,第13列,没认出这个词byprint(1。。4by2)
  看来只有比by低,才会将整个识别为范围表达式(下面规则),而不是将前半段识别为表达式分析器母机。production(语法。范围表达式。成分(语法。范围表达式,连词每隔,语法。表达式))
  那么为何不设置为优先级更低呢?
  最近的这个省乘号乘法,除了下面三个语法规则:分析器母机。production(语法。表达式。成分(语法。多项式乘法))分析器母机。production(语法。多项式乘法。成分(语法。数,语法。表达式前缀))分析器母机。production(语法。多项式乘法。成分(语法。数,语法。首要表达式))
  还需要在这条看似不搭嘎的规则添加优先级设置:分析器母机。production(语法。表达式。成分(语法。数),precedence等于)
  否则也会报警告ParserGeneratorWarning:1shiftreduceconflict。
  应该,也是为了不把2a中的2解析为表达式,而是将整体解析为多项式乘法。
  这个优先级设置与上面的范围表达式的设置相同,有何用意吗?
  请不吝赐教!

宝马首款纯电SUV,豪华与科技并存,前脸设计彪悍但暗藏玄机?在新能源车普及的当下,越来越多的世界主流车企开始争先恐后地推车电动车,来迎合而各种政策和当今的潮流,今天的主角宝马,就推出了自己的首款纯电动SUViX。这款车是在宝马基于全新设……失眠了,安眠药该不该吃?会不会产生依赖感?看看药师怎么说睡觉是人们几乎每天都会经历的事情,但是有很多人都存在睡眠障碍,有的人是因为工作压力大或者当天很兴奋导致一段时间的睡眠不佳,而有一部分人则需要服用睡眠药才能入睡。还有一部分睡眠不……肩颈按摩仪CE认证颈椎按摩仪能够促进血液循环和新陈代谢、缓解颈椎疼痛、携带方便,深受办公室白领、司机等久坐和长时间站立人群喜爱。欧盟对于产品安全十分重视,肩颈按摩仪要想进入欧盟市场必须取得……面对质疑,联想大佬的傲慢无视到底是在保护联想还是在毁灭联想?联想既不是政府机关,也不是国企,所以他没有义务回答一般公众的疑问。这是一。第二,国企改制、国有资产管理、公司经营管理,这些问题都不是一份解释函可以说清楚的。有兴趣的……两千元电竞小金刚性能可期!小金刚二代显示器,玩的就是棱角分明如果你是一名玩家,如果你的游戏水平相当了得,那么就会有越来越长的平台期这没错吧?那么能让你变得更强的就只有依靠物理提升了吧?一台适合游戏的显示器没准是个不错的选择了。对于很多受……5G用户突破4亿大关,是什么在阻碍你升级?关于5g的问题,一直都很火!我觉得主要还是5g套餐资费和基站覆盖率的原因,现在5g手机已经很普遍了,5g入门机器1000多一点就能到手,可选择性非常多。我这里去年就……蓝底车牌将成历史?新牌样式大革新数字升为六位更具国际范近日,网上曝光了一组全新样式的小型汽车号牌和临时行驶车号牌,采用了新的白底黑字和蓝白渐变黑字的设计,配以标注性的文字、数字和图样,看起来更有国际范了。同时,后面的数字字母部分升……从下个月起Win7安装安全更新要付费了转眼Windows10已经推出了三年半的时间,Windows7更是快10年了。此前微软已经明确表明,2015年1月13日将会停止对Windows7主流更新支持,2020年1月1……税收优惠被取消,互联网公司的好日子到头了?记者程璐陆柯言编辑崔鹏中国互联网公司多年来享受的税收优惠,以及凭借成本优势快速扩张的时代,可能都要结束了。上周,阿里巴巴财报显示,集团上季度缴纳的所得税为60……极氪001下线了但极氪要走的路还很长10月19日,极氪001正式下线。成立仅7个月后,极氪汽车就迎来了交付。这个由吉利董事长李书福亲自挂帅、吉利CEO安聪慧全权负责的吉利高端新能源品牌步子迈的相当快。……北通宙斯游戏手柄,让电脑秒变游戏机最畅快的游戏体验,莫过于使用游戏手柄来打游戏。依稀记得小时候,趁着爸妈不在家,叫上小伙伴在家偷偷玩红白机。虽然偶尔也会被家长发现,胖揍一顿。不过儿时的回忆轻松又美好。时光寸寸,……618年中大促,好音质耳机音响购物攻略今年的618年中大促可谓是万众期待,相比平日的降价促销,每年的大促总是给了网民们十足的惊喜。以前只有双11、双12错过了心仪的商品就只能遗憾地等上一年,而如今618年中大促让剁……
3月1日后,微信支付宝个人收款码可正常使用!2月22日晚间,中国支付清算协会发布关于优化条码支付服务的公告,宣布现行个人收款码不关闭、不停用,同时新设个人经营收款码,服务不减、体验不变,并可享受更高效的交易对账等服务。随……抖音号如何运营?在这个全民缺少快乐又全民娱乐的时代,你是否在抖音、快手等短视频的嘻嘻哈哈中度过了快乐的时光。同时也因各大平台强大的带货能力,掏空了腰包在不知不觉中消费了。今天小编就给大家……最新通报!雪梨等2万余个头部大号被依法处理今年以来,国家网信办针对一些粉丝量大、关注度高的网站平台头部账号法纪意识淡薄,滥用网上影响力,传播错误导向内容,污染网络生态等突出问题,会同相关部门,指导各地网信办,要求网站平……阿里Q3营收同比下降27喜茶调至30元以下丨CEO自习室【亿邦动力】阿里2022财年Q3营收2425。80亿元经调整同比下降272月24日,阿里巴巴集团公布了2022财年第三季度业绩。财报显示,报告期内阿里巴巴营收达24……白重恩对话国际清算银行总裁数字货币距离落地还有多远?从2014年起,包括中国在内的世界多个构架都在研究数字货币。但迄今为止,主流的经济体对于数字货币仍处于研究、试点的状态。究竟是什么阻碍了数字货币的落地,全球距离数字货币的真正落……华为鸿蒙迎来真正考验力挽狂澜还是昙花一现?备受关注的华为鸿蒙操作系统(HarmonyOS)终于揭开了庐山真面目,到底是力挽狂澜还是昙花一现?到了检验的时刻!6月2日晚8点,华为正式发布HarmonyOS2及多款搭……搬运机器人的介绍搬运作业是指用一种设备握持工件,从一个加工位置移到另一个加工位置的过程。如果采用工业机器人来完成这个任务,整个搬运系统则构成了工业机器人搬运工作站。给搬运机器人安装不同类型的末……新能源电力代表电力产业的未来新能源电力概念股上涨潜力巨大众所周知,投资就是投资未来,投资就是投资预期。新能源电力代表电力产业的未来,具有取代传统火电的预期,成长潜力和空间巨大,值得市场投资者大力炒作。在碳达峰、碳中和战略目标背……蓝牙智能插座方案使用的MS1656单模超低功耗蓝牙芯片智能插座是节约用电量的一种插座,节能插座的理念很早之前就已经生成,已经发展的比较广泛,但是技术上还有待于进步。有的高档节能插座不但节电,还能保护电器,可透过Wifi、Bluet……今年春节不打烊不止快递,还有电商21世纪经济报道记者曹恩惠上海报道2021年末,有快递从业者发现,总部没有下发春节调休通知。这意味去年部分快递公司采取春节不打烊的做法,在2022年或将成为各家标配。对顺丰而言……洗碗机到底是鸡肋还是神器?谁输谁洗碗,你是不是也打过这样的赌呢?对于洗碗这项艰巨的任务来说,已经逐渐变成检测一个人能否吃苦的标准了,估计喜欢洗碗的人,在相亲时的好感度能瞬间加10分!自动洗碗机通过高温高……怀化至柳州未来有高铁吗?根据《中长期高速铁路网规划》,两城市间没有修建直达高铁的方案根据《中长期高速铁路网规划》,未来,连接湖南与广西两省的高速铁路网有呼南通道,线路走向为呼和哈特大同太原郑州襄……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网