努力尋找標記化腳本的Python庫(查找特定的標記,如函數定義名稱,變量名稱,關鍵字等)。在Python中用於C++的簡單標記器
我已經設法使用像this這樣的東西找到關鍵字,空格等,但我發現它是函數/類定義名稱等相當大的挑戰。我希望使用一個預先存在的腳本;我探索Pygments沒有成功。其lexer似乎令人驚訝的是我想要的,但不知道如何在Python中使用它,並且還爲每個找到的令牌獲得位置。
比如我期待在做這樣的事情:從源代碼
int fac(int n)
{
return (n>1) ? n∗fac(n−1) : 1;
}
上面我想獲得:
函數名: 'FAC' 的位置(X,Y ) 變量名: 'n' 個在位置(X,Y + 8)
EDITED: 任何建議將自我可以理解我在黑暗中關於C++中的標記和解析?
你是否在談論「函數/類定義」,因爲在識別它們的語法?如果是這樣,這基本上是一個不適合於標記器的問題,並且您需要一些可以處理無環境語法的東西,即解析器 –
[Python中的標記器與Pygments的]可能的重複(http://stackoverflow.com/questions/36801263 /分詞器與 - Pygments來做合蟒)。你幾分鐘前問過這個問題! – ChrisP
@ChrisP我試圖擴展它,並將其與我之前的問題區分開來,因爲現在我詳細介紹了另一種更通用的(可能)路由。 –