最近在做Shader的編譯器。
想好了我的編譯器就叫SASL,SoftArt Shader Language。
因為之前沒寫過EBNF,沒什么經驗,因此找了C和C++的EBNF在參考。
特別是C的EBNF。
因為可以用LALR(1)實現,因此對我這樣用LEX + YACC的人而言就更加有用一點。
整體而言準備盡可能和SM4.0一致,用Boost.Wave支持Preprocessing。
這樣的話差不多就全了。這兩天先把Shader的EBNF弄出來,完了開始從小往大寫慢慢寫語法分析器和編譯器。
http://www.externsoft.ch/download/cpp-iso.html這里是C++的EBNF。有點太復雜了覺得。。。