我想讀一個Java源文件然後找出它所有的Java關鍵字,標識符和運營商,以確定在Java代碼的Java關鍵字,運算符和評論。我試圖聲明數組中的所有關鍵字和運算符,然後檢查該TT_word是否包含它。但是我無法識別標識符,高度讚賞示例。如何使用流標記化
如何使用流標記化
回答
您將需要查看一些詞法分析器或解析器解決方案。與一些已有的解決方案相比,自己寫這篇文章將會非常痛苦 - 如果您還想自己寫 - 請隨時發表評論,我會留下關於如何入門的詳細解答。不過,我會建議看看像ANTLR。
String [] keywordArray = {「this」,「protected」,「public」,「return」,「try」,「static」,「while」,「throw」,「throws」,「void」,「for」 , 「抽象」, 「新」, 「開關」, 「同步」, 「布爾」, 「破發」, 「字節」, 「案例」, 「捕捉」, 「炭」, 「類」, 「做」,」如果」, 「雙」, 「其他」, 「擴展」, 「最後」, 「終於」, 「浮動」, 「私人」, 「實施」, 「進口」, 「的instanceof」, 「INT」, 「短」 「長」, 「超級」}; String [] operatorArray = {「==」,「!=」,「=」,「+」,「 - 」,「/」,「%」,「*」,「++」,「 - 」 ,「>」,「>」,「> =」,「<」,「<=」,「&&」,「||」,「?:」,「〜」,「<<",">>」,「>>> 」, 「&」, 「^」, 「|」}; (關鍵字是:「+ st.sval +」在行號:「+ st.lineno());如果(關鍵字列表.contains(st.sval)){ – f1r3wall
ase StreamTokenizer.TT_WORD: if } – f1r3wall
如果你有更好的方法 - 我鼓勵你發佈你自己的答案@ f1r3wall –
PMD *解析*? Lexes,也許吧。 –
- 1. 如何使用Node.js對標記進行標記化?
- 2. 如何使用vlan id標記傳出流量
- 3. 如何使用輸入流標記和復位功能?
- 4. 使用流星插入HTML標記
- 5. 如何使用oAuth標記
- 6. 如何使用錨標記
- 7. 如何使用img標記
- 8. 如何使用mvc:resources標記
- 9. 如何使用錨標記
- 10. 如何使用錨標記
- 11. 如何使用PHP標記li標記之前的span標記?
- 12. 如何使用Python記錄實時流?
- 13. 如何使用ffmpeg記錄音頻流?
- 14. 如何使用JMeter記錄視頻流?
- 15. 如何優化流水線,弱類型遊標的使用
- 16. 在Python中,如何使用標記化輸入(例如C++)?
- 17. 如何使用gephi流化泰坦圖?
- 18. 如何使用部分標記與化妝角JS它響應
- 19. 如何使用Form標記,html格式化按鈕?
- 20. 如何使用s格式化jsf標記:formattedText
- 21. 如何使用uglifyjs最小化玉腳本標記?
- 22. 如何使用ggplot2標記LOESS曲線中的斜率變化?
- 23. 如何使用HTML5代碼標記來美化代碼
- 24. 如何使用react-intl格式化標記(鏈接)?
- 25. 標記化字符串中使用STL
- 26. 使用中的elisp的標記化
- 27. 使用python標記化電子郵件
- 28. 使用ASP.Net標記Eval格式化(僅)
- 29. 斯坦福POS機標記器如何完成標記化?
- 30. 如何實現XSLT標記化函數?
發表您的代碼! –
聽起來像你想寫一個Java詞法分析器。 –
您將要編寫一個解析器/詞法分析器,或使用現有的解析器/詞法分析器。你[已發佈](http://stackoverflow.com/questions/17999979/how-to-write-a-java-program-to-identify-keywords-operators-and-identifiers-in-a)另一個類似的問題一天,所以這看起來非常像您正在使用的編譯器課程。因此,我懷疑你*不能*使用現有的,並且必須自己寫一個。這是你的功課,如果你不自己做,你就不會學到任何東西。也許你的課程期望你使用ANTLR,這對於這樣的班級來說很普遍?但只有你知道。 – jason