gpt4 book ai didi

definition - Nearley Tokenizers 与规则

转载 作者:行者123 更新时间:2023-12-04 13:21:31 35 4
gpt4 key购买 nike

我对 nearly.js 很陌生,我想知道与规则相比,分词器/词法分析器做了什么,根据网站:

By default, nearley splits the input into a stream of characters. This is called scannerless parsing. A tokenizer splits the input into a stream of larger units called tokens. This happens in a separate stage before parsing. For example, a tokenizer might convert 512 + 10 into ["512", "+", "10"]: notice how it removed the whitespace, and combined multi-digit numbers into a single number.



这不是一样的:
Math -> Number _ "+" _ Number
Number -> [0-9]:+

我不明白词法分析器的目的是什么。我看到在这种情况下规则总是可用的,并且不需要词法分析器。

最佳答案

在摆弄它们之后,我发现了标记器的使用,比如我们有以下内容:

Keyword -> "if"|"else"
Identifier -> [a-zA-Z_]+

这是行不通的,如果我们尝试编译它,我们会得到不明确的语法,“if”将同时作为关键字和标识符进行匹配,但是一个标记器:
{
"keyword": /if|else/
"identifier": /[a-zA-Z_]+/
}

尝试编译它不会导致语法歧义,因为分词器是智能的(至少在这个例子中显示的是 Moo)。

关于definition - Nearley Tokenizers 与规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52045590/

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