• 追加された行はこの色です。
  • 削除された行はこの色です。
#author("2018-01-18T09:09:09+09:00","","")
[[white_space]]

*white_space企画の現状 stackモジュール [#mc04b04d]

なんか久しぶりに使おうとしたら バグあるあるっぽいっす
 //struct stack_model {
 //	long size;
 //	long current;
 //	long long* contents;
 //} stack;
 
 #module stack_model stack_size,stack_current,stack_contents
 #modinit
 	stack_size = 0
 	stack_current = 0
 	dim stack_contents,STACK_MEMBERS@
 	return
 #modfunc local set_size int p_int
 	stack_size = p_int
 	return
 #modfunc local set_current int p_int
 	stack_current = p_int
 	return
 #modfunc local set_contents int p_value,int p_index
 	stack_contents.p_index = p_value
 	return
 #modcfunc local get_size
 	return stack_size
 #modcfunc local get_current
 	return stack_current
 #modcfunc local get_contents int p_index
 	tmp_index=STACK_MEMBERS@
 	if p_index >=STACK_MEMBERS@{tmp_index=STACK_MEMBERS@-1}
 ;	logmes ""+STACK_MEMBERS@+" "+p_index
 	return stack_contents.p_index
 #global
 newmod stack,stack_model
 #if 1
 set_size@stack_model stack,20
 set_current@stack_model stack,5
 repeat 5
 set_contents@stack_model stack,cnt*2,cnt
 loop
 
 logmes "stack size:"+get_size@stack_model(stack)
 logmes "stack current:"+get_current@stack_model(stack)
 repeat 10
 logmes "stack contents "+cnt+":"+get_contents@stack_model(stack,cnt)
 loop
 #endif