Supongo que hoy no existe ninguna herramienta de conversión de código fuente (C a Go). Puede considerar hacer su propio convertidor. La pregunta es: ¿vale la pena y cómo hacerlo?
Probablemente no valga la pena el esfuerzo, porque Go y C podrían ser de alguna manera interoperables. Por ejemplo, si usa el GCC 4.6 (o será lanzado 4.7, es decir, la última instantánea), probablemente pueda vincular el código C & Go together, con un poco de cuidado.
Por supuesto, como de costumbre, el mal está en los detalles.
Si desea un convertidor, ¿desea que el código Go obtenido sea legible y editable (entonces la tarea es más difícil, ya que desea mantener la estructura del código, y también desea conservar los comentarios?)? En ese caso, probablemente necesite su propio analizador C (y es una tarea difícil).
Si no le importa la legibilidad del código Go generado, podría, por ejemplo, extender un compilador existente para hacer el trabajo. Por ejemplo, GCC es extensible a través de complementos o extensiones MELT, y puede personalizar GCC (con MELT o su propio complemento C para GCC) para transformar la representación de Gimple (la representación interna principal de las instrucciones dentro de GCC) en código Ir ilegible. Esto es de alguna manera más simple (pero todavía requiere más de una semana de trabajo).
Por supuesto, las interfaces Go, los canales e incluso la gestión de memoria (memoria recolectada) no tienen contraparte C estándar.
no he visto una herramienta que cumpla sus requisitos, y esto suena más como una solicitud para que uno escrito para usted, tal vez no realmente un partido para este sitio. –
@JoachimIsaksson Ya existen preguntas como "C a Java" o "C a Perl". Esta pregunta no es diferente. –
¿Por qué lo preguntas? ¿No será más sencillo mezclar el código C & Go? (GCC 4.7 tiene un front-end de Go -toy imperfecto-, por lo que a veces es posible) –