[問題] 請問有沒有人有看過系統程式 Leland L.Beck 著

看板C_and_CPP (C/C++)作者 (薯)時間16年前 (2009/05/22 19:18), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
第四章講的是Macro 請問他給的macro演算法是不是 不能處理macro定義放在後面的程式呢? 他的演算法是1-pass MACRO PROCESSOR LINE by LINE 的處理方式 這是他的演算法PROCESSLINE的部份 procedure PROCESSLINE begin search NAMTAB for OPCODE if found then EXPAND else if OPCODE = 'MACRO' then DEFINE else write source line to expanded file end {PROCESSLINE} 假設今天讀到了 RDBUFF F1,BUFFER,LENGTH 我們要把他展開 按照演算法 search NAMTAB if found ------>很顯然是不可能找的到,因為定義在後面 沒有定義根本不會出現在NAMTAB else if OPCODE = 'MACRO' ------->當然也不是MACRO else write source line to expanded file ..............結果還是沒展開.......... 請問這個演算法是不是無法處理定義寫在後面的程式? -- 咪嚕、撲撲 可愛~有時也很壞~ http://www.wretch.cc/album/album.php?id=b020306123&book=7 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.232.60.214

05/23 01:10, , 1F
要 two-pass 或是你的 macro 用法要很受限才有辦法處理
05/23 01:10, 1F
文章代碼(AID): #1A5eeEJl (C_and_CPP)
文章代碼(AID): #1A5eeEJl (C_and_CPP)