gpt4 book ai didi

error-handling - 如何在yyerror中获取当前 token ?

转载 作者:行者123 更新时间:2023-12-03 07:47:54 25 4
gpt4 key购买 nike

我的问题是传递给yyerror的消息已经被格式化(即实际上是英文解释哪里出了问题),而我想得到的只是当前 token (即错误伪 token 之前的 token )。

那么如何获得呢?

我使用gplex/gppg,它们是C#中的lex/yacc实现。

抱歉,我不是100%精确的人-我需要的是 token (符号)而不是(通过 token )匹配的正文(文本)。

假设我有一条规则[A-Za-z0-9_]+构成ID。所以我想获得 token ID而不是foobar

最佳答案

没有标准,但是野牛和大多数版本的yacc将当前 token 存储在yychar中。不幸的是,这通常是一个局部变量(yyparse),因此您只能在解析器操作中才能在其他函数(例如yyerror)中访问它。

如果您说为什么要当前 token ,这可能会有所帮助-通常它不是有用的信息。您提到了错误伪 token ,该错误伪 token 与错误恢复相关联,没有任何意义,而不是这样的错误-进入图片时,通常会丢弃来自输入的一堆 token 。

关于error-handling - 如何在yyerror中获取当前 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13258460/

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