#author("2018-01-05T14:40:51+09:00","","")
**NO_499 [#l2063600]

サンプルスクリプトです~
483 の改造~
ラベル定義のタイミングでマクロ反映させました~
LINE定義のタイミングでマクロ定義実行出来るかも~
ここまで来たらアレですねw~
変数名と添え字をマクロで管理出来るかもw~
~
分類名と変数名と添え字をセットで管理しなきゃなので~
モジュール化したほうがいいかも~

 dim var4stock_define_value,100,16
 repeat 100
 i=cnt
 repeat 16
 var4stock_define_value.i.cnt=-1
 loop
 loop
 var4stock_define_value_counter=0
 	if flag_on_define==1{
 			#define value_a 0
 			#define value_aa1 1
 ;				var4stock_define_value.label_pc.0=0
 	}
 //case 1:	
 my_line=int(__LINE__)	//x行でcaseみたいな処理
 	if flag_on_line_search==1{
 		pc_stack.hoge_pc=my_line:hoge_pc++
 	}
 	if flag_on_label_search==1{
 		if label_pc==num_stack.my_line{
 			logmes "途中A"
 			mes "途中A"
 			if my_pc_B==1{my_pc_B++:cp1=1:goto *sw_begin	}
 			if my_pc_B==2{my_pc_B++:cp2="a":goto *sw_begin	}
 			if my_pc_B==3{my_pc_B++:cp3=label_pc:goto *sw_begin	}
 			if my_pc_B==4{my_pc_B++:x_label_init cp1,cp2,cp3:goto *sw_begin	}
 			if my_pc_B==5{
 				logmes "途中B":my_pc_B=1:label_pc++:goto *sw_begin	}// label
 			}
 	}
 	if flag_on_do==1{
 		logmes "途中D"
 		logmes ""+num_stack.my_line
 		logmes "pc"+cmd_pc
 		if cmd_pc==num_stack.my_line{	//1
 		mes "途中inE1"
 			my_pc_B=1:cmd_pc++:goto *sw_begin
 		}
 	}
 //case 4:
 my_line=int(__LINE__)	//x行でcaseみたいな処理
 	if flag_on_line_search==1{
 		pc_stack.hoge_pc=my_line:hoge_pc++
 	}
 	if flag_on_label_search==1{
 		if label_pc==num_stack.my_line{
 			def_call_counter=0
 			var4stock_define_value.label_pc.def_call_counter=value_aa1
 			def_call_counter++
 ;			var4stock_define_value.label_pc.0=value_aa1	// これも可
 		}
 	}
 	if flag_on_label_search==1{
 		if label_pc==num_stack.my_line{
 			if my_pc_B==1{my_pc_B=1:label_pc++:goto *sw_begin	}// label
 		}
 	}
 ;	if flag_on_define_call==1{
 ;		def_call_counter=0
 ;		var4stock_define_value.label_pc.def_call_counter=value_aa1
 ;		def_call_counter++
 ;		var4stock_define_value.label_pc.0=value_aa1	// これも可
 ;	}
 	if flag_on_do==1{
 		if cmd_pc==num_stack.my_line{	//4
 			logmes "inE4"
 			if my_pc_B==1{my_pc_B++:cp1="aa1":goto *sw_begin	}
 			if my_pc_B==2{my_pc_B++:cp2=var4stock_define_value.cmd_pc.0: goto *sw_begin	}
 			if my_pc_B==3{cr_com=en_get_my_label:
 				my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin	}
 		}
 	}
 	
 //case 5:
 my_line=int(__LINE__)	//x行でcaseみたいな処理
 	if flag_on_line_search==1{
 		pc_stack.hoge_pc=my_line:hoge_pc++
 	}
 	if flag_on_label_search==1{
 		if label_pc==num_stack.my_line{
 			if my_pc_B==1{my_pc_B=1:label_pc++:goto *sw_begin	}
 		}
 	}
 	if flag_on_do==1{
 		if cmd_pc==num_stack.my_line{	//5
 			logmes "inE5"
 			if my_pc_B==1{my_pc_B++:cp1="X足す1":goto *sw_begin	}
 			if my_pc_B==2{my_pc_B++:bt_pc_1=my_label: goto *sw_begin	}
 			if my_pc_B==3{cr_com=en_button_A
 				my_pc_B=1:cmd_pc++:goto *com_sw: goto *sw_begin	}
 		}
 	}