Языки, которые интерпретируют вплоть до Javascript? - PullRequest
10 голосов
/ 11 декабря 2010

Другой пост подверг сомнению, насколько практично компилировать языки в Javascript. Помимо практичности, какие переводчики переводят с некоторого языка X на Javascript и были реализованы в Javascript? Меня особенно интересуют случаи, когда X не был разработан с целью нацеливания на Javascript. Даже если переводчик еще не закончил, я бы хотел об этом услышать.

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

Одним из вариантов использования этих переводчиков является модель для преподавания и изучения языков программирования. Подумайте, насколько полезно иметь интерпретатор Javascript в интерактивной книге Eloquent Javascript . Конечно, производительность компиляции может быть снижена, но в некоторых ситуациях стоимость, безусловно, того стоит. И да, я понимаю, что всегда есть возможность полагаться на сервер для компиляции или интерпретации кода, но меня особенно интересуют подходы на стороне клиента.

<Ч />

ОБНОВЛЕНИЕ : Многие ответы включают ссылки на компиляторы, которые не были реализованы в Javascript. Я просто хочу подчеркнуть, что сам интерпретатор должен быть реализован в Javascript, чтобы и он, и код исходного языка могли работать в браузере на компьютере вашего деда.

Ответы [ 7 ]

6 голосов
/ 11 декабря 2010

CoffeeScript - это язык программирования, который компилируется в JavaScript.

4 голосов
/ 11 декабря 2010
  • Objective-J - это язык, который в основном берет "Objective" часть Objective-C и склеивает ее в ECMAScript
  • Clamato являетсяВдохновленный Smalltalk язык для веб-сценариев на стороне клиента

См. Также этот вопрос: Существуют ли другие языки, кроме Objective-J, которые компилируются в JavaScript в браузере?1013 *

4 голосов
/ 11 декабря 2010

Сообщество Wiki, давайте разберемся с этим: -)

jsc - перекомпилируется из CIL (CIL скомпилирован из VB.NET, C # и т.* Script # - компилируется из C # (исходный код).

GWT: Google Web Toolkit - компилируется из Java.

Emscripten - компилируется из LLVM.Должен быть в состоянии работать (Язык X) -> LLVM-> JavaScript, минус проблемы, где в Языке X есть компилятор LLVM.

2 голосов
/ 11 декабря 2010

несколько более-менее игрушечных переводчиков в чистом JavaScript

и, конечно, обязательный

1 голос
/ 07 января 2011
1 голос
/ 11 декабря 2010

j2js компилирует байт-код Java в Javascript (например, Java, Scala и т. Д.).

0 голосов
/ 11 декабря 2010

Пижама может компилировать Python в JavaScript.Это перевод по типу сервера;Пижама еще не использовалась для компиляции, поэтому нет интерпретатора JavaScript Python.

...