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
开发者Jonathan Meyer, Troy Downing and Daniel Reynaud
当前版本2.4(5月7日, 2010)
操作系统JVM
类型Computer Programming
许可协议GNU General Public License
网站Sourceforge.Net

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:目前该书中文繁体版本已绝版,但目前仍有些二手书于市面交易。

参考

书籍

外部链接