簡単言語

NO_652

サンプル更新ですw こうして収拾がつかなくなっていくw

#module sub_m_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
;getter
#modcfunc local get_i_name
  return i_name
#modcfunc local get_i_ID
  return i_ID
#modcfunc local get_i_l_value
  return i_l_value
#modfunc local set_i_l_value var _p4set_value
  i_l_value = _p4set_value
  return
#modfunc local dump
logmes "dump "+i_ID
logmes "dump "+i_name
logmes "dump "+i_l_value
return
#modfunc local get4op var p_r
p_r=""+i_ID+":"+i_name+":"+i_l_value
return
#global
//////////////////////////////////////////////////
#module sub_m_var v_i_name,v_i_ID,v_i_v_value
#modinit str p_name,int p_ID,int p_v_value
  v_i_name=p_name
  v_i_ID=p_ID
  v_i_v_value=p_v_value
  return
#modcfunc local get_i_name
  return v_i_name
#modcfunc local get_i_ID
  return v_i_ID
#modcfunc local get_i_v_value
  return v_i_v_value
#modfunc local set_i_v_value var _p4set_value
  v_i_v_value = _p4set_value
  return
#modfunc local get_v4op var p_r
p_r=""+v_i_ID+":"+v_i_name+":"+v_i_v_value
return
#global
//////////////////////////////////////////////////
#module m_block_stock max_l_data,one_label_data,max_var_data,one_var_data
#modinit
  newmod one_label_data,sub_m_label,"null",0,0
  newmod one_var_data,sub_m_var,"null",0,0
  max_l_data=-1
  max_var_data=-1
  return
#modfunc local add_label_data str _p_name,int _p_ID,int _p_l_value
  newmod one_label_data,sub_m_label,_p_name,_p_ID,_p_l_value
  max_l_data++:if max_l_data==0:max_l_data++
  return
#modfunc local add_var_data str _p_name,int _p_ID,int _p_l_value
  newmod one_var_data,sub_m_var,_p_name,_p_ID,_p_l_value
  max_var_data++:if max_var_data==0:max_var_data++
  return
#modfunc local dump
  tmp=""
  repeat max_l_data+1
  get4op@sub_m_label one_label_data.cnt,tmp
  logmes ""+tmp
  loop
  if max_l_data==-1:logmes "-1"
  tmp=""
  repeat max_var_data+1
  get_v4op@sub_m_var one_var_data.cnt,tmp
  logmes ""+tmp
  loop
  if max_var_data==-1:logmes "-1"
  return
#global
#module manage_block_var
#deffunc local init
  newmod block_var,m_block_stock
  num_block_obj=1
  return
#deffunc make_block_var
  newmod block_var,m_block_stock
  num_block_obj++
  return
#defcfunc check_num int p
  if p >= num_block_obj:return -1
  return 1
#global
  init@manage_block_var
  make_block_var
  if check_num(1)==1{
    add_label_data@m_block_stock block_var@manage_block_var.1,"a",1,1
    add_var_data@m_block_stock block_var@manage_block_var.1,"x",10,5
    dump@m_block_stock block_var@manage_block_var.1
  }
  make_block_var
  if check_num(2)==1{
    add_var_data@m_block_stock block_var@manage_block_var.2,"y",20,5
    dump@m_block_stock block_var@manage_block_var.2
  }
  stop