Есть ли интерпретатор с открытым исходным кодом для JavaScript? - PullRequest
6 голосов
/ 23 июля 2011

Является ли JavaScript языком программирования с открытым исходным кодом? Я хочу знать, как работают некоторые объекты и методы.

Я имею в виду, компилятор, интерпретатор или анализатор для JavaScript с открытым исходным кодом?

Ответы [ 3 ]

9 голосов
/ 23 июля 2011

Существует множество JavaScript-движков с открытым исходным кодом ( V8 , Rhino и SpiderMonkey *), а также реализации с закрытым исходным кодом (я предполагаю, что независимо от Operaи использование Microsoft не является открытым исходным кодом).

Язык довольно тесно основан на спецификации ECMAScript , которая находится в свободном доступе.

2 голосов
/ 23 июля 2011

Что вы подразумеваете под открытым исходным кодом?

JavaScript интерпретируется браузером и зависит от поставщика и разработчика, какой движок он использует.Некоторые из популярных движков перечислены в Список движков ECMAScript .

0 голосов
/ 20 июля 2015

В дополнение к ответу, приведенному выше, существует также реализация с открытым исходным кодом .NET для JavaScript : ее имя Jurassic и она доступна в CodePlex:

http://jurassic.codeplex.com/

Примеры:

  1. Выполнить выражение:

    var engine = new Jurassic.ScriptEngine();

    Console.WriteLine(engine.Evaluate<int>("1.5 + 2.4"));

  2. Выполнить скрипт:

    var engine = new Jurassic.ScriptEngine();

    engine.ExecuteFile(@"c:\test.js");

Особенности версии 2.2 (взято с веб-сайта):

  • Поддерживает все функции ECMAScript 3 и ECMAScript 5, включая строгий режим ES5
  • Простой, но мощный API
  • Компилирует JavaScript в байт-код .NET (CIL);не интерпретатор
  • Развернуто как одна сборка .NET (без встроенного кода)
  • Базовая поддержка интегрированной отладки в Visual Studio
  • Используется облегченная генерация кода, сгенерированная таким образомкод полностью мусор
  • Протестировано на .NET 3.5, .NET 4 и Silverlight
...