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

码农软件 · 软件分类 · 脚本编程语言 · 2019-03-04 12:12:38

软件介绍

FakeScript-Java

轻量级嵌入式脚本语言。

简介

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

脚本特性

  • 语法类似lua

  • 全部为函数

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

  • 支持fake testfunc(param1)产生routine,实现假多线程效果

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

  • 自带解释器

  • 支持多返回值

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

  • 支持热更新

  • 支持Int64

  • 支持const定义

  • 支持包

  • 支持struct

示例

#!lua
-- 当前包名
package mypackage.test
-- 引入的文件
include "common.fk"
-- 结构体定义
struct teststruct
    sample_a
    sample_b
    sample_c
end
-- 常量值
const hellostring = "hello"
const helloint = 1234
const hellomap = {1 : "a" 2 : "b" 3 : [1 2 3]}
-- func1 comment
func myfunc1(arg1, arg2)
    -- Java静态函数和类成员函数的调用
    arg3 := cfunc1(helloint) + arg2:memfunc1(arg1)
    -- 分支
    if arg1 < arg2 then 
        -- 创建一个协程
        fake myfunc2(arg1, arg2)
    elseif arg1 == arg2 then    
        print("elseif")
    else
        print("else")
    end
    -- for循环
    for var i = 0, i < arg2, i++ then
        print("i = ", i)
    end
    -- 数组
    var a = array()
    a[1] = 3
    -- 集合
    var b = map()
    b[a] = 1
    b[1] = a
    -- Int64
    var uid = 1241515236123614u
    log("uid = ", uid)
    -- 子函数调用
    var ret1, var ret2 = myfunc2()
    -- 其他包的函数调用
    ret1 = otherpackage.test.myfunc1(arg1, arg2)
    -- 结构体
    var tt = teststruct()
    tt->sample_a = 1
    tt->sample_b = teststruct()
    tt->sample_b->sample_a = 10
    -- 分支
    switch arg1
        case 1 then
            print("1")
        case "a" then
            print("a")
        default
            print("default")
    end
    -- 多返回值
    return arg1, arg3
end

Java示例

#!java
// 创建一个实例
fake f = fk.newfake(null);
// 注册包里全部标记@fakescript的函数
fk.reg(f, "com.test");
// 解析fake脚本文件
fk.parse(f, "test.fk");
// 执行myfunc1函数,传入两个参数分别为1和2
double ret = (double)fk.run(f, "myfunc1", 1, 2);

本文地址:https://codercto.com/soft/d/602.html

深度学习入门

深度学习入门

[ 日] 斋藤康毅 / 陆宇杰 / 人民邮电出版社 / 2018-7 / 59.00元

本书是深度学习真正意义上的入门书,深入浅出地剖析了深度学习的原理和相关技术。书中使用Python3,尽量不依赖外部库或工具,从基本的数学知识出发,带领读者从零创建一个经典的深度学习网络,使读者在此过程中逐步理解深度学习。书中不仅介绍了深度学习和神经网络的概念、特征等基础知识,对误差反向传播法、卷积神经网络等也有深入讲解,此外还介绍了深度学习相关的实用技巧,自动驾驶、图像生成、强化学习等方面的应用,......一起来看看 《深度学习入门》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具