0

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

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

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

4

1 回答 1

2

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

除此之外,野牛应该可以正常工作,并且使用它的智力开销并不大。

于 2013-02-03T03:12:29.543 回答