gpt4 book ai didi

parsing - 如何获取导致解析错误的字符串?

转载 作者:太空宇宙 更新时间:2023-11-03 18:41:55 25 4
gpt4 key购买 nike

假设我有这段代码:

(handler-case (read ...)
(parse-error (condition)
(format t "What text was I reading last to get this error? ~s~&"
(how-to-get-this-text? condition))))

我只能看到 parse-namestring 访问器,但它给出了错误消息,而不是它正在解析的文本。

编辑

在我的例子中,这个问题不太普遍,所以一个不涉及解析失败的整个字符串的替代解决方案也可能很好。

想象一下我要解析的示例代码:

prefix(perhaps (nested (symbolic)) expressions))suffix

在某些情况下,我需要在“后缀”处停止,而在其他情况下,我需要继续,后缀本身没有其他含义,只是指示解析器接下来应该采取的操作。

最佳答案

READ 从流中解析,而不是字符串。 s 表达式可以任意长。 READ 应该保留一串已读内容吗?

您可能需要一个特殊的流。在标准的 Common Lisp 中,没有用户定义流的机制。但在现实生活中,每个实现都有这样的可扩展流。参见例如“灰色流”。

http://www.sbcl.org/1.0/manual/Gray-Streams.html

关于parsing - 如何获取导致解析错误的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12974898/

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