#author("2017-11-08T12:27:49+09:00","","")
[[簡単言語_NO467toNO479]]
**NO_469 [#n6b978d3]

プログラム言語的な動き方は、現在~
ラベル登録~
pc登録~
実行~
の3種類の動き方があるんですが~
素直にフラグで分岐しよう。と~
未だ断片的な動かないコードですけどw

 #module mod_label i_name,i_ID,i_l_value
 #modinit str p_name,int p_ID,int p_l_value
 	i_name=p_name
 	i_ID=p_ID
 	i_l_value=p_l_value
 	return
 #modcfunc get_i_name
 	return i_name
 #modcfunc get_i_ID
 	return i_ID
 #modcfunc get_i_l_value
 	return i_l_value
 #deffunc x_label_init int sw_new_p,str _p_name,int _p_l_value
 ;	global fv_ID
 	if sw_new_p==1{
 		fv_ID=0
 	}
 	newmod o_label,mod_label,_p_name,fv_ID,_p_l_value
 	fv_ID++
 	return
 #defcfunc get_x_label_l_value str __p_name,int __p_ID,local r_name
 	r_name=get_i_name(o_label.__p_ID)
 	if r_name!=__p_name:return -1
 	return get_i_l_value(o_label.__p_ID)
 #global
 
 dim pc_stack,256
 n_pc_stack=0
 hoge_pc=1
 *sw_begin
 	await 1
 my_line=int(__LINE__)
 	if flag_on_line_search==1
 		pc_stack.hoge_pc=my_line:hoge_pc++	//1
 	}
 	if flag_on_label_search==1{
 		my_pc_B=1
 		if my_pc_B==1{my_pc_B++:cp1=1	}
 		if my_pc_B==2{my_pc_B++:cp2="a"	}
 		if my_pc_B==3{my_pc_B++:cp3=1	}
 		if my_pc_B==4{my_pc_B++:
 			x_label_init cp1,cp2,cp3	}
 		if my_pc_B==5{my_pc_B=1:my_pc++	}// label	
 	}
 	if flag_on_do==1
 		my_pc++:goto *sw_begin
 	}
 my_line=int(__LINE__)
 	if flag_on_line_search==1
 		pc_stack.hoge_pc=my_line:hoge_pc++	//2
 	}
 	if flag_on_label_search==1{
 	}
 	if flag_on_do==1
 		cr_com=en_cls0:goto *com_sw
 	}
 my_line=int(__LINE__)
 	if flag_on_line_search==1
 		pc_stack.hoge_pc=my_line:hoge_pc++	//3
 	}
 	if flag_on_label_search==1{
 	}
 	if flag_on_do==1
 		if my_pc_B==1{my_pc_B++:cp1=120:goto *sw_begin	}
 		if my_pc_B==2{my_pc_B++:cp2=24: goto *sw_begin	}
 		if my_pc_B==3{cr_com=en_objsize:
 			my_pc_B=1:my_pc++:goto *com_sw	}
 		my_pc++
 	
 	}


 pc=1
 dim pc_stack,256
 n_pc_stack=0
 dim num_stack,32
 repeat length(num_stack)
 num_stack.cnt=-1
 loop
 dim my_stack,256
 n_stack=0
 
 *sw_begin_b
 await 1
 ;switch pc
 pc_stack.pc=int(__LiNE__):pc++	//1
 pc_stack.pc=int(__LiNE__):pc++	//2
 
 pc_stack.pc=int(__LiNE__):pc++	//3
 ;swend
 repeat 5
 logmes ""+cnt+" "+pc_stack.cnt
 loop
 repeat 5
 if pc_stack.cnt!=0{
 	num_stack(pc_stack.cnt)=cnt
 }
 loop
 
 repeat length(num_stack)
 logmes ""+cnt+":"+num_stack.cnt
 loop
 //*0 0
 1 14
 2 15
 3 17
 4 0
 0:-1
 1:-1
 2:-1
 3:-1
 4:-1
 5:-1
 6:-1
 7:-1
 8:-1
 9:-1
 10:-1
 11:-1
 12:-1
 13:-1
 14:1
 15:2
 16:-1
 17:3
 18:-1
 19:-1
 20:-1
 21:-1
 22:-1
 23:-1
 24:-1
 25:-1
 26:-1
 27:-1
 28:-1
 29:-1
 30:-1
 31:-1