Объясните, как работает Jint - PullRequest
4 голосов
/ 17 мая 2011

Я хотел бы понять, как работает Jint , JavaScript Intrepreter, написанный на C #.В частности:

  1. Как он использует Antlr?
  2. Какие части, если таковые имеются, или этот проект являются новыми, и какие части представляют порт существующего JS Intrepreter для C #.NET?
  3. В общем, как можно написать Javascript Intrepreter на C #?Например, что там уже с точки зрения технологии и кода, и что вы должны написать сами?
  4. Что было бы самым сложным в написании интерпретатора JS?

Ответы [ 2 ]

11 голосов
/ 19 сентября 2011

Я являюсь автором Jint , и перед разработкой я написал статью о методах, которые используются в Jint. Это было для другого проекта, но это точно такая же архитектура.

Статья: Современная оценка выражения

Описывает инструмент, который также находится в codeplex, NCalc

1 голос
/ 17 мая 2011
  1. Посмотрите на страницу CodePlex, там написано, что она ее использует.
  2. Ничто на самом деле не ново, они просто пишут интерпретатор Javascript.
  3. См. это
  4. На самом деле, пишем, получаем рекурсию на работу, заставляем работать объектную модель и т. Д. И, конечно же, просто правильно отключить всех операторов.
...