在本文档的第2.3节(“令牌识别”)中:https://pubs.opengroup.org/onlinepubs/9699919799.2008edition/utilities/V3_chap02.html出现以下句子:
“如果指示令牌已定界,并且令牌中未包含任何字符,则处理应继续进行,直到确定实际令牌为止”
这是什么意思?在令牌中包含任何字符之前,如何将其标记为定界符?
那句话确实模棱两可。改写为“如果令牌为空,则处理将继续进行,直到给出非空令牌为止。”
知道令牌的开始和结束时,令牌被“标记为定界”。因此,从最后一个定界符到新找到的定界符。
如果相邻有两个定界符,则标记可以为空。
例如,说分隔符是逗号。
fashl,gasdf,agasdf,aasdf,,ghask
六个令牌中,第五个令牌为空。它的开始和结束由第四和第五个逗号确定,因此它是“定界的”。但是其中没有字符。
然而,句子的确有歧义。 “处理应继续”未指定空令牌会发生什么。或更确切地说,它没有指定应采取的逻辑动作或路径。所以它可能意味着:
如果找到一个空标记,请继续阅读直到下一个定界符并认为该标记。
如果找到空令牌,请忽略该令牌并继续阅读。
尽管这样做的最终效果可能没有什么不同。