快速解析简单语言的指南
Guidelines to quickly parse a simple language
我发现自己需要解析某种简单的语言。一种比正则表达式更具表现力的语言,但它是如此之小,不值得使用像野牛这样强大的东西。
我最终使用单元测试做了一个临时解析器来保证它的正确性。我创建了一个提取单个令牌的函数,另一个函数将继续提取令牌,并通过几个循环和很多 if 来解析语言。但是,这不是解析语言的正确方法,如果有人看到代码,就不会理解它的意思。
我一直在寻找一些更好的解决方案来快速解析小语言。一些库,或某种技术来解决这个问题。
这是解析语言的一种非常好的方法。保持标记化和解析部分分开,可能有一个或两个枚举来保存不同类型的令牌。我不明白为什么这种方法会导致不干净的代码,特别是对于相当简单的语言。
除此之外,野牛应该工作得很好,使用它并没有太多的智力开销。
相关文章:
- 在c++中用vector填充一个简单的动态数组
- (C++)分析树以计算返回错误值的简单算术表达式
- 我的简单if-else语句是如何无法访问的代码
- 使用简单类型列表实现的指数编译时间.为什么
- 如何在BST的这个简单递归实现中消除警告
- 一种在C++中读取TXT配置文件的简单方法
- 不同语言中相同代码的不同行为
- 关于简单C++函数(is_palindrome)的逻辑的问题
- 显示错误输出的简单数组排序程序
- 当无法使用模板和宏时,生成类型变体C++代码的最简单方法是什么?
- 退出简单while循环时出现问题
- 为什么简单的算术减法在"if"条件下不起作用?
- C++-字符串是否包含一个带有简单循环的单词
- 关于 c++ 函数中指针赋值的简单问题
- 为什么C++对链表中的下一个节点使用指针,而像 C# 或 Java 这样的语言只使用类 Node 的名称?
- 当使用Lua作为嵌入式语言(比如c++)时,有什么简单/方便的方法可以找到变量在Lua中的定义位置吗
- 拥有用于动态机会/概率的简单负载均衡器(在C++中,但语言无关)
- 我需要哪种语言/课程来制作简单的纸牌游戏
- 编写简单脚本语言的教程或介绍
- 快速解析简单语言的指南