Skip to content

Jianru-Lin/LuluMachine

Repository files navigation

LuluMachine 是什么?

LuluMachine 是一个在线的可视化「文本解析(Parsing)」算法实验平台。你可以通过它快速掌握文本解析技术(好吧其实也不可能马上掌握,但真的比过去快多了,请相信我)。 目前你已经可以在这一平台上实验文本解析技术中的「词法分析(Lexical analysis)」技术了。「语法分析(Syntactic analysis)」部分还在开发中。

它好在哪?

  • 能够以「可视化」方式在「字符级」观察记号分割过程,形象直观
  • 上手容易,不要求预先掌握自动机方面的背景知识,只要会 JavaScript 就能写算法(当然如果你有相关背景,那么你会更深刻的认识到 LuluMachine 是如何帮助你将理论对应到实践的)
  • 能够造出完备的解析算法,能解析包括正则语言(对应有穷自动机)、上下文无关语言(对应下推自动机)、上下文有关语言(对应线性有界自动机)等

为什么不使用 Flex/Bison/ANTLR...?

别误会,这个平台不是用来取代现有的成熟工具的(当然我非常希望它在未来某一天也能独挡一面)。和许多现有的工具不同,LuluMachine 并不是围绕性能为核心设计的,而是重在通过可视化的方式阐释一些看似神秘的技术背后简单的一面。因此请记住,这是一个帮助你我更好的理解理论的一个平台,而不是应用于生产环境的一个工具。

分析能力级别?

由于 LuluMachine 是你通过手工构造的,你可以直接利用 JavaScript 语言本身的能力,因此可以分析从正则语言、上下文无关语言到上下文相关语言甚至无约束语言(图灵机级别)。当然了,实际写起来难度依次递增。但我们会给出一些例子来验证这一点。

我想试试,该怎么做?

我在这里录了一段视频,只需几分钟就可以上手,然后就是靠你的想象力开始各种实验了。

基本文档

参见这里 https://github.com/Jianru-Lin/LuluMachine/wiki

更进一步的介绍?

(尚在编写中)

Releases

No releases published

Packages

No packages published