Какие существуют инструменты для разбора Javascript и чтения результатов в Javascript или Ruby? - PullRequest
3 голосов
/ 15 ноября 2010

Я хотел бы сделать некоторый анализ кода Javascript. Я бы предпочел работать на AST с или S-Expression с. Конечно, возможно, что движок V8 создает это, хотя я не могу найти никакой документации о том, как получить доступ к этой информации из контекста Javascript.

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

Ответы [ 3 ]

4 голосов
/ 15 ноября 2010

Если вы хотите использовать Ruby, вам не нужно реализовывать его самостоятельно, потому что Аарон Паттерсон из nokogiri славы уже сделал это в rkelly .

3 голосов
/ 15 ноября 2010

Проверить UglifyJS: https://github.com/mishoo/UglifyJS

2 голосов
/ 15 ноября 2010

Наш инструментарий реинжиниринга программного обеспечения DMS способен анализировать ECMAScript (даже встроенный в теги HTML-скриптов или атрибуты ONxxx) и создавать AST. Вы можете определить свои собственные процедуры анализа, использовать шаблоны исходного уровня для распознавания кода или преобразования кода; они манипулируют AST. После преобразования вы можете восстановить действительный исходный текст, включая комментарии. Вы можете экспортировать AST на другой язык в виде XML, если хотите, но DMS содержит так много полезных механизмов для поддержки анализа и преобразования программ, что я считаю, что искушение исчезнет, ​​если вы внимательно посмотрите.

DMS работает и для множества других языков.

...