我正在设计文本解析器的架构。例句:Content here, content here.
整个句子是一个……句子,这很明显。The
等quick
是单词;,
和 .
是标点符号。但是一般来说,单词和标点符号是什么?它们只是符号吗?我根本不知道如何以最合理的抽象方式命名一个句子包含的内容(因为可能会写它由字母/元音等组成)。
谢谢你的帮助 :)
我正在设计文本解析器的架构。例句:Content here, content here.
整个句子是一个……句子,这很明显。The
等quick
是单词;,
和 .
是标点符号。但是一般来说,单词和标点符号是什么?它们只是符号吗?我根本不知道如何以最合理的抽象方式命名一个句子包含的内容(因为可能会写它由字母/元音等组成)。
谢谢你的帮助 :)
您正在做的是技术上的词法分析(“词法分析”),它采用一系列输入符号并生成一系列标记或词位。所以单词、标点符号和空格都是标记。
在 (E)BNF 术语中,词位或标记与“终端符号”同义。如果您将解析规则集视为一棵树,那么终端符号就是树的叶子。
那么你输入的核心是什么?是一个词还是一个句子?如果是单词(和空格),那么句子更类似于解析规则。事实上,“句子”这个词本身就可能具有误导性。将整个输入序列称为一个句子并不少见。
一系列非空白字符的半通用术语是“textrun”。
在谈论解析时经常使用的包含两个子类别“单词”和“标点符号”的常见术语是“令牌”。
根据您正在查看的输入文本词法分析的哪个阶段,这些可能是“词素”或“标记”。