黒字が実行前、赤字が実行後です。
//------------------------------------------------------------------------------
// sample if
//------------------------------------------------------------------------------
#define test 0
#define test2 0
#define test3 0
#if test==0
#if test2==0
#if test3==0
$v000 = 0;
#else
$v001 = 0;
#endif
#else
#if test3==0
$v002 = 0;
#else
$v003 = 0;
#endif
#endif
#else
#if test2==0
#if test3==0
$v004 = 0;
#else
$v005 = 0;
#endif
#else
#if test3==0
$v006 = 0;
#else
$v007 = 0;
#endif
#endif
#endif
#if test==0
//@ $v000 = 0;
#else
//@ $v001 = 0;
#endif
//#define test 0
//#define test2 0
//#define test3 0
//#if test==0
// #if test2==0
// #if test3==0
$v000 = 0;
// #else
// $v001 = 0;
// #endif
// #else
// #if test3==0
// $v002 = 0;
// #else
// $v003 = 0;
// #endif
// #endif
//#else
// #if test2==0
// #if test3==0
// $v004 = 0;
// #else
// $v005 = 0;
// #endif
// #else
// #if test3==0
// $v006 = 0;
// #else
// $v007 = 0;
// #endif
// #endif
//#endif
//#if test==0
$v000 = 0;
//#else
////@ $v001 = 0;
//#endif
//------------------------------------------------------------------------------
// sample switch
//------------------------------------------------------------------------------
#define s_test 1
#dbgout s_test
#switch s_test
#case 0
#define s_test2 0
#break
#case 1
#define s_test2 1
#break
#case 2
#define s_test2 0
#break
#case 3
#define s_test2 1
#break
#case 4
#define s_test2 0
#break
#case 5
#define s_test2 1
#break
#endswitch
#dbgout s_test2
#if s_test2==0
$v000 = 0;
#else
$v001 = 0;
#endif
#define s_test2 0
#dbgout s_test2
#if s_test2==0
$v000 = 0;
#else
$v001 = 0;
#endif
//#define s_test 1
//#dbgout s_test = 1
//#switch s_test
// #case 0
// #define s_test2 0
// #break
// #case 1
// #define s_test2 1
// #break
// #case 2
// #define s_test2 0
// #break
// #case 3
// #define s_test2 1
// #break
// #case 4
// #define s_test2 0
// #break
// #case 5
// #define s_test2 1
// #break
//#endswitch
//#dbgout s_test2 = 1
//#if s_test2==0
// $v000 = 0;
//#else
$v001 = 0;
//#endif
//#define s_test2 0
//#dbgout s_test2 = 0
//#if s_test2==0
$v000 = 0;
//#else
// $v001 = 0;
//#endif
//------------------------------------------------------------------------------
// sample switch2 case~break -> cb
//------------------------------------------------------------------------------
#define s_test 1
#switch s_test
#cb 0 #define s_test2 2
#cb 1 #define s_test2 3
#cb 2 #define s_test2 2
#cb 3 #define s_test2 3
#cb 4 #define s_test2 2
#cb 5 #define s_test2 3
#endswitch
#dbgout s_test2
//#define s_test 1
//#switch s_test
// #cb 0 #define s_test2 2
// #define s_test2 3
// #cb 2 #define s_test2 2
// #cb 3 #define s_test2 3
// #cb 4 #define s_test2 2
// #cb 5 #define s_test2 3
//#endswitch
//#dbgout s_test2 = 3
//------------------------------------------------------------------------------
// sample complex
//------------------------------------------------------------------------------
#define c_test 1
#define c_test2 1
#switch c_test
#case 0
#if c_test2==0
#define c_test3 0
#else
#define c_test3 00
#endif
#break
#case 1
#if c_test2==0
#define c_test3 1
#else
#define c_test3 11
#endif
#break
#case 2
#if c_test2==0
#define c_test3 2
#else
#define c_test3 22
#endif
#break
#case 3
#if c_test2==0
#define c_test3 3
#else
#define c_test3 33
#endif
#break
#case 4
#if c_test2==0
#define c_test3 4
#else
#define c_test3 44
#endif
#break
#case 5
#if c_test2==0
#define c_test3 5
#else
#define c_test3 55
#endif
#break
#endswitch
#dbgout c_test
#dbgout c_test2
#dbgout c_test3
//#define c_test 1
//#define c_test2 1
//#switch c_test
// #case 0
// #if c_test2==0
// #define c_test3 0
// #else
// #define c_test3 00
// #endif
// #break
// #case 1
// #if c_test2==0
// #define c_test3 1
// #else
// #define c_test3 11
// #endif
// #break
// #case 2
// #if c_test2==0
// #define c_test3 2
// #else
// #define c_test3 22
// #endif
// #break
// #case 3
// #if c_test2==0
// #define c_test3 3
// #else
// #define c_test3 33
// #endif
// #break
// #case 4
// #if c_test2==0
// #define c_test3 4
// #else
// #define c_test3 44
// #endif
// #break
// #case 5
// #if c_test2==0
// #define c_test3 5
// #else
// #define c_test3 55
// #endif
// #break
//#endswitch
//#dbgout c_test = 1
//#dbgout c_test2 = 1
//#dbgout c_test3 = 11
//------------------------------------------------------------------------------
// sample replace
//------------------------------------------------------------------------------
#define r_test0 1
#define r_test1 2
#define r_test2 3
test write #rep(r_test0)#
test write #rep(r_test0)# test write
#rep(r_test0)# test write
test write #rep(r_test0)##rep(r_test1)##rep(r_test2)#
test write #rep(r_test0)##rep(r_test1)##rep(r_test2)# test write
#rep(r_test0)##rep(r_test1)##rep(r_test2)# test write
test write #rep(r_test0)# / #rep(r_test1)# / #rep(r_test2)#
test write #rep(r_test0)# / #rep(r_test1)# / #rep(r_test2)# test write
#rep(r_test0)# / #rep(r_test1)# / #rep(r_test2)# test write
#define s_test 1
#switch s_test
#cb 0 #define s_test2 #rep(r_test0)#
#cb 1 #define s_test2 #rep(r_test1)#
#cb 2 #define s_test2 #rep(r_test2)#
#cb 3 #define s_test2 #rep(r_test0)#
#cb 4 #define s_test2 #rep(r_test1)#
#cb 5 #define s_test2 #rep(r_test2)#
#endswitch
#dbgout s_test2
//#define r_test0 1
//#define r_test1 2
//#define r_test2 3
test write 1
test write 1 test write
1 test write
test write 123
test write 123 test write
123 test write
test write 1 / 2 / 3
test write 1 / 2 / 3 test write
1 / 2 / 3 test write
//#define s_test 1
//#switch s_test
// #cb 0 #define s_test2 1
// #define s_test2 2
// #cb 2 #define s_test2 3
// #cb 3 #define s_test2 1
// #cb 4 #define s_test2 2
// #cb 5 #define s_test2 3
//#endswitch
//#dbgout s_test2 = 2
|