Вопрос

Я видел в документации Google App Engine, что http://www.antlr.org/ Antlr3 используется в качестве библиотеки стороннего синтаксического анализа.

Но из того, что я знаю, Pyparsing кажется более простым в использовании, и я всего лишь стремлюсь разобрать некоторый простой синтаксис.

Есть ли альтернатива?Могу ли я заставить pyparsing работать в движке приложений?

Это было полезно?

Решение

"Просто сделай это"!-) Получаем pyparsing.py, напримерОт здесь, и поместите его в каталог вашего приложения App engine;теперь вы можете просто import pyparsing в коде вашего приложения и используйте его.

Например, измените greeting.py из здесь быть:

from pyparsing import Word, alphas
greet = Word( alphas ) + "," + Word( alphas ) + "!" # <-- grammar defined here
hello = "Hello, World!"
print "Content-type: text/plain\n"
print hello, "->", greet.parseString( hello )

добавьте в свое приложение.yaml прямо под handlers: две линии:

- url: /parshello
  script: greeting.py

запустите свое приложение, посетите http://localhost:8083/parshello (или на каком бы порту вы ни работали;-), и вы увидите в своем браузере вывод обычного текста:

Hello, World! -> ['Hello', ',', 'World', '!']

Другие советы

Объем времени выполнения Pyparsing намеренно мал именно для этой цели.Это один исходный файл, pyparsing.py , так что просто поместите его среди ваших собственных исходных файлов и разбирайте!

-- Пол

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top