Языки, которые интерпретируют Javascript?
Другое сообщение поставил под вопрос, насколько практично это компилировать языки в Javascript. Практичность в стороне, какие переводчики переводят с некоторого языка X на Javascript и были реализованы в Javascript? Меня особенно интересуют случаи, когда X не был разработан с целью нацеливания на Javascript. Даже если интерпретатор не полностью закончен, я хотел бы услышать об этом.
Вам может быть интересно узнать о мотивации этого вопроса. Javascript, конечно же, не может использовать столько возможностей, как ассемблер, но гибкость для распространения и исполнения кода иногда может перевесить эту стоимость.
Одним из вариантов использования этих интерпретаторов является модель обучения и обучения языкам программирования. Подумайте, насколько полезно иметь переводчик Javascript в интерактивной книге Eloquent Javascript. Несомненно, может произойти поражение производительности при компиляции его изначально, но в некоторых ситуациях стоимость, безусловно, стоит того. И да, я понимаю, что всегда есть возможность полагаться на сервер для компиляции или интерпретации кода, но меня особенно интересуют клиентские подходы.
UPDATE: много ответов содержат ссылки на компиляторы, которые не были реализованы в Javascript. Я просто хочу подчеркнуть, что сам интерпретатор должен быть реализован в Javascript, чтобы и он, и код исходного языка могли запускаться в браузере на вашем бабушке дедушки.
Ответы
Ответ 1
- Objective-J - это язык, который в основном принимает "Objective" часть Objective-C и привязывает его к ECMAScript
- Clamato - это язык, основанный на Smalltalk для клиентских веб-скриптов.
Смотрите также этот вопрос: Существуют ли другие языки, кроме Objective-J, которые "скомпилированы" для JavaScript в браузере?
Ответ 2
CoffeeScript - это язык программирования, который компилируется на JavaScript.
Ответ 3
Сообщество Wiki, разрешите это: -)
jsc - перекомпилирует из CIL (CIL, скомпилированный из VB.NET, С# и т.д.)
Script # - компилируется из С# (исходный код).
GWT: Google Web Toolkit - компилируется с Java.
Emscripten - компилируется из LLVM. Должен иметь возможность работать (язык X) → LLVM- > JavaScript, минус проблемы, когда Language X имеет компилятор LLVM.
Ответ 4
несколько более или менее игрушечных интерпретаторов в чистом javascript
и, конечно, обязательный
Ответ 5
j2js компилирует байт-код Java в Javascript (например, Java, Scala и т.д.).
Ответ 6
Список языков, которые компилируются в JS
Ответ 7
Пижамы могут скомпилировать Python для JavaScript. Это перевод серверного типа; Пижама еще не была использована для компиляции, поэтому нет интерпретатора JavaScript Python.