軽量版、gotoを使用したサブルーチン の命令も
衝突しにくいように書き換えました
FILE名:FILE_manage_label_mini_0_4.hsp
#include "FILE_set_get_label_mini_0_2.hsp" #module manage_label #deffunc init_at_manage_label now=-1 init_at_set_get_label_mini return #deffunc set_at_manage_label now++ set_label_at_set_get_label_mini now return #deffunc back_of_st_at_manage_label get_label_at_set_get_label_mini now now-- return #define global ctype inner_call(%1,%2):\ tmp_l@set_get_label_mini=*%2:set_at_manage_label:goto %1:*%2 #define global ctype call(%1)%tlabel_call inner_call(%1,%n) #define global back:\ back_of_st_at_manage_label:goto tmp_r@set_get_label_mini #global |
テストコード
#include "FILE_manage_label_mini_0_4.hsp" init_at_manage_label call(*s_a) mes "OK"
stop *s_a mes "a" call(*s_b) call(*s_d) back *s_b mes "b" call(*s_c) back *s_c mes "c" back *s_d mes "d" back |
0 件のコメント:
コメントを投稿