[問題] 中序轉後序的疑問?(C語言

看板Programming作者 (Phantom)時間7年前 (2017/04/06 15:21), 7年前編輯推噓2(2010)
留言12則, 3人參與, 最新討論串1/1
看課本中序轉後序 例如a+b是變成ab+ 問題來了那如果是407+98 照理來說會變40798+ 那編譯後不會變成40+798之類的嗎? 課本範例都只有兩位數_(:3」∠)_ 感謝解答 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.71.108.63 ※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1491463274.A.4BE.html

04/06 15:31, , 1F
所以實際上在做時並不是一個字串直接做變換
04/06 15:31, 1F

04/06 15:31, , 2F
而是先拆出哪些是一個值, 哪些是運算
04/06 15:31, 2F

04/06 15:31, , 3F
然後再去進行變換跟處理
04/06 15:31, 3F

04/06 15:31, , 4F
概念上這就是編譯器的 lexer 在做的事
04/06 15:31, 4F

04/06 15:32, , 5F
變換的對象並不是字元而是一個 "token"
04/06 15:32, 5F

04/06 15:32, , 6F
只是課本上為了暫時不要先多一個 "token"
04/06 15:32, 6F

04/06 15:33, , 7F
的概念卡在中間所以設定一字一 token 而已
04/06 15:33, 7F

04/06 15:33, , 8F
讓你在學時把注意力專注在"後序變換"上面
04/06 15:33, 8F
感謝解答 那請問如果現階段要達成像文中那樣是要怎麼做呢? ※ 編輯: NerVGear (36.231.63.136), 04/06/2017 16:31:34

04/06 17:06, , 9F
像文中那樣是要怎樣
04/06 17:06, 9F

04/06 18:21, , 10F
你現階段老實點 長大就會像文中那樣了
04/06 18:21, 10F

04/06 22:09, , 11F
可以把 407 視為一個字串,前後補分隔符
04/06 22:09, 11F

04/06 22:09, , 12F
04/06 22:09, 12F
文章代碼(AID): #1OvUngI- (Programming)