【24h】

Kind Analysis for MATLAB

机译:MATLAB的种类分析

获取原文
获取原文并翻译 | 示例

摘要

Matlab is a popular dynamic programming language used for scientific and numerical programming. As a language, it has evolved from a small scripting language intended as an interactive interface to numerical libraries, to a very popular language supporting many language features and libraries. The overloaded syntax and dynamic nature of the language, plus the somewhat organic addition of language features over the years, makes static analysis of modern Matlab quite challenging. A fundamental problem in Matlab is determining the kind of an identifier. Does an identifier refer to a variable, a named function or a prefix? Although this is a trivial problem for most programming languages, it was not clear how to do this properly in Matlab. Furthermore, there was no simple explanation of kind analysis suitable for Matlab programmers, nor a publicly-available implementation suitable for compiler researchers. This paper explains the required background of Matlab, clarifies the kind assignment program, and proposes some general guidelines for developing good kind analyses. Based on these foundations we present our design and implementation of a variety of kind analyses, including an approach that matches the intended behaviour of modern Matlab 7 and two potentially better alternatives. We have implemented all the variations of the kind analysis in McLab, our extensible compiler framework, and we present an empirical evaluation of the various analyses on a large set of benchmark programs.
机译:Matlab是一种流行的动态编程语言,用于科学和数字编程。作为一种语言,它已经从旨在用作数字接口的交互式接口的小型脚本语言演变为支持许多语言功能和库的非常流行的语言。语言的重载语法和动态特性,加上多年来语言功能的有机结合,使得对现代Matlab的静态分析颇具挑战性。 Matlab中的一个基本问题是确定标识符的类型。标识符是指变量,命名函数还是前缀?尽管对于大多数编程语言来说这是一个琐碎的问题,但尚不清楚如何在Matlab中正确地做到这一点。此外,没有适合Matlab程序员的种类分析的简单说明,也没有适合编译器研究人员的公开可用的实现。本文介绍了Matlab的所需背景,阐明了种类分配程序,并提出了一些用于开发良好种类分析的一般准则。基于这些基础,我们介绍了各种分析的设计和实现,包括与现代Matlab 7预期行为相匹配的方法以及两个可能更好的替代方法。我们已经在McLab(可扩展的编译器框架)中实现了种类分析的所有变体,并且我们对大量基准程序上的各种分析进行了实证评估。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号