Measures Concepts
GitHub icon

Jasmin

Jasmin - Programming language

< >

Jasmin is a programming language created in 1997.

#768on PLDB 27Years Old 74Repos

Try now: Riju

Jasmin is an assembler for the Java Virtual Machine. It takes ASCII descriptions of Java classes, written in a simple assembler-like syntax using the Java Virtual Machine instruction set. It converts them into binary Java class files, suitable for loading by a Java runtime system.


Example from Riju:
.class public Main .super java/lang/Object .method public <init>()V aload_0 invokenonvirtual java/lang/Object/<init>()V return .end method .method public static main([Ljava/lang/String;)V .limit stack 2 getstatic java/lang/System/out Ljava/io/PrintStream; ldc "Hello, world!" invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V return .end method
Example from hello-world:
.class public Jasmin .super java/lang/Object .method public static main([Ljava/lang/String;)V .limit stack 2 getstatic java/lang/System/out Ljava/io/PrintStream; ldc "Hello World" invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V return .end method
Example from Linguist:
.class public op2 .super java/lang/Object ; ; standard initializer (calls java.lang.Object's initializer) ; .method public <init>()V aload_0 invokenonvirtual java/lang/Object/<init>()V return .end method .method public static main([Ljava/lang/String;)V .limit locals 1 .limit stack 5 BeginGlobal: .line 2 getstatic java/lang/System/out Ljava/io/PrintStream; ldc 0x1 ldc 0x0 iand invokevirtual java/io/PrintStream/println(Z)V .line 3 getstatic java/lang/System/out Ljava/io/PrintStream; ldc 0x1 ldc 0x0 ior invokevirtual java/io/PrintStream/println(Z)V EndGlobal: return .end method

Language features

Feature Supported Token Example
Strings ✓ "
"Hello world"
Comments ✓
; A comment
Line Comments ✓ ;
; A comment
Semantic Indentation X

View source

- Build the next great programming language · Search · Add Language · Features · Creators · Resources · About · Blog · Acknowledgements · Queries · Stats · Sponsor · Day 605 · feedback@pldb.io · Logout