1

我在 Google App Engine 文档上看到http://www.antlr.org/ Antlr3 被用作解析第三方库。

但据我所知,Pyparsing 似乎更容易使用,我的目标只是解析一些简单的语法。

有替代方案吗?我可以在 App Engine 上使用 pyparsing 吗?

4

2 回答 2

4

为了这个目的,Pyparsing 的运行时占用空间故意很小。它是一个单一的源文件 pyparsing.py,所以只需将它放在您自己的源文件中并解析即可!

——保罗

于 2009-08-29T13:29:24.550 回答
1

“就这么做”!-) 获取 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', '!']
于 2009-08-27T15:27:32.003 回答