探索tylr
:一款创新的基于平铺的结构化编辑器
tylra tiny tile-based editor项目地址:https://gitcode.com/gh_mirrors/ty/tylr
项目介绍
tylr
是一款基于平铺的结构化编辑器,它不仅支持线性令牌级别的编辑工作流程,还能确保您编辑的令牌始终可以解析回一个良构的抽象语法树(AST)。与传统的结构化编辑器不同,tylr
允许用户选择和操作几乎任意的范围选择,包括那些对应于AST的子树和跨树部分的令牌。
项目技术分析
tylr
的核心技术在于其独特的编辑模式,它结合了文本编辑器的灵活性和结构化编辑器的严谨性。通过平铺的方式,tylr
能够在保持AST良构的同时,提供接近文本编辑器的操作体验。这种设计使得用户可以在不破坏代码结构的前提下,自由地进行编辑和重构。
项目及技术应用场景
tylr
适用于需要高度结构化编辑的场景,例如编程语言的开发、代码重构、以及教育领域中的编程教学。它特别适合那些需要频繁操作复杂表达式的开发者,例如数学表达式、逻辑表达式等。此外,tylr
还可以作为研究结构化编辑器和编程语言设计的工具。
项目特点
- 灵活的编辑模式:
tylr
允许用户选择和操作几乎任意的范围选择,包括那些对应于AST的子树和跨树部分的令牌。 - 保持AST良构:无论用户如何编辑,
tylr
都能确保最终的代码可以解析回一个良构的AST。 - 易于上手:
tylr
提供了直观的用户界面和详细的帮助文档,即使是初学者也能快速上手。 - 开源且可扩展:
tylr
是一个开源项目,用户可以根据自己的需求进行扩展和定制。
如何开始使用tylr
您可以访问tylr.fun在线体验tylr
的功能。如果您想在本地运行tylr
,可以按照以下步骤操作:
- 安装OPAM版本≥2.0,并使用它安装OCaml 4.08.1,具体步骤可以参考这里。
- 克隆本仓库,并在根目录下运行以下命令:
make deps # 构建依赖项(锁定在opam.export中) make # 构建tylr源码 make echo-html # 输出编译后的页面路径
- 将最后一条命令的输出粘贴到浏览器地址栏中,即可在本地运行
tylr
。
tylr
不仅是一款创新的编辑器,更是一个探索结构化编辑器未来可能性的平台。无论您是开发者、教育者还是研究者,tylr
都值得您一试。
tylra tiny tile-based editor项目地址:https://gitcode.com/gh_mirrors/ty/tylr