|
计算机科学 2001
The Incremental Semantic Analysis for Language-based Editor
|
Abstract:
1 引言基于语言的编辑器(language-based editor)是一种交互式的开发工具,根据语言的语法、语义,在编辑器中对输入的程序进行分析,及时地为程序员提供交互的信息提示,指出语法、语义错误,引导其输入。它也是构成分布式软件开发环境的重要部分,可以在多个开发者之间报告语义不一致,协调开发过程。不同于结构化的编辑器,基于语言的编辑器采用了标准的文本编辑方式,没有对使用者的输入方式作任何限制。这使设计者面临两个挑战: 1.如何在文字编辑过程中从输入获得语法语义信息,传统的分析算法在速度上无法满足要求。 2.如何处理输入中的错误,结构化的编辑器至少在语法层次上不会包含错误。增量分析技术的提出使得实时地进行语法分析并完成静态语义的检查成为可能。这方面的研究至少从80年代开始,成果也非常显著:增量语法分析出现了