我有一些合理的(未混淆的)Perl源文件,並且我需要一個標記器,它將它分割爲標記,並返回它們每一個的標記類型,例如,爲腳本如何標記Perl源代碼?
print "Hello, World!\n";
它將返回是這樣的:
- 關鍵字5個字節
- 空白1個字節
- 雙引號串17個字節
- 分號1字節
- 空白1字節
這是最好的庫(最好用Perl編寫)嗎?它必須是合理正確的,即它應該能夠解析像qq{{\}}}
這樣的句法結構,但它不必知道像Lingua::Romana::Perligata這樣的特殊解析器。我知道,解析Perl是圖靈完成的,只有Perl本身可以做到這一點,但我不需要絕對正確:標記器可能會失敗或不兼容,或者在一些非常罕見的角落案例中假設一些默認值,但它應該工作正確的大部分時間。它必須比內置在普通文本編輯器中的語法高亮更好。
FYI我試過PerlLexer在pygments,這對於大多數結構,工作原理合理但它無法找到在這一個第二print
關鍵字:
print length(<<"END"); print "\n";
String
END
+1有趣的回答 – Dacav 2011-12-19 10:49:43