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

Сообщение от cyber Посмотреть сообщение
слушай, а расскажи как ты парсер js писал, как он работает?
Библиотеки для работы с JS: парсинг, валидация, преобразование в AST и обратно в код:

esprima + estools;

babel (babylon);

acorn

Библиотеки для написания парсеров:

jison (аналог Bison, его использует CoffeeScript)

bison

***

Если интересует сам принцип парсинга - то это посимвольный обход строки и формирование последовательностей токенов (лексем), затем на основе лексем строится AST, в котором учитываются приоритеты операторов, уровни вложенности и т.д. Затем работа идёт с АСТ, а после всех преобразований из АСТ мы генерим нужный нам код (будь то js, байткод, LLVM и т.д.).

Хотя это примитивное описание, т.к. алгоритмов парсинга и построения AST существует несколько, например низходящий или восходящий и т.д. Для уточнения этих нюансов лучше читать специальную литературу
__________________
kobezzza
code monkey
Ответить с цитированием