FakeScript-Java 轻量级嵌入式脚本语言

我要开发同款
匿名用户2016年08月05日
113阅读

技术信息

授权协议
MIT

作品详情

FakeScript-Java

轻量级嵌入式脚本语言。

简介

FakeScript-Java是一款轻量级的嵌入式脚本语言,使用Java语言编写,语法吸取自lua、golag、erlag,基于jflex、cup生成语法树,编译成字节码解释执行。C/C++版本fakescript

脚本特性

语法类似lua

全部为函数

支持array,map,可以无限嵌套

支持faketestfuc(param1)产生routie,实现假多线程效果

支持Java静态函数和Java类成员函数的绑定

自带解释器

支持多返回值

自带profile,可获取脚本各个函数运行时间

支持热更新

支持It64

支持cost定义

支持包

支持struct

示例#!lua-- 当前包名package mypackage.test-- 引入的文件iclude "commo.fk"-- 结构体定义struct teststruct    sample_a    sample_b    sample_ced-- 常量值cost hellostrig = "hello"cost helloit = 1234cost hellomap = {1 : "a" 2 : "b" 3 : [1 2 3]}-- fuc1 commetfuc myfuc1(arg1, arg2)    -- Java静态函数和类成员函数的调用    arg3 := cfuc1(helloit) + arg2:memfuc1(arg1)    -- 分支    if arg1 < arg2 the         -- 创建一个协程        fake myfuc2(arg1, arg2)    elseif arg1 == arg2 the            prit("elseif")    else        prit("else")    ed    -- for循环    for var i = 0, i < arg2, i++ the        prit("i = ", i)    ed    -- 数组    var a = array()    a[1] = 3    -- 集合    var b = map()    b[a] = 1    b[1] = a    -- It64    var uid = 1241515236123614u    log("uid = ", uid)    -- 子函数调用    var ret1, var ret2 = myfuc2()    -- 其他包的函数调用    ret1 = otherpackage.test.myfuc1(arg1, arg2)    -- 结构体    var tt = teststruct()    tt->sample_a = 1    tt->sample_b = teststruct()    tt->sample_b->sample_a = 10    -- 分支    switch arg1        case 1 the            prit("1")        case "a" the            prit("a")        default            prit("default")    ed    -- 多返回值    retur arg1, arg3edJava示例#!java// 创建一个实例fake f = fk.ewfake(ull);// 注册包里全部标记@fakescript的函数fk.reg(f, "com.test");// 解析fake脚本文件fk.parse(f, "test.fk");// 执行myfuc1函数,传入两个参数分别为1和2double ret = (double)fk.ru(f, "myfuc1", 1, 2);

功能介绍

FakeScript-Java 轻量级嵌入式脚本语言。 简介 FakeScript-Java是一款轻量级的嵌入式脚本语言,使用Java语言编写,语法吸取自lua、golang、erlang,基于...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论