Programming 板


LINE

※ 引述《halajohn (Wei Hu)》之铭言: : : 很多人都在猜 C++ parser 没有 LR(2) 搞不出来, : : 因为许多人使用 bison 这个 LALR(1) parser generator 实作都碰壁得很惨, : : 不单是 LALR 和 LR 支援 syntax 的能力之差所造成的错觉, : 挑个错, LALR or LR 支援 syntax 的能力并不差, : 理论上 (实际上也是), LR 要比 LL 强大 (的多). 你好像没看懂我的意思, 还是说你截错位置了, 第一句的「在 C++ syntax 被证明成可用 LL(1) 实作之前」你似乎没看到, 所谓「在 xxx 被证明可用 LL(1) 实作之前,很多人都在猜没有 LR(2) 搞不出来」, 意思就是说 LR(2) 处理能力较强, 所以一堆人以为 C++ syntax 复杂到 LR(2) 才能解, 结果居然有人证明出来 LL(1) 就能搞定了, 原文合起来就是这样的意思而已。 另一个你可能误会的是「能力之差」四个字, 可能是我用词不当, 它的意思是指「能力上的差距」, 所谓的「差」是指 difference 不是指 bad。 : : 还常常会遇上 lookahead 的 token 不够的问题。 : lookahead 的问题不在够不够用, : 要是觉得不够用, 你自己把他加大不就好了. : lookahead 的问题在於, 大於某个数值的 lookahead 下, : grammar 展开的时间 (或空间, 看你要用哪种实作) 将会大到超过你的想像, : 就连目前个人电脑上能用到的最快 CPU 也没法轻易的负担. : 而这个数值在现实生活中所用到的一般性 grammar 而言, : 大约是 2.... 这时 parser generator 的劣势就会出现了, 手工或利用 library 制成的 parser 有办法偶尔偷作弊往前看几个 token, 但 parser generator 就比较难做到这种弹性, 因此会对 lookahead 的 token 数有相当硬性的限制。 : 理论上是这样啦, 不过要 100% 支援 C++ 的 compiler 才行 在 2005 年之後, 这个理论早已成为事实, 除了 export 的特性之外。 : 我个人很喜欢写 template code, : 之前用 gcc 3 写, 一些复杂的 syntax 都做不出来 : (不知道 gcc 4 有没有因为 parser 换过所以好点). 好非常多了, 就算有 bug 你报上去也修得非常快, 不像以前 parser 有 bug 只能一整个摆烂。 : 现在改用 VC 2005... : 说真的, Microsoft 做得还真不错, 不是盖的, 100 分. -- Name: Tseng, Ling-hua E-mail Address: [email protected] School: National Tsing Hua University Department: Computer Science Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design Researching: Software pipelining for VLIW architectures Homepage: https://it.muds.net/~uranus --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.230.226.51 ※ 编辑: tinlans 来自: 61.230.226.51 (04/19 18:02)
1F:推 buganini:请问一下...LR的rightmost是不是140.113.122.162 04/20 11:20
2F:→ buganini:相对於leftmost的名字,right的意义应该140.113.122.162 04/20 11:20
3F:→ buganini:是"正确"而非"右边"? 听老师讲是这麽觉得140.113.122.162 04/20 11:21
4F:→ buganini:不过不是很确定,想确认一下140.113.122.162 04/20 11:21
5F:推 tinlans:是相对於 leftmost 没错啊。 61.230.226.51 04/20 14:32
6F:推 buganini:感谢~140.113.122.162 04/20 22:54







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP