chrysanthemum詞法/語(yǔ)法分析框架
chrysanthemum (中文名“菊花”)是一個(gè)由C++寫(xiě)成的小巧靈活、高度可伸縮、模塊化、高性能的詞法/語(yǔ)法分析框架。
chrysanthemum 是一個(gè)純模板庫(kù),包含頭文件即可使用,且無(wú)任何第三方依賴。
chrysanthemum 不同于YACC和ANLTR等詞法/語(yǔ)法分析工具(根據(jù)文法文件生成解析器代碼),它是一個(gè)純模板庫(kù),利用
C++的表達(dá)式模板,模板元編程等技術(shù),使用一系列簡(jiǎn)介、小巧、靈活的核心類,自動(dòng)推導(dǎo)并構(gòu)建出任意復(fù)雜的文本解析對(duì)象,
而且chrysanthemum 允許靈活的嵌入C++函數(shù)對(duì)象作為語(yǔ)義動(dòng)作,因此具有很好的靈活性和伸縮性。
chrysanthemum 能夠極大的簡(jiǎn)化語(yǔ)法分析器的編寫(xiě)工作,使用戶可以在C++環(huán)境中“書(shū)寫(xiě)”BNF范式從而
快速的構(gòu)造出對(duì)應(yīng)的詞法/文法分析器。同時(shí)chrysanthemum盡最大努力保證分析器的性能,力求達(dá)到
近似于純手工代碼的效率。
chrysanthemum 大量使用使用表達(dá)式模板技術(shù)、模板元編程、C++0X新標(biāo)準(zhǔn) 和 函數(shù)式編程思想。
注意:編譯時(shí)請(qǐng)加上 -std=c++0x 或 -std=c++11 參數(shù)以打開(kāi)C++0X支持.
評(píng)論
圖片
表情
