2012-02-22 4 views
1

CoffeeScript преобразуется в JavaScript, Groovy на Java.Есть ли язык, который разработан с односторонним переводом на более чем один другой популярный язык?

Есть ли язык, который был предназначен для преобразования его функций на несколько языков?

Можно написать строковые манипуляции или генерации фрагмента HTML, которые могут быть использованы в качестве библиотеки, но если аналогичное требование найдено на другом языке, функции этой библиотеки необходимо будет перевести.

Есть ли такой язык, который включает в себя две или более цели перевода?

Меня больше всего интересуют Java, JavaScript, Perl.

Мне был бы интересен C/C++, но только если есть меры предосторожности для предотвращения создания уязвимостей переполнения буфера.

+0

Не ответ, но что-то, что я нахожу интересным - PLiX (язык программирования в XML), который может быть использован для создания Visual Basic, C# и PHP и имеет открытую архитектуру для создания генераторов для других языков: http: //sourceforge.net/projects/plix/ –

ответ

4

Как насчет Haxe? C++, Flash, JavaScript и многое другое.

+0

Haxe является одним из многих языков, которые могут быть переведены в другие, используя [источник-источник-компилятор] (https://en.wikipedia.org/wiki/Source-to-source_compiler). –

0

UML - унифицированный язык моделирования, имеет несколько инструментов, которые могут быть переведены на C++, Java и другие. Однако это не «язык», как C или Java. Это все диаграммы.

Я не знаю многого о других языках, но байт-код Java, когда скомпилированный с правильными флагами в javac, содержит отладочную информацию, такую ​​как номера строк, имена переменных и (я думаю) комментарии. Unobfuscated байт-код Java может быть декомпилирован в довольно читаемый исходный код.

+0

Если он скомпилирован в байт-код Java вместо исходного кода, это будет хорошо для Java. –

0

Я думаю, что вы ищете LLVM. Кроме того, могут иметь значение this similar question.

+0

Было бы полезно, если бы вы уточнили. На домашней странице не ясно, что это позволяет писать на одном языке и заканчивать код на два или более. В нем перечислены 11 проектов в рамках LLVM. –

Смежные вопросы