The Design of the YAP Compiler: An Optimizing Compiler for Logic Programming Languages

dc.creatorSilva,Anderson Faustino da
dc.creatorCosta,Vitor
dc.date2006
dc.date.accessioned2024-02-06T12:54:37Z
dc.date.available2024-02-06T12:54:37Z
dc.descriptionSeveral techniques for implementing Prolog in a efficient manner have been devised since the original interpreter, many of them aimed at achieving more speed. There are two main approaches to efficient Prolog implementation: (1) compilers to bytecode and then interpreting it (emulators) or (2) compilers to native code. Emulators have smaller load/compilation time and are a good solution for their simplicity when speed is not a priority. Compilers are more complex than emulators, and the difference is much more acute if some form of code analysis is performed as part of the compilation, which impacts development time. Generation of low level code promises faster programs at the expense of using more resources during the compilation phase. In our work besides using an mixed execution mode, we design an optimizing compiler that using type feedback profiling, dynamic compilation and dynamic deoptimization for improving the performance of logic programming languages.
dc.formattext/html
dc.identifierhttps://doi.org/10.3217/jucs-012-07-0764
dc.identifierhttps://lib.jucs.org/article/28631/
dc.identifier.urihttps://openrepository.mephi.ru/handle/123456789/9084
dc.languageen
dc.publisherJournal of Universal Computer Science
dc.relationinfo:eu-repo/semantics/altIdentifier/eissn/0948-6968
dc.relationinfo:eu-repo/semantics/altIdentifier/pissn/0948-695X
dc.rightsinfo:eu-repo/semantics/openAccess
dc.rightsJ.UCS License
dc.sourceJUCS - Journal of Universal Computer Science 12(7): 764-787
dc.subjectdynamic compilation
dc.subjectJust-in-Time compiler
dc.subjectcompiler optimizations
dc.titleThe Design of the YAP Compiler: An Optimizing Compiler for Logic Programming Languages
dc.typeResearch Article
Файлы