• Publicidad

Convertir un programa en lenguaje C a lenguaje Perl

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Convertir un programa en lenguaje C a lenguaje Perl

Notapor mparrado8 » 2013-04-13 14:59 @666

Hola, me gustaría saber si es posible la conversión de estos dos lenguajes, teniendo un programa escrito en lenguaje en C, pasarlo a Perl, o si son demasiado diferentes como para hacer eso.
mparrado8
Perlero nuevo
Perlero nuevo
 
Mensajes: 32
Registrado: 2013-04-10 12:58 @582

Publicidad

Re: Convertir un programa en lenguaje C a lenguaje Perl

Notapor Dshellnoi_Unix » 2013-04-13 15:24 @683

Pues la verdad es que no tengo ni idea pero es interesante lo que planteas. Hasta lo que yo sé, se puede usar C o C++ desde Perl o llamar a Perl desde C.

http://en.wikipedia.org/wiki/XS_%28Perl%29
Avatar de Usuario
Dshellnoi_Unix
Perlero nuevo
Perlero nuevo
 
Mensajes: 48
Registrado: 2013-02-24 15:43 @696
Ubicación: Las Palmas de Gran Canaria

Re: Convertir un programa en lenguaje C a lenguaje Perl

Notapor explorer » 2013-04-13 16:02 @710

No conozco una herramienta que lo haga de forma automática, pero la solución es sencilla: contrata a un programador que sepa de los dos lenguajes y le encargas que haga la conversión. Entonces, esta persona primero deberá entender qué hace todo el programa escrito en C, y luego traducir las estructuras de datos y los procedimientos a Perl.

Como Perl deriva de C, pues la conversión es sencilla. De hecho, el paso de C a Perl suele implicar una reducción del número de líneas, a veces de 50:1.

También existe la posibilidad de la que comenta Dshellnoi_Unix: hacer que Perl llame al código escrito en C. Aparte de la tecnología XS, otra mucho más sencilla y asequible es la de usar Inline::C (Inline::CPP para el caso de C++). Pero entonces no estamos hablando de conversión, sino de otra cosa...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Convertir un programa en lenguaje C a lenguaje Perl

Notapor mparrado8 » 2013-04-13 17:23 @766

Gracias por las dos respuestas, aunque para una novata aficionada que soy en esto de la programación no es necesario contratar a ningún programador que conozca ambos lenguajes, simplemente quería saber si existía algún convertidor automático al igual que pasa para cambiar de formato y esas cosas, pero ya veo que no. Muchas Gracias por la información.
mparrado8
Perlero nuevo
Perlero nuevo
 
Mensajes: 32
Registrado: 2013-04-10 12:58 @582

Re: Convertir un programa en lenguaje C a lenguaje Perl

Notapor explorer » 2013-04-13 17:35 @774

Cuando dije "contratar" me refería a ti misma... ¡tienes la oportunidad de aprender dos lenguajes, haciendo esa tarea!

Por aquí te ayudaremos en lo que no sepas.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Convertir un programa en lenguaje C a lenguaje Perl

Notapor explorer » 2013-04-14 08:28 @394

Empecemos...

¿Cómo traducimos este programa?

Sintáxis: [ Descargar ] [ Ocultar ]
Using c Syntax Highlighting
  1. /*
  2.     Para convertir de Fahrenheit a Celsius, restamos 32 grados y dividimos por 1.8.
  3.     Para convertir de Celsius a Fahrenheit, multiplicamos 1.8 y sumamos 32 grados.
  4. */
  5. #include<stdio.h>
  6.  
  7. main () {
  8.    float temp_c, temp_f;
  9.  
  10.    printf ("Entra el valor de la temperatura en Celsius: ");
  11.  
  12.    scanf ("%f", &temp_c);
  13.  
  14.    temp_f = (1.8 * temp_c) + 32;
  15.  
  16.    printf ("El valor de la temperatura en Fahreinheit es: %.2f\n", temp_f);
  17.  
  18. }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Bueno, este es muy sencillo:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. #
  3. #    Para convertir de Fahrenheit a Celsius, restamos 32 grados y dividimos por 1.8.
  4. #    Para convertir de Celsius a Fahrenheit, multiplicamos 1.8 y sumamos 32 grados.
  5. #
  6.  
  7. package main {
  8.     my($temp_c, $temp_f);
  9.  
  10.     printf ("Entra el valor de la temperatura en Celsius: ");
  11.  
  12.     $temp_c = readline();
  13.  
  14.     $temp_f = (1.8 * $temp_c) + 32;
  15.  
  16.     printf ("El valor de la temperatura en Fahreinheit es: %.2f\n", $temp_f);
  17.  
  18. };
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 33 invitados