Существует ли компилятор собственного машинного кода для JavaScript? [закрытый]

Используйте замену Environment.NewLine

myString = myString.Replace(System.Environment.NewLine, "replacement text")

, Как упомянуто в других сообщениях, если бы строка прибывает из другой среды (ОС) тогда, необходимо было бы заменить ту конкретную реализацию сред управляющие символы новой строки .

42
задан Deduplicator 27 July 2015 в 22:40
поделиться

4 ответа

Насколько мне известно, статических компиляторов для JavaScript не существует. Конечно, теоретически это возможно; однако статическая компиляция JavaScript потребует очень тяжелой среды выполнения для поддержки всех ее функций (таких как динамическая типизация и eval). Небольшое отступление: когда возникла необходимость статической компиляции Python (другого динамического языка), разработчики PyPy в конечном итоге создали язык, который был очень ограниченным подмножеством Python (так называемый RPython), лишенный некоторых из более динамических функций Python, которые можно было статически компилировать.

Если вы спрашиваете об этом с целью создания автономного исполняемого файла из кода JavaScript, я уверен, что должны быть оболочки, которые, по сути, создавали бы исполняемый файл, содержащий ваш скрипт и встроенная виртуальная машина JavaScript (к сожалению,

29
ответ дан 26 November 2019 в 23:46
поделиться

Это определенно выполнимо, хотя единственный способ, которым я знаю, как это сделать на данный момент, - это двухэтапный процесс ...

  1. Скомпилируйте javascript в Java с помощью Mozilla Rhino JSC .
  2. Скомпилируйте полученный файл класса java в исполняемый файл, используя что-то вроде GNU GCJ .

Но зачем вам это? Какое преимущество вы ожидаете найти?

26
ответ дан 26 November 2019 в 23:46
поделиться

Теоретически это возможно, но будет много задействованного багажа поддержки времени выполнения (и даже полного компилятора или интерпретатора Javascript для поддержки eval ).

Вы ищете настоящий компилятор собственного кода или что-то, что может связать код Javascript вместе с со средой выполнения в один исполняемый двоичный файл?

2
ответ дан 26 November 2019 в 23:46
поделиться

TraceMonkey в FF3.5 делает это с некоторыми частями кода javascript. Возможно, вы сможете проложить маршрут оттуда!

1
ответ дан 26 November 2019 в 23:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: