gpt4 book ai didi

parsing - Scala 解析器框架能否解析以 "push"模式提供的序列?

转载 作者:行者123 更新时间:2023-12-04 21:20:31 25 4
gpt4 key购买 nike

我可以使用 Scala 解析器框架来解析以推送模式提供给解析器的事件流(即一系列 write() 调用)吗?还是必须使用迭代器“拉”其输入?我正在考虑使用解析器主要来验证 write() 调用的序列是否是格式良好的合法序列,但它也可能会向流中注入(inject)额外的 token 。

我知道我可以将一系列标记推送到期望通过使用线程来拉取序列的组件,但这是一个困惑的解决方案。

最佳答案

好的,答案似乎是 Scala 解析器需要“拥有控制循环”:它不能在推送模式下驱动。这是因为作为递归下降解析引擎,它需要程序栈来维护状态。通过将其作为独立线程运行,它可能会在单独的堆栈上运行,但当然必须考虑语法是否需要回溯和/或前瞻并实现任何必要的缓冲。

出于预期目的,找到一个生成简单状态机的工具似乎是一个更好的方法。

感谢导致此结论的评论。

关于parsing - Scala 解析器框架能否解析以 "push"模式提供的序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12676855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com