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燈, 水草

請輸入看板名稱,例如:iOS站內搜尋

TOP