编写时源码优化插件

我又来倒垃圾啦

自己垃圾桶里的这个:egg language server on VSCode | Framist’s Little House

用蛋消灭魔鬼!编写时源码优化插件

egg-language-server

🧪 in developing
Source Code Optimization Tools at Writing-time

特性

demo

demo | 点击跳转观看 B 站版

egg-language-server 包括一个语言服务器及一个 Visual Studio Code 插件。它是一个在代码编写时环境的代码静态分析工具,借助 egg 从逻辑层面化简源码,能交互式地提供优化指导。目前支持 lisp、Python、JavaScript 语言的子集,未来预计会支持更多语言。目前,它在 Python 上工作最好。

egg 的源码优化主要分为以下过程:

  1. Code -> AST:基于 Tree-sitter
  2. AST -> IR:针对特定目标语言分别实现的 ast_to_sexpr
  3. IR <-> IR: 构造基本元素抽象、过程抽象和数据抽象的 CommonLanguage。通过 egg 进行 Rewrite。
  4. IR -> AST:Common Language 自动派生方法
  5. AST -> Code:针对特定目标语言分别实现的 rpn_to_human

详见 Slide

仓库地址:framist/egg-language-server (github.com)

求小星星♥(ˆ◡ˆԅ)


框架科工 | 致力为虚无的世间献上一点花火🔥

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

框架主义者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值