2002
DOI: 10.1007/3-540-45937-5_15
|View full text |Cite
|
Sign up to set email alerts
|

Compiling Mercury to High-Level C Code

Abstract: Many logic programming implementations compile to C, but they compile to very low-level C, and thus discard many of the advantages of compiling to a high-level language. We describe an alternative approach to compiling logic programs to C, based on continuation passing, that we have used in a new back-end for the Mercury compiler. The new approach compiles to much higher-level C code, which means the compiler back-end and run-time system can be considerably simpler. We present a formal schema for the transform… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
2
0
2

Year Published

2004
2004
2015
2015

Publication Types

Select...
3
2

Relationship

0
5

Authors

Journals

citations
Cited by 7 publications
(4 citation statements)
references
References 11 publications
0
2
0
2
Order By: Relevance
“…Another compilation scheme which produces similar code is described in Henderson and Somogyi (2002). There are, however, significant differences, of which we will mention just a few.…”
Section: Related Compilation Schemesmentioning
confidence: 99%
“…Another compilation scheme which produces similar code is described in Henderson and Somogyi (2002). There are, however, significant differences, of which we will mention just a few.…”
Section: Related Compilation Schemesmentioning
confidence: 99%
“…Utilizando uma abordagem totalmente diferente, Mercury [80,1] mudou a linguagem. O objetivo foi melhorar o desempenho de programas lógicos.…”
Section: Considerações Finaisunclassified
“…Linguagens que implementam programação lógica [1,2] possuem uma clara correspondência à lógica matemática e expressam a computação sem descrever o seu fluxo de controle. Em outras palavras, a descrição do programa é baseada em "o que" realizar, em vez de "como" realizar, ao contrário do que ocorre na programação imperativa [3].…”
Section: Introductionunclassified
“…This requires a somewhat different translation to C (which we do not have space to describe in full) and which takes into account this possibility by bypassing the emulator loop, in several senses similarly to what is presented in [HS02].…”
Section: Determinismmentioning
confidence: 99%