Mini Java編譯器(四)

來源:互聯網
上載者:User
編譯 四、P代碼指令說明
由於系統較簡單,所以對底層硬體也做了簡化:

1、沒有寄存器,只有一個資料棧

2、只能對主存進行存、取操作

3、只支援主存間接定址

4、可以尋找符號表中符號,返回該符號地址


 

指令表(未完成)
助記符



格式



說明



push

push <address>

將<address>指向的內容壓棧

pop

pop <address>

將棧頂內容彈入<address>指向的位置

jmp

jmp <address>

無條件跳轉至<address>指向的代碼

jt

jt <address>, <goal>

如果<address>指向的內容為真則跳轉至<goal>指向的代碼


 

五、錯誤資訊表
(定義在compiler.exception.ErrorMessage介面中)


 


ANALYZING_FAILURE



檔案無法分析



CLASS_DEFINED



重複類定義

CLASS_NOT_DEFINED



類未定義

IDENTIFIER_DEFINED



重複標識符定義

IDENTIFIER_NOT_DEFINED



標識符未定義

ILLEGAL_EXPRESSION



非法運算式

ILLEGAL_GRAMMER



語法錯誤

ILLEGAL_OPERATION



非法操作

ILLEGAL_TOKEN



標識符無法分析

METHOD_DEFINED



重複方法定義

NOT_ALLOCATED



記憶體未分配

OUT_OF_MEMORY



記憶體已滿

READ_FILE



檔案無法讀取

TYPE_UNMATCHED



類型不符


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.