Extract variable name by macro.(maybe a recursive way?)
#1

Name says.

PHP код:
// vN = variable name
#define extract(%1);      vN1(%1[])
// Remove all after [
#define vN1(%1[%9) vN2(%1<>)
// Remove all after <
#define vN2(%1<%9) vN3:vN4(%1)
// If has any tag
#define vN3:vN4(%9:%1) %1
// Remove the funcion
#define vN4(%1) %1
extract(norm_0);
extract(norm_1[]);
extract(norm_2[][]);
extract(norm_3[][][]);
extract(norm_4[][][][]);
extract(tag:tagged_norm_0);
extract(tag:tagged_norm_1[]);
extract(tag:tagged_norm_2[][]);
extract(tag:tagged_norm_3[][][]);
extract(tag:tagged_norm_4[][][][]);
extract(special_0<abc>);
extract(special_1[]<abc>);
extract(special_2[][]<abc>);
extract(special_3[][][]<abc>);
extract(tag:tagged_special_0<abc>);
extract(tag:tagged_special_1[]<abc>);
extract(tag:tagged_special_2[][]<abc>);
extract(tag:tagged_special_3[][][]<abc>); 
Output:
Код:
vN3:norm_0
vN3:norm_1
vN3:norm_2
vN3:norm_3
vN3:norm_4


tagged_norm_0
tagged_norm_1
tagged_norm_2
tagged_norm_3
tagged_norm_4


vN3:special_0
vN3:special_1
vN3:special_2
vN3:special_3

tagged_special_0
tagged_special_1
tagged_special_2
tagged_special_3
Expected output:

Код:
norm_0
norm_1
norm_2
norm_3
norm_4


tagged_norm_0
tagged_norm_1
tagged_norm_2
tagged_norm_3
tagged_norm_4


special_0
special_1
special_2
special_3

tagged_special_0
tagged_special_1
tagged_special_2
tagged_special_3
(Without the vN3: tag)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)