The paper concerns the use in software development of a class of very high level languages characterized as
In using definitional languages to develop programs, a user relies heavily on static analysis during the compilation stage of development, as compared to the traditionalpractice of relying much more extensively on dynamic analysis performed by execution of the program with test data. As this seems to be the common trend in development of all software tools for Fifth Generation Computers, the limits of static checking are investigated for definitional languages in this paper.
rnA comprehensive approach to selecting and implementing automatic checks in the compiler is proposed. The checking methodology consists of representing the specification of a program by a directed graph and propagating various attributes throughout the entire graph. The choice of attributes and checks depends greatly on the types of errors that users are prone to make. This approach is described in the context of the MODEL language and compiler. The paper reports also on an experiment to evaluate the effectiveness of various checking methods incorporated in the compiler and on reliance of static vs dynamic methods of checking. The types of checking constructed were: syntax analysis, ambiguity in naming, completeness of definitions, data type consistency, dimensionality (corresponds to nesting of loops), ranges of dimensions (corresponds to loop terminations) and circular logic.
本文涉及一类称为 在使用定义语言开发程序时,与开发过程相比,用户在开发的编译阶段严重依赖静态分析。传统的做法是更广泛地依赖于通过执行带有测试数据的程序来执行的动态分析。由于这似乎是第五代计算机所有软件工具开发的共同趋势,因此本文对定义语言的静态检查的限制进行了研究。 P> rn 选择和实现自动检查的综合方法在编译器中提出。检查方法包括用有向图表示程序的规范,并在整个图上传播各种属性。属性和检查的选择在很大程度上取决于用户容易犯的错误的类型。在MODEL语言和编译器的上下文中描述了这种方法。该论文还报告了一个评估编译器中各种检查方法的有效性的实验,以及对静态和动态检查方法的依赖。构造的检查类型为:语法分析,命名歧义,定义的完整性,数据类型一致性,维度(对应于循环嵌套),维度范围(对应于循环终止)和循环逻辑。 P>
机译:动态语言的即时静态类型检查
机译:STLlint:将静态检查从语言提升到库
机译:回顾性检查急性卒中治疗实践指南的符合性:使用openEHR的指南定义语言进行的新颖实验
机译:C和C ++编程语言约束的可定制语义检查的静态分析用法
机译:标准定义与修订定义:中国成人英语学习者在理解单词含义方面的有效性。
机译:回顾性检查急性卒中治疗实践指南的符合性:使用openEHR的指南定义语言进行的新颖实验
机译:即时静态类型检查动态语言
机译:审查规范语言Z的类型检查和范围规则