Skip to content
forked from LiXiaYu/mate2d

给c++的宏替换器,第二版d方案

Notifications You must be signed in to change notification settings

hi60year/mate2d

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mate

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++代码

@艹 @$ 这里是正常的c++ $@

CPP中使用

在c++中使用时,请使用`()`将内容括起来

About

给c++的宏替换器,第二版d方案

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 77.4%
  • ANTLR 22.6%