首页> 外文OA文献 >An algebraic approach to the design of compilers for object-oriented languages
【2h】

An algebraic approach to the design of compilers for object-oriented languages

机译:面向对象语言编译器设计的代数方法

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

Neste trabalho discutimos o projeto de compiladores corretos por construção para linguagens orientadas a objeto. Um compilador correto é aquele que garante que a semântica é preservada quando o programa fonte _e traduzido para a linguagem destino. O projeto de compiladores corretos para linguagens imperativas se encontra bem fundamentado; atualmente, o maior desafio é o desenvolvimento de uma abordagem para lidar com características de orientação a objetos. Nesta tese, descrevemos uma abordagem algébrica para construção de compiladores corretos para uma linguagem orientada a objetos chamada ROOL (acrônimo para Refenement Objecy-oriented Language), que é similar a Java e C++. Esta linguagem inclue classes, herança, ligação dinâmica, recursão, cast e teste de tipos, e visibilidade baseada em classes. Na nossa abordagem, lidamos com o problema de corretude do compilador transformando a tarefa de compilação em uma tarefa de refinamento de programa. O processo de compilação passa ser identificado como sendo a redução de um programa fonte, escrito em um subconjunto executável da linguagem, para uma forma normal. A forma normal é gerada por uma série de transformações que preservam a corretude, e s ao provadas corretas a partir das leis básicas da linguagem; portanto o processo é correto por construção. A maior vantagem da nossa abordagem reside na caracterização do processo de compilação dentro de um sistema uniforme onde as comparações e traduções entre semânticas são evitadas. A redução a forma normal é formalizada como uma álgebra onde a noção central é a de refinamento de programas. Portanto, o produto da compilação é um programa na própria linguagem fonte. Nossa forma normal é um programa na forma de um interpretador, escrito na mesma linguagem fonte, emulando o comportamento da máquina destino. A partir desse interpretador, é que a seqüência das instruções geradas são capturadas. Definimos a Máquina Virtual de ROOL (RVM) como sendo nossa máquina destino; ela _e baseada na Máquina Virtual de Java (JVM) Tal uniformidade implica que todo o cálculo necessário para assegurar a corretude do processo de compilação é realizado em um único sistema de uma linguagem orientada a objetos cuja semântica é dada por leis algébricas. Nenhuma teoria relativa a linguagem fonte ou destino é desenvolvida ou usada no processo. O processo de compilação é justificado por teoremas de redução da forma normal. Existem cinco fases: pré-compilação de classes, redirecionamento de chamada de métodos, simplificação, eliminação de controle e refinamento de dados. Para cada fase, um teorema assegura o resultado esperado. O teorema principal conecta os passos intermediários e estabelece o resultado para todo o processo. Uma vez que os teoremas de redu¢c~ ao pra cada fase são provados corretos a partir das leis básicas de ROOL, eles corroboram para a corretude de todo o processo
机译:在这项工作中,我们讨论了建设面向对象语言编译器正确的项目。正确的编译器是一个确保语义当源_E程序翻译成目标语言被保留。对于命令式语言正确的编译器项目有充分的理由;目前,最大的挑战是一种方法来处理面向对象特性的发展。在本文中,我们描述了一个代数的方法来建设所谓ROOL(缩写为Refenement面向对象的语言),面向对象的语言,它类似于Java和C ++编译器正确的。这种语言包括类,继承,动态连接,递归,演员和类型的测试,以及基于类的可见性。在我们的方法,我们通过转化生成任务到程序精炼任务处理编译器的正确性问题。编译过程将被识别为降低的源程序的,写在语言的一个可执行子集,对于正常的形式。通过一系列的保护对应,并从语言的基本规律的正确provades转换所产生的正常形态;所以这个过程是通过建设正确的。我们的方法在于在编译过程中,其中的语义之间的比较和翻译避免一个统一的系统内表征的最大优势。减少正常形式形式化作为代数其中中央概念是节目的细化。因此,编译产品是在源语言本身的程序。我们正常的形式是一个解释的形式的节目,写在同一个源语言,模拟目标机器的行为。从这个解释器,它是产生的指令序列被捕获。我们定义ROOL虚拟机(RVM)作为我们的目标机器;它是基于Java虚拟机(JVM)这种均匀意味着所有必要的计算,以确保在编译过程的correlity在其语义由代数规则给出面向对象语言的单个系统中进行。没有相对于源语言或目标理论是发达国家还是在过程中使用。编译过程是通过正常还原定理合理的。有五个阶段:类预编译,方法调用重定向,简化,分配数据和细化。对于每个相,定理保证了预期的结果。主定理连接中间步骤并建立了整个过程的结果。一旦确定了每个阶段的压缩定理是从ROOL的基本规律证明是正确的,他们证实整个过程的正确性

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号