考虑这个简单的语法:
S -> 一个 | b
该文法可能生成的字符串集是:
{a, b}
因此,语法会生成一组字符串。
语法解析器接受输入字符串并确定该字符串是否可以由语法生成。
因此,解析器是语法的识别器。
至少,这是解析器的一种用途。
但通常解析器用于其他事情。例如,语法解析器可以获取输入字符串并创建一个包含输入数据并符合语法的树结构。
在这种情况下,解析器不是识别器,而是数据结构构建器。
我得出结论,有不同类型的解析器。
我在逻辑思考吗?确实有不同类型的解析器吗?
是否有人创建了解析器创建的不同类型事物的列表?
请让我知道上述陈述中的任何松散或歧义。我正在努力学习在关于这些概念的陈述中准确无误。例如,您是否同意“语法生成一组字符串”?那是精确的吗?正确的?