Java eclipse如何感知诸如中断循环结束、关键字等内容。?
我试图在网上搜索这个问题,但找不到正确的答案。这是我的问题 我注意到当我们选择(突出显示)Java eclipse如何感知诸如中断循环结束、关键字等内容。?,java,eclipse,Java,Eclipse,我试图在网上搜索这个问题,但找不到正确的答案。这是我的问题 我注意到当我们选择(突出显示)break时,eclipse编辑器指向循环 有谁能帮我知道,从技术上讲,它是如何知道循环结束的? 例如 还有一些事情,比如我们突出显示某个变量,它突出显示所有提到的相同的内容,同样地,当我们编写代码时,它会改变关键字的颜色等等 请看,我想知道它在幕后技术上是如何做这些事情的。基本上eclipse会在前面搜索相应的关键字,如for,while或switch,然后它会计算括号,以知道括号将关闭在哪里 突出显示
break时,eclipse编辑器指向循环代码>
有谁能帮我知道,从技术上讲,它是如何知道循环结束的?
例如
还有一些事情,比如我们突出显示某个变量,它突出显示所有提到的相同的内容,同样地,当我们编写代码时,它会改变关键字的颜色等等
请看,我想知道它在幕后技术上是如何做这些事情的。基本上eclipse会在前面搜索相应的关键字,如for
,while
或switch
,然后它会计算括号,以知道括号将关闭在哪里
突出显示变量,特别是在java中,因为它区分大小写,只需搜索相同的名称
这只是一个基本的方法,我认为在幕后会有一个更复杂的方法,基本上eclipse会在前面搜索一个相应的关键字,比如for
,while
或switch
,然后它会计算括号,从那时起知道括号将在哪里关闭
突出显示变量,特别是在java中,因为它区分大小写,只需搜索相同的名称
这只是一种基本的方法,我认为在幕后会有一种更复杂的方法,EclipseJDT(Java开发工具)是一个Eclipse项目,它提供了许多插件来支持任何Java应用程序的开发。JDT核心组件提供Java文档模型,该模型本身就是一个用于读取/操作结构化Java源文档的API
Java文档模型基于AST(抽象语法树),它是从源代码构建的。此AST包含用于表示字段、变量、语句(break是一个语句)等元素的节点,还包含用于表示对其他节点的引用的更多节点。如果声明变量并在其他代码位置使用该变量,则这些用法称为引用。对字段的引用和对同名变量的引用实际上是其他引用
因此,基本上,Eclipse通过AST来查找所需上下文中的所有相关引用。EclipseJDT(Java开发工具)是Eclipse项目,它提供了许多插件来支持任何Java应用程序的开发。JDT核心组件提供Java文档模型,该模型本身就是一个用于读取/操作结构化Java源文档的API
Java文档模型基于AST(抽象语法树),它是从源代码构建的。此AST包含用于表示字段、变量、语句(break是一个语句)等元素的节点,还包含用于表示对其他节点的引用的更多节点。如果声明变量并在其他代码位置使用该变量,则这些用法称为引用。对字段的引用和对同名变量的引用实际上是其他引用
因此,基本上,Eclipse通过AST来查找所需上下文中的所有相关引用。EclipseJDT包含自己的Java解析器,它在您编辑文件时更新AST。如果您对Eclipse的实现方式感兴趣,可以使用Eclipse源代码。此外,各种Eclipse插件开发人员指南中都有关于如何为自己的语言制作编辑器的信息。EclipseJDT包含自己的Java解析器,可以在编辑文件时更新AST。如果您对Eclipse的实现方式感兴趣,可以使用Eclipse源代码。此外,各种Eclipse插件开发人员指南中都有关于如何为自己的语言制作编辑器的信息。