修改標記解析器
在了解變數該如何實作之後,我們緊接著來實作吧。但是突然就要實作任意長的變數有點太難了,所以在這步我們把變數限定在小寫1個字,變數a
為 RBP-8、變數b
為 RBP-16、變數c
為 RBP-24,讓所有的變數以常駐方式存在。因為英文字母有26個字,函式被呼叫時我們把 RSP 往下推26×8也就是208個 bytes,保留所有1個字的變數空間。
馬上來實作看看吧。首先從標記解析器著手,在至今為止文法的元素以外,讓其可以對1個字的變數作標記解析。為此,我們得追加新的標記型態。變數名稱可以從str
讀入,所以不需要在Token
型中增加新的成員。最終,Token
型如下所示:
修改標記解析器,讓其可以對小寫英文字母建立TK_IDENT
型的標記。只要對標記解析器加上如下的if
敘述即可:
Last updated