O Uso das Semânticas Indutiva e Denotacional na Tradução Fonte-a-Fonte de Linguagens de Programação
Resumo
Consideramos o problema da tradução fonte-a-fonte entre linguagens de programação visando à geração de tradutores. Nossa abordagem é deduzir as regras de compilação a partir da semântica formal de ambas linguagens usando um meta-compilador. Neste sentido fazemos um estudo de dois formalismos para à especificação formal da semântica de linguagens na procura de um método que se adapte a nossa aplicação. Regras para a derivação da semântica de frases compostas numa linguagem são apresentadas para ambos formalismos. Mostramos como estas regras podem servir para a prova de propriedades sem uso de indução, e como isto pode assistir o processo de dedução de regras de compilação.
Referências
H. Barendregt. The Lambda Calculus, Its Syntax and Semantics. North-Holland, Amsterdam, 1981.
R. Burstall and F. Honsell. A Natural Deduction Treatment of Operational Semantics. Technical Report ECS-LFCS-88-69, Department of Computer Science, University of Edinburgh, 1988.
R. Burstall and B. Lampson. A Kernel Language for Abstract Data Types and Modules. In Semantics of Data Types, Lecture Notes in Computer Science, Vol. 173, Springer-Verlag, 1984.
J. Darlington. Program Transformation. In P. Henderson J. Darlington and D. Turner, editors, Functional Programming and its Applications, Cambridge University Press, Cambridge, 1982.
J. A. Goguen, J. W, Thatcher, and E. G. Wagner. An Initial Approach to the Specification, Correctness and Implementation of Abstract Data Types. In R. Yeh, editor, Current Trends in Programming Methodology, Prentice Hall, 1978.
G. Kahn. Natural Semantics. In STACS'87, Lecture Notes in Computer Science, Vol. 247, Springer-Verlag, 1987.
S. Meira, A. L. Cavalcanti, and A. Pardo. On the Use of Structured Inductive Semantics in Source-to-Source Translation of Programming Languages. 1989. Submitted to Information Processing Letters, North-Holland.
P. D. Mosses. Action Semantics, Notas de Curso, Aarhus University, Dinamarca. 1989.
P. D. Mosses. Denotational Semantics. In Lecture Notes of the State of the Art Seminar on Formal Description of Programming Concepts, IFIP TC2 WG 2.2, Petrópolis, 1989.
A. Pardo. Tese de Mestrado, Departamento de Informática, Universidade Federal de Pernambuco. 1990. (Em preparo).
L. C. Paulson. Logic and Computation - Interactive Proof with Cambridge LCF. Volume 2 of Cambridge Tracts in Theoretical Computer Science, Cambridge University Press, 1987.
G. Plotkin. A Structural Approach to Operational Semantics. Technical Report DAIMI FN-19, Computer Science Department, Aarhus University, 1981.
A. Pardo and S. Meira. Tradução Fonte-a-Fonte de Linguagens de Programação Baseada em Semântica Formal. In Anais do X Congresso da SBC, Sociedade Brasileira de Computação, Vitória, 1990.
D. A. Schmidt. Denotational Semantics. A Methodology for Language Development. Allyn and Bacon, Inc., Boston Mass., 1986.
Å. Wikström. Functional Programming using Standard ML. Prentice Hall International, UK, 1987.