最近在做Shader的編譯器。
想好了我的編譯器就叫SASL,SoftArt Shader Language。
因?yàn)橹皼]寫過EBNF,沒什么經(jīng)驗(yàn),因此找了C和C++的EBNF在參考。
特別是C的EBNF。
因?yàn)榭梢杂肔ALR(1)實(shí)現(xiàn),因此對(duì)我這樣用LEX + YACC的人而言就更加有用一點(diǎn)。
整體而言準(zhǔn)備盡可能和SM4.0一致,用Boost.Wave支持Preprocessing。
這樣的話差不多就全了。這兩天先把Shader的EBNF弄出來,完了開始從小往大寫慢慢寫語法分析器和編譯器。
http://www.externsoft.ch/download/cpp-iso.html這里是C++的EBNF。有點(diǎn)太復(fù)雜了覺得。。。