mate2d
使用antlr
使用@开头
@ [macro] @$ [cpp-code] $@
marco中一个反引号(`) 后面跟的是会被替换掉的名字,两个反引号(``)后面跟的是会被用来识别的符号,当成运算符
@$ [cpp-code] $@中的[cpp-code]用于替换将要被替换的部分[macro]
例如:
@`a ``♂ `b @$ `a += `b $@
auto c=`(foo<std::string>(a+a))`♂`(b)`;
被替换为
auto c=foo<std::string>(a+a) += b;c++代码被写在*.mate文件中
在c++中使用时,请使用`(与)`将内容括起来
命令行帮助使用-help
-mate后面跟mate文件
-matelib后面跟替换规则所在的文件,可以跟多个,将会被合并起来一起作用于mate文件的替换
-cpp后面跟要生成的cpp文件名,不加这个参数的话,会在-mate文件名字后面加.cpp
例如: -mate test1.mate -matelib test1_0.matelib test1_1.matelib -cpp test1.cpp