gpt4 book ai didi

regex - 词法分析的状态/转移图——*(星号)收回前向指针有什么意义?

转载 作者:行者123 更新时间:2023-12-05 00:46:32 25 4
gpt4 key购买 nike

我正在阅读Compilers: Principles, Techniques, and Tools 但我不明白:

In addition, if it is necessary to retract the forward pointer one position (i.e., the lexeme does not include the symbol that got us to the accepting state), then we shall additionally place a * near that accepting state. In our example, it is never necessary to retract forward by more than one position, but if it were, we could attach any number of *'s to the accepting state.

这一切都有道理,但我不明白星号的意义。这本书只是在正则表达式(Kleene star/closure)中使用它,它是否被用来表示其他东西,还是仍然是 Kleene star?

最佳答案

不,这不是 Kleene 星,文本对此进行了解释,它基本上说要放回最后一个标记,因为该字符不是接受字符的一部分。例如,如果您只考虑 < ,然后您读取了 RE 中的两个字符,但您实际上并不想读取第二个字符,因此您将其放回原处,以便后续读取将首先找到它。

通常在完整的 FSM(有限状态机)中,您不会遇到这种情况,因为它会处理完整的词法语法,但由于它们只显示了语法的一部分,因此需要使用此设备。在此示例中,“其他”弧将转到另一个状态(更多弧)。

关于regex - 词法分析的状态/转移图——*(星号)收回前向指针有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8664296/

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