apolloxlua 介绍

简介:

apolloxlua 目前是开发中的版本, 还未发布稳定版本。

项目介绍 star

apolloxlua 目前支持javascript到lua的翻译。可以在openresty和luajit里使用。这个工具分为两种模式, 一种是web模式,可以通过网页使用。另> 这里输入引用文本外一种是tool模式, 通常作为大规模翻译文件的工具使用。
agent.zy 于 18.07.21 晚

特色

  1. 支持switch case 语句
  2. 支持trycatch 语句
  3. 可以自定义语法和后端实现
  4. 无缝对接lua标准库和三方库
  5. 支持array 和 数学库
  6. 支持面向对象开发 OOP
  7. 支持macro宏预处理
  8. 支持面向切面开发 AOP

代码示例:

//[NameSpace("core")] 
class Person{
    hellow(){
         console.log("base Person")
         console.log(this.age)
    }
    
    setAge(v) {
        this.age = v;
    }
    
    static staticSmethod (...args) {
         console.log(args[1], args[2]);
         console.log("i am static method");
    }
}
 
class Person2 extends Person{
    Person2 (name) {
        this.name = name;
        console.log("constructor..");
    }
    
    hellow(){
        console.log("override ");
        console.log("name=" + this.name + ",age=" + this.age);
    }
}

var p1 = Person  >>> New();
var p2 = Person2 >>> New("agent.zy");

p1 >>> setAge(10);
p2 >>> setAge(20);

p1 >>> hellow();
p2 >>> hellow();

如何扩展语法?

1可以使用luajit的ffi或swig扩展你的服务器。在语法分析里添加相应的标准库。
2可以集成现有的lua库,包括但不限于resty*和nginx-lua-*。
3可以通过本工具的js语法,实现库的自举。

示例

控制台示例

项目预览

安装

下载后解压到你的目录, 通过控制台找到项目目录

生成web模式的js文件 make web

生成工具模式的js文件 make tool

生成两种模式文件 make all

使用方式:

web模式 : 在apolloxlua.js载入浏览器后使用一个全局的包装叫apolloxLua的变量包含一个parse的方法, 接受一个js代码串,返回lua代码串。
tool模式: 使用的方式 node apolloxlua 输入文件 输出文件

相关文章
LayUI upload上传组件上传文件的两种方式
LayUI upload上传组件上传文件的两种方式
1128 0
|
Python
通过阿里云服务器的公网IP访问django网站
在安全组设置,添加可以访问的端口 搭建django网站,可以参考官方的教程 设置网站的setting.py ALLOWED_HOSTS = ['*'] 启动网站服务 python manage.py runserver 0.
5387 0
|
4月前
|
分布式计算 Java 流计算
Fluss on 鲲鹏 openEuler 大数据实战
本文介绍了基于华为鲲鹏ARM架构服务器与openEuler操作系统,构建包含HDFS、ZooKeeper、Flink、Fluss及Paimon的实时大数据环境的完整实战过程。涵盖了软硬件配置、组件部署、集群规划、环境变量设置、安全认证及启停脚本编写等内容,适用于企业级实时数据平台搭建与运维场景。
620 0
Fluss on 鲲鹏 openEuler 大数据实战
|
存储 Docker 容器
docker save命令和load命令
docker save命令和load命令
|
网络协议 安全 Linux
网络扫描神器:Nmap 保姆级教程(附链接)
网络扫描神器:Nmap 保姆级教程(附链接)
Find The Multiple(dfs和bfs都可)
Find The Multiple(dfs和bfs都可)
134 0
|
人工智能 架构师 物联网
阿里云ACE现在是不是变难了,有什么轻松的方法考呢?
很多人想在这个内卷的社会中找到一个好的发展方向,但是对于普通人来说,想轻松得挣到大钱,能走的路很少,像是云计算、物联网、人工智能以及大数据等等,这些都是未来最热门的一批行业。
836 0
阿里云ACE现在是不是变难了,有什么轻松的方法考呢?