快速解析简单语言的指南

Guidelines to quickly parse a simple language

本文关键字:语言 简单      更新时间:2023-10-16

我发现自己需要解析某种简单的语言。一种比正则表达式更具表现力的语言,但它是如此之小,不值得使用像野牛这样强大的东西。

我最终使用单元测试做了一个临时解析器来保证它的正确性。我创建了一个提取单个令牌的函数,另一个函数将继续提取令牌,并通过几个循环和很多 if 来解析语言。但是,这不是解析语言的正确方法,如果有人看到代码,就不会理解它的意思。

我一直在寻找一些更好的解决方案来快速解析小语言。一些库,或某种技术来解决这个问题。

这是解析语言的一种非常好的方法。保持标记化和解析部分分开,可能有一个或两个枚举来保存不同类型的令牌。我不明白为什么这种方法会导致不干净的代码,特别是对于相当简单的语言。

除此之外,野牛应该工作得很好,使用它并没有太多的智力开销。