Javascript лексер / токенизатор (в Python?) - PullRequest
1 голос
/ 04 января 2010

Кто-нибудь знает о лексическом анализаторе или токенизаторе Javascript (предпочтительно на Python?)

По сути, учитывая произвольный файл Javascript, я хочу получить токены.

, например

foo = 1

становится чем-то вроде:

  1. имя переменной: "foo"
  2. пробельные
  3. оператор: равно
  4. пробельные
  5. целое число: 1

1 Ответ

2 голосов
/ 05 января 2010

http://code.google.com/p/pynarcissus/ имеет один.

Также я сделал один, но он не поддерживает автоматическую вставку точек с запятой, поэтому для javascript довольно бесполезно, что вы не можете контролировать (как почти всю реальную жизнь)javascript-программам не хватает хотя бы одной точки с запятой) :) Вот мое:

http://bitbucket.org/santagada/jaspyon/src/tip/jaspyon/

грамматика находится в jsgrammar.txt, она анализируется библиотекой парсинга PyPy (которая у вас будетзагрузить и извлечь из источника pypy) и создать дерево разбора, которое я хожу по astbuilder.py

Но если у вас нет проблем с лицензированием, я бы пошел с pynarcissus.Вот прямая ссылка, чтобы посмотреть на код (перенесен из нарцисса):

http://code.google.com/p/pynarcissus/source/browse/trunk/jsparser.py

...