I’ve done some things like parsing respawn and teleport reru and strav to me
which would respawn Rerumu/Stravant and teleport them to me. Not really a programming language, but still parser-related, so eh.
I was working on “porting” Java to roblox. I posted about it in the 2016 “what are you working on” thread:
What are you working on currently? [2016] - #2715 by einsteinK
What are you working on currently? [2016] - #2727 by einsteinK
Never finished it, but it could run this code:
package testing;
native NativeTest {
print("hi",...)
}
public class Banana {
private static String testString = "hi";
private static a.b.c.Test idk = new a.b.c.Test(testString);
public static Banana test;
private static Banana test2;
public Banana(){}
private static void APPLE(){
Integer a = 1;
print("a:",a);
int b = 2;
a += 5;
test2 = new Banana();
NativeTest(a,b+a,test2.toString());
}
}
local res = Compiler.compile(ABOVE_CODE)
local VM = require(script:WaitForChild("VM"))
local class,thread = VM:LoadClass(res,res.classes["testing.Banana"])
local res = VM:InvokeStaticWithoutArguments(class,"APPLE",thread)
if res.success then
print("Result:",res.result)
else
print("Error:",res.information)
end
--[[
Error: Workspace.Lurova.VM:591: Can't cast this primitive to lurova.util.String
--> NativeTest(a,b+a,test2.toString());
Stack begin
Method 'testing.Banana.APPLE()', Line 19
Stack end
--]]
I forgot what I was last working on, so I’m not sure why it errors, but similar pieces of code work fine. I had a class registry, a compiler that converts to a table format (some kind of self-made AST) and of course a VM that could execute the table format.
As you can tell, I also added some “native” stuff, which basically allowed embedding (real) Lua functions, which would obviously be faster than running stuff in the VM. I’m pretty sure I also allowed something like native String NativeTest(String a) {}
, but too long ago to be sure. EDIT: Took a quick glance at the source code, as I wasn’t entirely sure, but it seems like native (static) class methods were also supported, so very fun.
one of my many projects I started and are now… “suspended”