解析 – Scala解析器框架可以解析在“推送”模式下提供的序列吗
发布时间:2020-12-16 18:32:58 所属栏目:安全 来源:网络整理
导读:我是否可以使用 Scala解析器框架来解析以推模式提供给解析器的事件流(即一系列write()调用)?或者它是否必须使用迭代器“拉”其输入?我正在考虑使用解析器主要验证write()调用的序列是一个格式良好的合法序列,但它也可能会向流中注入额外的令牌. 我知道我可
我是否可以使用
Scala解析器框架来解析以推模式提供给解析器的事件流(即一系列write()调用)?或者它是否必须使用迭代器“拉”其输入?我正在考虑使用解析器主要验证write()调用的序列是一个格式良好的合法序列,但它也可能会向流中注入额外的令牌.
我知道我可以将一系列令牌推送到一个期望通过线程拉动序列的组件,但这是一个混乱的解决方案. 解决方法
好吧,答案似乎是Scala解析器需要“拥有控制循环”:它不能在推模式下驱动.这是因为作为递归下降解析引擎,它需要程序堆栈来维护状态.它可能通过将其作为独立线程运行而可能在单独的堆栈上运行,但当然人们必须考虑语法是否需要回溯和/或超前并实现任何必要的缓冲.
出于预期目的,找到生成简单状态机的工具似乎是更好的前进方法. 感谢导致这一结论的评论. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |