1 个不稳定版本
0.1.0 | 2020 年 8 月 4 日 |
---|
#5 in #miniserde
47KB
1.5K SLoC
full-moon-compat-luaparse
这个包包含了一些具有 miniserde::Serialize
实现的包装类型,可以将 full-moon
AST 序列化为与 luaparse
兼容的 JSON 文件
lib.rs
:
full-moon
<-miniserde-> luaparse.js
这是我编写的一个库,用于在我之前编写的一些软件和选定的 full_moon lua 解析库之间架起桥梁,这些软件使用的是 luaparse.js 的 JSON 输出。
它提供了一系列围绕 full-moon
类型构建的包装类型,并在它们上实现了 miniserde 的 miniserde::Serialize
特性。使用 Chunk::wrap(ast)
方法从 full-moon
的某个 Ast
开始。
然后您可以在实现 miniserde::Serialize
的任何 x
上使用 miniserde::json::to_string(x)
,例如上面提到的 Chunk
。
注意:此库包含一些代码,用于解决 full-moon
中缺失操作符优先级等问题。由于上游作者目前正在重构解析器,因此尝试分叉当前 API 没有意义。
依赖项
~3.5MB
~69K SLoC