林品儒 師大資工大四
興趣:遊戲設計、書籍閱讀
個性:好奇心強、特立獨行
將直譯式語言轉成編譯式語言進行編譯
Ruby -> Ruby C extension -> ELF,EXE
曾經設計了簡單的腳本語言來代替Ruby
new %1 &Position,200,0,200 mov %2 2 new %3 &Position,400,0,200 new %1 &TeleportPoint,%1,%2,%3 ary %1 %1 siv @points,%1
發現可以轉換成等價的C語言版本
var1=Position.new(200,0,400)
new %1 &Position,200,0,400
VALUE var1=rb_funcall( rb_const_get( rb_cObject, rb_intern( "Position" ) //取得Position類別 ), rb_intern( "new" ), //取得new的Symbol 3, //參數個數 INT2FIX( 200 ), INT2FIX( 0 ), INT2FIX( 400 ) //轉換參數成指標 );
將Ruby轉成直譯器支援之編譯式語言
加速語言的執行速度(C vs Ruby)
程式碼的加密與混淆(text vs binary)
最終脫離直譯器運行