跳转到内容

Jasmin

维基百科,自由的百科全书
Jasmin
开发者Jonathan Meyer, Troy Downing and Daniel Reynaud
当前版本2.4(5月7日, 2010)
操作系统JVM
类型Computer Programming
许可协议GNU General Public License
网站Sourceforge.Net

Jasmin 是一自由软件的 JAVA 组合语言 ,可用于设计 class(类别)档如同以JAVA 语言设计的相同与运用,但更可以得以深入了解 JAVA 语言与 PC 之间的运作模式与方法。Jasmin 程式的编译与设计,仍是以易读性为考量来设计,其适合熟悉 JAVA 语言与略懂 C/C++ 语法的程序员,如同 assembler-like 语法以 Java Virtual Machine (JVM) 架构与程序设计书为核心;但是 Jasmin 仍不同于 Java 编程语言的编译 (Compiler Programing) 方式,而是以类似 C++ compiler 的方式来组译 (assembler) 与连结(linker)。

Jasmin 的编写以类似 assembler-like 语法,其语言设计简洁与易读,编译完成后会被转成为一中间码 (bytecode) 的 JVM Class 档,可用于 Java 即时系统 (Java runtime system).

编译完成后会形成二种接进低阶档案格式即 Java classes (Class) 档与 Java Archive (JAR) 档为主,软件主要网址为 tinapoc页面存档备份,存于互联网档案馆

Jasmin 范例

传统以 HelloWorld 程式来开场:


.class public HelloWorld
.super java/lang/Object

.method public static main([Ljava/lang/String;)V
  .limit stack 2
  .limit locals 1
  
  getstatic      java/lang/System/out Ljava/io/PrintStream;
  ldc            "Hello World."
  invokevirtual  java/io/PrintStream/println(Ljava/lang/String;)V
  return

.end method

编译方式

相关编译使用方法如下:

     java -jar jasmin.jar examples\HelloWorld.j         [Windows]
 或
     java -jar jasmin.jar examples/HelloWorld.j         [Unix/Mac OS X]

历史

Jon Meyer 与 Troy Downing 两位为开发 Jasmin 程式的主要人物,他们并共同出版了名为 "JAVA 虚拟机器"(台湾欧莱礼 ISBN 957-8247-50-8)的书籍 "Java Virtual Machine" (Oreilly ISBN 1-56592-194-1)。注1

由 Jon Meyer 开发的版本仅到 1.1 版 (Oct. 21, 2004),而随后由业余人士接手开发与维护,而在 Daniel Reynaud 维护版本至 2.0 (Dec. 2, 2005) 时产生一延伸计划 JasminXT [1]页面存档备份,存于互联网档案馆) ,即前述的 Tinapoc 但开发版仅至 0.4 alpha版本而已,整体说明文件仍是连结于 Jasmin 网页可以参考 JasminXT [2]页面存档备份,存于互联网档案馆),而在 sourceforge 的 Tinapoc 开发网页上则是无任何文件留存,仅二行文字说明 "Tinapoc Is Not Another Pun On Coffee" 与 "(and there is no J in it !)" 而已。目前有另一延伸计划 SPOOFAX-JASMIN [3]页面存档备份,存于互联网档案馆),是一延伸 JasminXT 计划,而维护转放到 Github [4]页面存档备份,存于互联网档案馆)。

Jasmin 目前提供了 164 个指令,内容包涵了相同于编程语言的类别、例外、运算子、资料处理、数学处理与执行绪等。程 式本身的编辑可使用一般 的文字处理软件来编写(如:记事本,UltraEdit 或高阶的程式编写用的 IDE 界面软件亦可)。编写完成后的档案必需命名以 ".j" 为结尾才可以作为组译时使用,以运作于 Java 的虚拟机器内。

Jasmin 目前仍是定订为 SourceForge 组织内部的 Open Source project. Project 维护最新维护时间 Apr. 29, 2013 但软件档案维护仍是 2.4 版 (May 7, 2010)。

注1:目前该书中文繁体版本已绝版,但目前仍有些二手书于市面交易。

参考

书籍

外部链接