Generación automática de puertos en Erlang

Son varios los mecanismos de interoperabilidad ofrecidos por el lenguaje Erlang para realizar conexiones con código C. En este trabajo se han estudiado varios de estos mecanismos con el fin de encontrar el más adecuado para la generación de bindings que permitan el uso de librerías de C en programas...

ver descrição completa

Detalhes bibliográficos
Autor: Suárez Jiménez, Fernando
Formato: tesis de maestría
Fecha de publicación:2018
País:España
Repositorio:Docta Complutense
Idioma:español
OAI Identifier:oai:docta.ucm.es:20.500.14352/19973
Acesso em linha:https://hdl.handle.net/20.500.14352/19973
Access Level:acceso abierto
Palavra-chave:004.438C(043.3.)
004.438Erlang(043.3)
Binding
C
Comunicación Erlang-C
Erlang
Generación automática de código
Interoperabilidad
Librería
NIF
Puerto
SDL
Automatic code generation
Erlang-C communication
Interoperability
Library
Port
Lenguajes de programación
Programación de ordenadores (Informática)
1203.23 Lenguajes de Programación
id ES_8d849b6cf0c5bea08036a0e7273263f0
oai_identifier_str oai:docta.ucm.es:20.500.14352/19973
network_acronym_str ES
network_name_str España
repository_id_str
spelling Generación automática de puertos en ErlangSuárez Jiménez, Fernando004.438C(043.3.)004.438Erlang(043.3)BindingCComunicación Erlang-CErlangGeneración automática de códigoInteroperabilidadLibreríaNIFPuertoSDLAutomatic code generationErlang-C communicationInteroperabilityLibraryPortLenguajes de programaciónProgramación de ordenadores (Informática)1203.23 Lenguajes de Programación1203.23 Lenguajes de ProgramaciónSon varios los mecanismos de interoperabilidad ofrecidos por el lenguaje Erlang para realizar conexiones con código C. En este trabajo se han estudiado varios de estos mecanismos con el fin de encontrar el más adecuado para la generación de bindings que permitan el uso de librerías de C en programas Erlang. La primera parte de este trabajo se ha centrado en la realización de varias pruebas de concepto con la librería SDL de C evaluando el uso de varios de estos mecanismos, como las NIFs o los puertos. Una vez realizadas estas pruebas y determinado el método más adecuado, se ha desarrollado en Erlang una herramienta automática de generación de bindings que se encarga de producir el código C y el código Erlang necesario para poder utilizar estas librerías de C en programas Erlang de una manera sencilla y completamente funcional. Esta herramienta requiere de un fichero de especificación que establece la correspondencia entre los elementos de ambos lenguajes y ha de ser escrito manualmente por el programador. Entre las características del código generado por esta herramienta podemos destacar: manejo de tipos básicos de C, funciones, punteros, arrays, estructuras, uniones y enumerados, tratamiento de macros, soporte para funciones de orden superior y gestión automatizada de memoria dinámica para punteros de C. Todas estas características permiten la creación de programas Erlang plenamente funcionales que hacen uso de librerías de C, como es el caso del programa de prueba realizado para la librería SDL.Montenegro Montes, ManuelUniversidad Complutense de Madrid20232023-06-1820182018-01-0120182018-01-01master thesishttp://purl.org/coar/resource_type/c_bdccinfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/20.500.14352/19973reponame:Docta Complutenseinstname:Españolspaopen accesshttp://purl.org/coar/access_right/c_abf2Atribución-NoComercial 3.0 Españahttps://creativecommons.org/licenses/by-nc/3.0/es/info:eu-repo/semantics/openAccessoai:docta.ucm.es:20.500.14352/199732025-08-02T12:44:52Z
dc.title.none.fl_str_mv Generación automática de puertos en Erlang
title Generación automática de puertos en Erlang
spellingShingle Generación automática de puertos en Erlang
Suárez Jiménez, Fernando
004.438C(043.3.)
004.438Erlang(043.3)
Binding
C
Comunicación Erlang-C
Erlang
Generación automática de código
Interoperabilidad
Librería
NIF
Puerto
SDL
Automatic code generation
Erlang-C communication
Interoperability
Library
Port
Lenguajes de programación
Programación de ordenadores (Informática)
1203.23 Lenguajes de Programación
1203.23 Lenguajes de Programación
title_short Generación automática de puertos en Erlang
title_full Generación automática de puertos en Erlang
title_fullStr Generación automática de puertos en Erlang
title_full_unstemmed Generación automática de puertos en Erlang
title_sort Generación automática de puertos en Erlang
dc.creator.none.fl_str_mv Suárez Jiménez, Fernando
author Suárez Jiménez, Fernando
author_facet Suárez Jiménez, Fernando
author_role author
dc.contributor.none.fl_str_mv Montenegro Montes, Manuel
Universidad Complutense de Madrid
dc.subject.none.fl_str_mv 004.438C(043.3.)
004.438Erlang(043.3)
Binding
C
Comunicación Erlang-C
Erlang
Generación automática de código
Interoperabilidad
Librería
NIF
Puerto
SDL
Automatic code generation
Erlang-C communication
Interoperability
Library
Port
Lenguajes de programación
Programación de ordenadores (Informática)
1203.23 Lenguajes de Programación
1203.23 Lenguajes de Programación
topic 004.438C(043.3.)
004.438Erlang(043.3)
Binding
C
Comunicación Erlang-C
Erlang
Generación automática de código
Interoperabilidad
Librería
NIF
Puerto
SDL
Automatic code generation
Erlang-C communication
Interoperability
Library
Port
Lenguajes de programación
Programación de ordenadores (Informática)
1203.23 Lenguajes de Programación
1203.23 Lenguajes de Programación
description Son varios los mecanismos de interoperabilidad ofrecidos por el lenguaje Erlang para realizar conexiones con código C. En este trabajo se han estudiado varios de estos mecanismos con el fin de encontrar el más adecuado para la generación de bindings que permitan el uso de librerías de C en programas Erlang. La primera parte de este trabajo se ha centrado en la realización de varias pruebas de concepto con la librería SDL de C evaluando el uso de varios de estos mecanismos, como las NIFs o los puertos. Una vez realizadas estas pruebas y determinado el método más adecuado, se ha desarrollado en Erlang una herramienta automática de generación de bindings que se encarga de producir el código C y el código Erlang necesario para poder utilizar estas librerías de C en programas Erlang de una manera sencilla y completamente funcional. Esta herramienta requiere de un fichero de especificación que establece la correspondencia entre los elementos de ambos lenguajes y ha de ser escrito manualmente por el programador. Entre las características del código generado por esta herramienta podemos destacar: manejo de tipos básicos de C, funciones, punteros, arrays, estructuras, uniones y enumerados, tratamiento de macros, soporte para funciones de orden superior y gestión automatizada de memoria dinámica para punteros de C. Todas estas características permiten la creación de programas Erlang plenamente funcionales que hacen uso de librerías de C, como es el caso del programa de prueba realizado para la librería SDL.
publishDate 2018
dc.date.none.fl_str_mv 2018
2018-01-01
2018
2018-01-01
2023
2023-06-18
dc.type.none.fl_str_mv master thesis
http://purl.org/coar/resource_type/c_bdcc
info:eu-repo/semantics/masterThesis
format masterThesis
dc.identifier.none.fl_str_mv https://hdl.handle.net/20.500.14352/19973
url https://hdl.handle.net/20.500.14352/19973
dc.language.none.fl_str_mv Español
spa
language_invalid_str_mv Español
language spa
dc.rights.none.fl_str_mv open access
http://purl.org/coar/access_right/c_abf2
Atribución-NoComercial 3.0 España
https://creativecommons.org/licenses/by-nc/3.0/es/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv open access
http://purl.org/coar/access_right/c_abf2
Atribución-NoComercial 3.0 España
https://creativecommons.org/licenses/by-nc/3.0/es/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Docta Complutense
instname:
instname_str
reponame_str Docta Complutense
collection Docta Complutense
repository.name.fl_str_mv
repository.mail.fl_str_mv
_version_ 1844180594951454720
score 15.638193