最近在做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。有点太复杂了觉得。。。