我在 Google App Engine 文档上看到http://www.antlr.org/ Antlr3 被用作解析第三方库。
但据我所知,Pyparsing 似乎更容易使用,我的目标只是解析一些简单的语法。
有替代方案吗?我可以在 App Engine 上使用 pyparsing 吗?
我在 Google App Engine 文档上看到http://www.antlr.org/ Antlr3 被用作解析第三方库。
但据我所知,Pyparsing 似乎更容易使用,我的目标只是解析一些简单的语法。
有替代方案吗?我可以在 App Engine 上使用 pyparsing 吗?
为了这个目的,Pyparsing 的运行时占用空间故意很小。它是一个单一的源文件 pyparsing.py,所以只需将它放在您自己的源文件中并解析即可!
——保罗
“就这么做”!-) 获取 pyparsing.py,例如从这里,并将其放入您的应用程序引擎应用程序的目录中;现在您可以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 )
handlers:
在两行下方添加到您的 app.yaml中:
- url: /parshello
script: greeting.py
启动您的应用程序,访问http://localhost:8083/parshello
(或您正在运行的任何端口;-),您将在浏览器中看到纯文本输出:
Hello, World! -> ['Hello', ',', 'World', '!']