在互联网上,我已经阅读了形容词词汇的一般含义:一个词与物理世界或抽象概念相关的含义,而不涉及任何可能出现这个词的句子。
我已经看到这个词在许多不同的语境中被使用:词汇范围,词汇分析,词汇常量,词汇运算符等。
为什么人们会选择在范围之前使用词汇这个词?我没有看到词汇定义和词汇范围之间的任何关系。词法分析,词汇常量等同样如此。
我知道你想要给出一个名字,这样你就可以更容易地引用它,但你为什么要把它命名为没有意义的东西呢?如果它确实有意义,那么你能澄清它是如何做的吗?
我已经看到了一个不同的主题,其中有人询问C ++中词汇的含义:What does the term "lexical" means in C++?
该问题的最佳答案解释说词汇意味着它与源代码有关。然后我的问题是:编程中的任何内容与源代码无关?不是与源代码相关的各种范围,常数,形式的代码分析吗?另外,词汇的定义与源代码的关系如何相关?
答案 0 :(得分:3)
词汇" lexically"根据具体情况,它有几种不同的含义。
在编译器的上下文中," lexical"通常是指源文件中的单个令牌或获取这些令牌的过程,而不考虑由这些令牌形成的整体结构。例如,在C中,输入
int main() {
printf("Hi!\n");
return 0;
}
将被分解为
int
main
(
)
{
printf
(
"Hi!\n"
)
;
return
0
;
}
然后用标记类型标记这些标记类型,例如"标识符"或"打开括号。"
在词法分析期间,(通常)没有尝试在更广泛的范围内确定这些令牌的整体含义。这是解析(语法分析)或进一步语义分析的工作。这与您给出的定义相似 - 词汇分析是确定令牌的含义,而不是它们在上下文中的含义。
有时," lexically"只是意味着"因为它出现在源代码中。"例如,词法范围变量是限定在它们出现在源文件中的块的变量,而不是基于该程序的动态执行的范围。这有点用词不当。
希望这有帮助!