新手上路,写了一个文本分析器
发布于 6 年前 作者 hwfhc 4095 次浏览 来自 问答

介绍

可自定义语法规则的文本分析器。 https://github.com/hwfhc/brudie

定义不同的语法规则可以实现不同的语言。 (由于暂时没有添加运行环境功能,无法实现javascript等需要此功能的语言

特性

  1. 自定义语法
    通过编写一个配置文件来定义词法分析、语法分析和解释。
    使用不同的配置文件可以获得不同的文本分析器。
  2. 语法定义使用BNF
    配置文件中的语法定义按照BNF格式进行编写,扩展性较好,便于修改。
  3. 异步支持
    文本分析自动支持异步。
    例如可以在解释时发送http请求获取数据,得到数据后将之填写到输出结果中(解释过程会等待http完成)。

用途

  1. markdown分析器
  2. 将http报文自动封装为req对象
  3. 在html中写url,自动发送http请求获取数据并填回

下一步计划

目前没有运行环境,无变量、作用域等功能,因此无法运行javascript代码。 下一步准备添加运行环境功能。

其他

欢迎大家批评指正。

另外我是一名大二学生,年末需要找实习了。 请问这个玩具能否写到找实习的简历里面去? 我应该往哪个方向写这个玩具?

11 回复

不要说这是个“玩具”。

@zhongshiji 请问应该说是什么哇。。。

文档我看不懂,有啥用啊

@hwfhc 首先我是个小白,不是大神。我就不误人子弟。但是我觉得不能说是“玩具”,面试官时间有限,根据你的话语可能就真的认为这是个玩具,从而看低你一等;尽量说得高大上一些。

emmmmm。。。 既不要说是玩具,也不要吹,实实在在写就行了啊,实现了什么功能,哪些特性 尽量丰富一下这个项目,我感觉这个是有些技术含量的,因为涉及编译原理,形式语言这些 然后简历里面多写几个项目,不要太小,比如demo或者helloworld 胡扯完毕。。。

@fruit-memory 我编辑帖子添加了用途。请问对文档有啥建议吗?

@vanishcode 感谢。。。我修改了

@zhongshiji 谢谢,我改掉了

@zhongshiji 这可有点想歪了啊,一个毕业生写个项目非要吹得华而不实,一眼就被看穿了。当初Linus写Linux的时候就是一个toy哦,写代码就是要“玩”得愉快,这种玩的精神才是一个初学者最好的品质。Linus自传 "Just for Fun"了解一下

来自✨ Node.js开源项目精选

@vendar 并没有说吹,我只是说“尽量说得高大上一些”,言外之意是不要对自己的作品太没自信。不过我也赞成您说的这种“玩”的精神,兴趣是最好的老师。

@zhongshiji 自信是需要的,“尽量说得高大上”这点不太认同。实事求是就行。面试的时候遇到过很多简历描绘的相当漂亮,水平却很烂的。切忌简历超过实际水平,程序员如果自信的话直接 show me the code 那才是令人信服的。

来自✨ Node.js开源项目精选

回到顶部