作者NerVGear (Phantom)
看板Programming
標題[問題] 中序轉後序的疑問?(C語言
時間Thu Apr 6 15:21:11 2017
看課本中序轉後序
例如a+b是變成ab+
問題來了那如果是407+98
照理來說會變40798+
那編譯後不會變成40+798之類的嗎?
課本範例都只有兩位數_(:3」∠)_
感謝解答
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.71.108.63
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Programming/M.1491463274.A.4BE.html
1F:推 LPH66: 所以實際上在做時並不是一個字串直接做變換 140.112.30.32 04/06 15:31
2F:→ LPH66: 而是先拆出哪些是一個值, 哪些是運算 140.112.30.32 04/06 15:31
3F:→ LPH66: 然後再去進行變換跟處理 140.112.30.32 04/06 15:31
4F:→ LPH66: 概念上這就是編譯器的 lexer 在做的事 140.112.30.32 04/06 15:31
5F:→ LPH66: 變換的對象並不是字元而是一個 "token" 140.112.30.32 04/06 15:32
6F:→ LPH66: 只是課本上為了暫時不要先多一個 "token" 140.112.30.32 04/06 15:32
7F:→ LPH66: 的概念卡在中間所以設定一字一 token 而已 140.112.30.32 04/06 15:33
8F:→ LPH66: 讓你在學時把注意力專注在"後序變換"上面 140.112.30.32 04/06 15:33
感謝解答 那請問如果現階段要達成像文中那樣是要怎麼做呢?
※ 編輯: NerVGear (36.231.63.136), 04/06/2017 16:31:34
9F:→ MOONRAKER: 像文中那樣是要怎樣 60.248.110.133 04/06 17:06
10F:→ MOONRAKER: 你現階段老實點 長大就會像文中那樣了 60.248.110.133 04/06 18:21
11F:推 noodleT: 可以把 407 視為一個字串,前後補分隔符 118.171.106.94 04/06 22:09
12F:→ noodleT: 號 118.171.106.94 04/06 22:09
13F:噓 pmove: 看一下系程的書好嗎?114.136.145.151 10/17 13:48