Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我发现自己需要解析某种简单的语言。一种比正则表达式更具表现力的语言,但它是如此之小,不值得使用像野牛这样强大的东西。
我最终使用单元测试做一个临时解析器来保证它的正确性。我创建了一个提取单个标记的函数,另一个函数将继续提取标记并通过几个循环和许多 ifs 来解析语言。但是,这不是解析语言的正确方法,如果有人看到代码,就不会明白它是做什么的。
我一直在寻找一些更好的解决方案来快速解析小语言。一些图书馆,或某种技术来解决这个问题。
这是解析语言的完美方式。保持标记化和解析部分分开,可能有一两个枚举来保存不同类型的标记。我不明白为什么这种方法会导致代码不干净,尤其是对于相当简单的语言。
除此之外,野牛应该可以正常工作,并且使用它的智力开销并不大。