您的位置:首页 > 编程语言 > Java开发

Mini Java编译器(四)

2016-07-29 00:00 225 查看

四、P代码指令说明

由于系统较简单,所以对底层硬件也做了简化:
1、没有寄存器,只有一个数据栈
2、只能对主存进行存、取操作
3、只支持主存间接寻址
4、可以查找符号表中符号,返回该符号地址

指令表(未完成)

助记符

格式

说明

pushpush <address>将<address>指向的内容压栈
poppop <address>将栈顶内容弹入<address>指向的位置
jmpjmp <address>无条件跳转至<address>指向的代码
jtjt <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

类型不匹配
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: