• 静思
  • 吴言片语
    • 吴言
    • 片语
    • 杂七杂八
  • 死于青春
    • 一路走好
  • 乌合麒麟
  • 纪念
    • 5.12
    • 3.23
  • GitHub
    • A List of Post-mortems
    • The Art of Command Line
  • 关于
    • Privacy Policy

程序员的信仰

金鳞岂是池中物,一遇风云便化龙

HOME » 学校生活 » Mini Java编译器(四)

Mini Java编译器(四)

2005 年 3 月 16 日 @ 上午 11:24 by Jay | 被踩了 2,841 脚

TOC

Toggle
  • 四、P代码指令说明
    • 指令表(未完成)
  • 五、错误信息表

四、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类型不匹配


-- EOF --

除非注明(如“转载”、“[zz]”等),本博文章皆为原创内容,转载时请注明: 「转载自程序员的信仰©」
本文链接地址:Mini Java编译器(四)

分享

  • 点击分享到 Facebook (在新窗口中打开) Facebook
  • 点击以分享到 X(在新窗口中打开) X
  • 更多
  • 点击分享到Reddit(在新窗口中打开) Reddit
  • 点击分享到Telegram(在新窗口中打开) Telegram
  • 点击以在 Mastodon 上共享(在新窗口中打开) Mastodon

赞过:

赞 正在加载……

相关

Today on history:

【2012】2012年政府工作报告 脱水版
【2009】如何让Netbeans以英文模式启动
【2006】程序员是如何捕猎大象的 [zz]
Posted in: 学校生活 Tagged: java, 作业
← Mini Java编译器(三)
Mini Java编译器(五) →

android (9) apple (20) augmentum (9) Beijing (21) bt (8) career (28) coding (38) firefox (10) google (36) hibernate (11) ibm (11) iphone (10) java (93) linux (16) m$ (26) mac (58) macos (27) nazca (9) olympics (8) oo (8) playstation (10) rip (8) Shanghai (39) spring (9) tips (45) tommy emmanuel (8) ubuntu (12) usa (23) windows (9) 北航 (17) 博客 (29) 吐槽 (8) 周末 (9) 和谐社会 (26) 小资 (11) 愤青 (40) 方言 (10) 朋友 (77) 歌词 (8) 烟酒不分家 (18) 爱国 (19) 爱情 (8) 犯二 (15) 破解 (8) 足球 (11)

烫手山芋

  • 再谈苹果的输入法:这一次是靠OS X自带的输入法来翻身的~ - 被踩了 27,412 脚
  • 生活,就是一个期待跟着一个期待 - 被踩了 21,358 脚
  • 星巴克饮品缩写大全(Starbucks Drink ID Codes)[zz] - 被踩了 18,415 脚
  • 从一个全角冒号说一下我为什么不感冒iOS - 被踩了 14,332 脚
  • 有关Character.isLetter()和Character.isLetterOrDigit() - 被踩了 13,591 脚

刚拍的砖

  • leo 发表在《再谈苹果的输入法:这一次是靠OS X自带的输入法来翻身的~》
  • 花 发表在《再谈苹果的输入法:这一次是靠OS X自带的输入法来翻身的~》
  • 无名氏 发表在《从一个全角冒号说一下我为什么不感冒iOS》
  • Jay 发表在《Mac OS geek级问题》
  • Wei Wang 发表在《再谈苹果的输入法:这一次是靠OS X自带的输入法来翻身的~》

随便看看

  • 转载老七的日志:小强,我们的中南海,一路走好5 年 ago
  • 大约在冬季 [齐秦]20 年 ago
  • 缺省适配器模式(Default Adapter)3 年 ago
  • IBM i Is Modern. Windows and UNIX Are Legacy.14 年 ago
  • Java API中文版[转载自Sun技术社区]9 年 ago

文以类聚

光阴似箭

其他操作

  • 登录
  • 条目 feed
  • 评论 feed
  • WordPress.org

Copyright © 2025 程序员的信仰.

Jay's Omega WordPress Theme by Jay

 

正在加载评论...
 

    %d