Compiler construction 这就是词法分析错误的例子吗?

Compiler construction 这就是词法分析错误的例子吗?,compiler-construction,Compiler Construction,考虑下面的陈述 字符a=`a 在编译器设计中,它是什么样的错误,是词汇错误还是语法错误?它的“只是”语法错误;语法告诉您什么是合法的,而这不是 人们会谈论一种特殊的语法错误,并说有一个格式错误的标记或词素。但这只是编译器内部的一个细节 如果你写了这段代码,那是你的错误,而不是编译器的错误。它的“只是”语法错误;语法告诉您什么是合法的,而这不是 人们会谈论一种特殊的语法错误,并说有一个格式错误的标记或词素。但这只是编译器内部的一个细节 如果你写了这段代码,那是你的错误,而不是编译器的错误。它的“只

考虑下面的陈述

字符a=`a

在编译器设计中,它是什么样的错误,是词汇错误还是语法错误?

它的“只是”语法错误;语法告诉您什么是合法的,而这不是

人们会谈论一种特殊的语法错误,并说有一个格式错误的标记或词素。但这只是编译器内部的一个细节

如果你写了这段代码,那是你的错误,而不是编译器的错误。

它的“只是”语法错误;语法告诉您什么是合法的,而这不是

人们会谈论一种特殊的语法错误,并说有一个格式错误的标记或词素。但这只是编译器内部的一个细节

如果你写了这段代码,那是你的错误,而不是编译器的错误。

它的“只是”语法错误;语法告诉您什么是合法的,而这不是

人们会谈论一种特殊的语法错误,并说有一个格式错误的标记或词素。但这只是编译器内部的一个细节

如果你写了这段代码,那是你的错误,而不是编译器的错误。

它的“只是”语法错误;语法告诉您什么是合法的,而这不是

人们会谈论一种特殊的语法错误,并说有一个格式错误的标记或词素。但这只是编译器内部的一个细节

如果您编写了此代码,那是您的错误,而不是编译器的错误。

两者都不是

谁说这个构造是无效的

这完全取决于你的定义

例如,您可能已经定义了“符号只能成对出现,如”用于描述字符串文字。那么这将是一个词汇错误

OTOH,`可能是某个预定义的中缀运算符,如*。那么这将是一个语法错误,因为表达式的左侧缺失

或者“可能是整数上的一元运算符,那么这将是一个类型错误,因为a显然是字符。

两者都不是

谁说这个构造是无效的

这完全取决于你的定义

例如,您可能已经定义了“符号只能成对出现,如”用于描述字符串文字。那么这将是一个词汇错误

OTOH,`可能是某种预定义的中缀运算符,如*。那么这将是一个语法错误,因为表达式的左侧缺失

或者“可能是整数上的一元运算符,那么这将是一个类型错误,因为a显然是字符。

两者都不是

谁说这个构造是无效的

这完全取决于你的定义

例如,您可能已经定义了“符号只能成对出现,如”用于描述字符串文字。那么这将是一个词汇错误

OTOH,`可能是某个预定义的中缀运算符,如*。那么这将是一个语法错误,因为表达式的左侧缺失

或者“可能是整数上的一元运算符,那么这将是一个类型错误,因为a显然是字符。

两者都不是

谁说这个构造是无效的

这完全取决于你的定义

例如,您可能已经定义了“符号只能成对出现,如”用于描述字符串文字。那么这将是一个词汇错误

OTOH,`可能是某种预定义的中缀运算符,如*。那么这将是一个语法错误,因为表达式的左侧缺失


或者`可能是整数上的一元运算符,那么这将是一个类型错误,因为a显然是一个字符。

如果反勾号或反勾号后跟字母在您的语言中是有效的标记,这是一个语法错误(当然,除非“反勾号后跟标识符”在您的语言中实际上是一个语法有效的表达式)

如果您的语言没有反勾号或反勾号后跟字母标记,这是一个词汇错误


如果您的语言(有点出乎意料/反直觉地)对字符文本使用反勾号(使用形式backtick,character,backtick),这仍然是一个词汇错误,因为字符文本未关闭。

如果反勾号或后跟字母的反勾号在您的语言中是有效的标记,则这是一个语法错误(除非“backtick后跟identifier”在您的语言中实际上是一个语法上有效的表达式(当然)

如果您的语言没有反勾号或反勾号后跟字母标记,这是一个词汇错误


如果您的语言(有点出乎意料/反直觉地)对字符文本使用反勾号(使用形式backtick,character,backtick),这仍然是一个词汇错误,因为字符文本未关闭。

如果反勾号或后跟字母的反勾号在您的语言中是有效的标记,则这是一个语法错误(除非“backtick后跟identifier“在您的语言中实际上是一个语法上有效的表达式)

如果您的语言没有反勾号或反勾号后跟字母标记,这是一个词汇错误


如果您的语言(有点出乎意料/反直觉地)对字符文本使用反勾号(使用形式backtick,character,backtick),这仍然是一个词汇错误,因为字符文本未关闭。

如果反勾号或后跟字母的反勾号在您的语言中是有效的标记,则这是一个语法错误(除非“backtick后跟identifier“在您的语言中实际上是一个语法上有效的表达式)

如果您的语言没有反勾号或反勾号后跟字母标记,这是一个词汇错误


如果您的语言(有点出乎意料/反直觉地)对字符文本使用反勾号(使用形式backtick,character,backtick),这仍然是一个词汇错误,因为字符文本未关闭。

这是一个词汇错误


字符的正则表达式可以是 "((\.|[^\'])"


这将接受任何字符,如“a”、“z”