2012-10-16 69 views
0

我可以找到反向的信息負載,與其說這周圍的方式:)解析Python代碼從C++

因此,總結是,我想寫一些Python代碼完成的東西在C++中,但我無法弄清楚標記Python代碼的最佳方式。

是否有任何圖書館會這樣做?

我傾向於直接從C++調用Python的tokenize.tokenize ...但是每當我看着從C++調用Python代碼時,我都會睜大眼睛。

+1

你有沒有簽出[Boost.python](http://www.boost.org/doc/libs/1_51_0/libs/python/doc/index.html)? –

+1

由於其動態特性,Python代碼完成支持非常有限。試圖用C++來做到這一點,你正在爲自己的世界感到痛苦。 –

回答

3

使用常規的分析器生成器從語法中生成分析器通常與Python相結合(例如,由於其顯着的空白和困難的行延續規則)。

我不確定你對Python的使用經驗,但我的建議是從Python解析Python文件,並儘可能在Python中進行處理,然後將結果返回到C++代碼,定義的數據類型(如stdC++的)和使用Boost.python進行綁定。