Показать сообщение отдельно
  #654 (permalink)  
Старый 06.01.2015, 11:37
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
как по спецификации ecmascript написать транслятор javascript, а то я не очень это себе представляю
Тут 2 пути:

1) Не правильный: на регулярках реплейсишь синтаксис и преобразуешь его в нужный, например, так работает мой костыль https://github.com/kobezzza/NeJS (зато я написал его за вечер, уж очень хотелось юзать ES6 фичи) По похожему принципу работает движок макросов http://sweetjs.org/

2) Правильный: строишь AST по исходному коду (для этого уже также написано много либ, например, Accorn или Esprima), работаешь с ним, а потом преобразуешь его в конечный код.

Самый лучший на данный момент транслятор - это https://github.com/6to5/6to5, поэтому всем рекомендую юзать именно его.

***

Если рассматривать мой https://github.com/kobezzza/Snakeskin, то он реализует препроцессор в виде конечного автомата.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 06.01.2015 в 11:46.
Ответить с цитированием