使用`nom`处理自定义枚举类型是否有意义?

问题描述 投票:-1回答:1

我正在尝试为简单的查询语言实现解析器。目标是从文本生成operations,然后在将它们传递到树之前对它们进行评估。如果我理解正确,我将不得不实现一些nom特征(InputLengthInputTakeSlice)。

通过实现InputTake特性的一部分,我意识到我应该返回代表我的查询操作的枚举的子句,其中可以通过标识符进行拆分。例如,我可以解析一个标识符name_of_var,这个take_split()方法可以生成2个对我来说没有意义的切片。

我该怎么办?我不喜欢切片bool /数字的想法,因为它们只是作为一个整体有意义。

在我认为字节切片无效的情况下,您如何看待返回None

parsing rust nom
1个回答
0
投票

物有所值...

我假设一个解析器的输出类型是父解析器的输入。真正发生的是所有解析器都可以期望相同的输入类型并返回他们喜欢的任何内容。最后返回并操作生成的对象(即AST)。

© www.soinside.com 2019 - 2024. All rights reserved.