diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty | 386 |
1 files changed, 193 insertions, 193 deletions
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty index 545d7ce7069..8b90db9c751 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty @@ -47,216 +47,216 @@ %% ----------------------------------------------------------------------- \RequirePackage{expl3} \GetIdInfo$Id: l3tl-analysis.dtx 3039 2011-12-08 09:22:35Z bruno $ - {L3 Experimental Analysis of Token lists} + {L3 Experimental token lists analysis} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} \RequirePackage{l3str} -\scan_new:N \s_tl -\tl_new:N \l_tl_analysis_internal_tl -\cs_new_eq:NN \l_tl_analysis_token ? -\cs_new_eq:NN \l_tl_analysis_char_token ? -\int_new:N \l_tl_analysis_normal_int -\int_new:N \l_tl_analysis_index_int -\int_new:N \l_tl_analysis_nesting_int -\int_new:N \l_tl_analysis_type_int -\tl_new:N \g_tl_analysis_result_tl -\cs_new_nopar:Npn \tl_analysis_extract_charcode: - { - \exp_after:wN \tl_analysis_extract_charcode_aux:w - \token_to_meaning:N \l_tl_analysis_token - } -\cs_new:Npn \tl_analysis_extract_charcode_aux:w #1 ~ #2 ~ { ` } -\cs_new:Npn \tl_analysis_cs_space_count:NN #1 #2 +\__scan_new:N \s__tl +\tl_new:N \l__tl_analysis_internal_tl +\cs_new_eq:NN \l__tl_analysis_token ? +\cs_new_eq:NN \l__tl_analysis_char_token ? +\int_new:N \l__tl_analysis_normal_int +\int_new:N \l__tl_analysis_index_int +\int_new:N \l__tl_analysis_nesting_int +\int_new:N \l__tl_analysis_type_int +\tl_new:N \g__tl_analysis_result_tl +\cs_new_nopar:Npn \__tl_analysis_extract_charcode: + { + \exp_after:wN \__tl_analysis_extract_charcode_aux:w + \token_to_meaning:N \l__tl_analysis_token + } +\cs_new:Npn \__tl_analysis_extract_charcode_aux:w #1 ~ #2 ~ { ` } +\cs_new:Npn \__tl_analysis_cs_space_count:NN #1 #2 { \exp_after:wN #1 - \int_value:w \int_eval:w \c_zero - \exp_after:wN \tl_analysis_cs_space_count:w + \__int_value:w \__int_eval:w \c_zero + \exp_after:wN \__tl_analysis_cs_space_count:w \token_to_str:N #2 - \fi: \tl_analysis_cs_space_count_end:w ; ~ ! + \fi: \__tl_analysis_cs_space_count_end:w ; ~ ! } -\cs_new:Npn \tl_analysis_cs_space_count:w #1 ~ +\cs_new:Npn \__tl_analysis_cs_space_count:w #1 ~ { \if_false: #1 #1 \fi: + \c_one - \tl_analysis_cs_space_count:w + \__tl_analysis_cs_space_count:w } -\cs_new:Npn \tl_analysis_cs_space_count_end:w ; #1 \fi: #2 ! - { \exp_after:wN ; \int_value:w \str_length_ignore_spaces:n {#1} ; } -\cs_new_protected:Npn \tl_analysis:n #1 +\cs_new:Npn \__tl_analysis_cs_space_count_end:w ; #1 \fi: #2 ! + { \exp_after:wN ; \__int_value:w \str_count_ignore_spaces:n {#1} ; } +\cs_new_protected:Npn \__tl_analysis:n #1 { \group_begin: \group_align_safe_begin: - \tl_analysis_setup:n {#1} - \tl_analysis_i:n {#1} - \tl_analysis_ii:n {#1} + \__tl_analysis_setup:n {#1} + \__tl_analysis_i:n {#1} + \__tl_analysis_ii:n {#1} \group_align_safe_end: \group_end: } -\cs_new_protected:Npn \tl_analysis_setup:n #1 +\cs_new_protected:Npn \__tl_analysis_setup:n #1 { \int_set_eq:NN \tex_escapechar:D \c_minus_one - \exp_after:wN \tl_analysis_disable_loop:N - \tl_to_str:n {#1} { ~ } { ? ~ \prg_map_break: } - \prg_break_point:n { } + \exp_after:wN \__tl_analysis_disable_loop:N + \tl_to_str:n {#1} { ~ } { ? ~ \__prg_break: } + \__prg_break_point: } \group_begin: \char_set_catcode_active:N \^^@ - \cs_new_protected:Npn \tl_analysis_disable_loop:N #1 + \cs_new_protected:Npn \__tl_analysis_disable_loop:N #1 { \tex_lccode:D \c_zero `#1 ~ \tl_to_lowercase:n { \tex_let:D ^^@ } \c_undefined:D - \tl_analysis_disable_loop:N + \__tl_analysis_disable_loop:N } \group_end: -\cs_new_protected:Npn \tl_analysis_i:n #1 +\cs_new_protected:Npn \__tl_analysis_i:n #1 { \int_set:Nn \tex_escapechar:D { 92 } - \int_zero:N \l_tl_analysis_normal_int - \int_zero:N \l_tl_analysis_index_int - \int_zero:N \l_tl_analysis_nesting_int - \if_false: { \fi: \tl_analysis_i_loop:w #1 } - \int_decr:N \l_tl_analysis_index_int - } -\cs_new_protected_nopar:Npn \tl_analysis_i_loop:w - { \tex_futurelet:D \l_tl_analysis_token \tl_analysis_i_type:w } -\cs_new_protected_nopar:Npn \tl_analysis_i_type:w - { - \l_tl_analysis_type_int = - \if_meaning:w \l_tl_analysis_token \c_space_token + \int_zero:N \l__tl_analysis_normal_int + \int_zero:N \l__tl_analysis_index_int + \int_zero:N \l__tl_analysis_nesting_int + \if_false: { \fi: \__tl_analysis_i_loop:w #1 } + \int_decr:N \l__tl_analysis_index_int + } +\cs_new_protected_nopar:Npn \__tl_analysis_i_loop:w + { \tex_futurelet:D \l__tl_analysis_token \__tl_analysis_i_type:w } +\cs_new_protected_nopar:Npn \__tl_analysis_i_type:w + { + \l__tl_analysis_type_int = + \if_meaning:w \l__tl_analysis_token \c_space_token \c_zero \else: - \if_catcode:w \exp_not:N \l_tl_analysis_token \c_group_begin_token + \if_catcode:w \exp_not:N \l__tl_analysis_token \c_group_begin_token \c_one \else: - \if_catcode:w \exp_not:N \l_tl_analysis_token \c_group_end_token + \if_catcode:w \exp_not:N \l__tl_analysis_token \c_group_end_token \c_minus_one \else: \c_two \fi: \fi: \fi: - \if_case:w \l_tl_analysis_type_int - \exp_after:wN \tl_analysis_i_space:w - \or: \exp_after:wN \tl_analysis_i_bgroup:w - \or: \exp_after:wN \tl_analysis_i_safe:N - \else: \exp_after:wN \tl_analysis_i_egroup:w + \if_case:w \l__tl_analysis_type_int + \exp_after:wN \__tl_analysis_i_space:w + \or: \exp_after:wN \__tl_analysis_i_bgroup:w + \or: \exp_after:wN \__tl_analysis_i_safe:N + \else: \exp_after:wN \__tl_analysis_i_egroup:w \fi: } -\cs_new_protected_nopar:Npn \tl_analysis_i_space:w +\cs_new_protected_nopar:Npn \__tl_analysis_i_space:w { - \tex_afterassignment:D \tl_analysis_i_space_test:w + \tex_afterassignment:D \__tl_analysis_i_space_test:w \exp_after:wN \cs_set_eq:NN - \exp_after:wN \l_tl_analysis_char_token + \exp_after:wN \l__tl_analysis_char_token \token_to_str:N } -\cs_new_protected_nopar:Npn \tl_analysis_i_space_test:w +\cs_new_protected_nopar:Npn \__tl_analysis_i_space_test:w { - \if_meaning:w \l_tl_analysis_char_token \c_space_token - \tex_toks:D \l_tl_analysis_index_int { \exp_not:n { ~ } } - \tl_analysis_i_store: + \if_meaning:w \l__tl_analysis_char_token \c_space_token + \tex_toks:D \l__tl_analysis_index_int { \exp_not:n { ~ } } + \__tl_analysis_i_store: \else: - \int_incr:N \l_tl_analysis_normal_int + \int_incr:N \l__tl_analysis_normal_int \fi: - \tl_analysis_i_loop:w + \__tl_analysis_i_loop:w } \group_begin: \char_set_catcode_group_begin:N \^^@ \char_set_catcode_group_end:N \^^E - \cs_new_protected_nopar:Npn \tl_analysis_i_bgroup:w - { \tl_analysis_i_group:nw { \exp_after:wN ^^@ \if_false: ^^E \fi: } } + \cs_new_protected_nopar:Npn \__tl_analysis_i_bgroup:w + { \__tl_analysis_i_group:nw { \exp_after:wN ^^@ \if_false: ^^E \fi: } } \char_set_catcode_group_begin:N \^^B \char_set_catcode_group_end:N \^^@ - \cs_new_protected_nopar:Npn \tl_analysis_i_egroup:w - { \tl_analysis_i_group:nw { \if_false: ^^B \fi: ^^@ } } + \cs_new_protected_nopar:Npn \__tl_analysis_i_egroup:w + { \__tl_analysis_i_group:nw { \if_false: ^^B \fi: ^^@ } } \group_end: -\cs_new_protected:Npn \tl_analysis_i_group:nw #1 +\cs_new_protected:Npn \__tl_analysis_i_group:nw #1 { - \tex_lccode:D \c_zero = \tl_analysis_extract_charcode: \scan_stop: - \tl_to_lowercase:n { \tex_toks:D \l_tl_analysis_index_int {#1} } - \if_num:w \tex_lccode:D \c_zero = \tex_escapechar:D + \tex_lccode:D \c_zero = \__tl_analysis_extract_charcode: \scan_stop: + \tl_to_lowercase:n { \tex_toks:D \l__tl_analysis_index_int {#1} } + \if_int_compare:w \tex_lccode:D \c_zero = \tex_escapechar:D \int_set:Nn \tex_escapechar:D { 139 - \tex_escapechar:D } \fi: - \tex_afterassignment:D \tl_analysis_i_group_test:w + \tex_afterassignment:D \__tl_analysis_i_group_test:w \exp_after:wN \cs_set_eq:NN - \exp_after:wN \l_tl_analysis_char_token + \exp_after:wN \l__tl_analysis_char_token \token_to_str:N } -\cs_new_protected_nopar:Npn \tl_analysis_i_group_test:w +\cs_new_protected_nopar:Npn \__tl_analysis_i_group_test:w { - \if_charcode:w \l_tl_analysis_token \l_tl_analysis_char_token - \tl_analysis_i_store: + \if_charcode:w \l__tl_analysis_token \l__tl_analysis_char_token + \__tl_analysis_i_store: \else: - \int_incr:N \l_tl_analysis_normal_int + \int_incr:N \l__tl_analysis_normal_int \fi: - \tl_analysis_i_loop:w + \__tl_analysis_i_loop:w } -\cs_new_protected_nopar:Npn \tl_analysis_i_store: +\cs_new_protected_nopar:Npn \__tl_analysis_i_store: { - \tex_advance:D \l_tl_analysis_nesting_int \l_tl_analysis_type_int - \if_num:w \tex_lccode:D \c_zero = \c_thirty_two - \tex_multiply:D \l_tl_analysis_type_int \c_two + \tex_advance:D \l__tl_analysis_nesting_int \l__tl_analysis_type_int + \if_int_compare:w \tex_lccode:D \c_zero = \c_thirty_two + \tex_multiply:D \l__tl_analysis_type_int \c_two \fi: - \tex_skip:D \l_tl_analysis_index_int - = \l_tl_analysis_normal_int sp plus \l_tl_analysis_type_int sp \scan_stop: - \int_incr:N \l_tl_analysis_index_int - \int_zero:N \l_tl_analysis_normal_int - \if_num:w \l_tl_analysis_nesting_int = \c_minus_one - \cs_set_eq:NN \tl_analysis_i_loop:w \scan_stop: + \tex_skip:D \l__tl_analysis_index_int + = \l__tl_analysis_normal_int sp plus \l__tl_analysis_type_int sp \scan_stop: + \int_incr:N \l__tl_analysis_index_int + \int_zero:N \l__tl_analysis_normal_int + \if_int_compare:w \l__tl_analysis_nesting_int = \c_minus_one + \cs_set_eq:NN \__tl_analysis_i_loop:w \scan_stop: \fi: } -\cs_new_protected:Npn \tl_analysis_i_safe:N #1 +\cs_new_protected:Npn \__tl_analysis_i_safe:N #1 { \if_charcode:w \scan_stop: \exp_after:wN \use_none:n \token_to_str:N #1 \prg_do_nothing: \scan_stop: - \int_incr:N \l_tl_analysis_normal_int + \int_incr:N \l__tl_analysis_normal_int \else: - \tl_analysis_cs_space_count:NN \tl_analysis_i_cs:ww #1 + \__tl_analysis_cs_space_count:NN \__tl_analysis_i_cs:ww #1 \fi: - \tl_analysis_i_loop:w + \__tl_analysis_i_loop:w } -\cs_new_protected:Npn \tl_analysis_i_cs:ww #1; #2; +\cs_new_protected:Npn \__tl_analysis_i_cs:ww #1; #2; { - \if_num:w #1 > \c_zero - \tex_skip:D \l_tl_analysis_index_int - = \int_eval:w \l_tl_analysis_normal_int + \c_one sp \scan_stop: - \tex_advance:D \l_tl_analysis_index_int #1 \exp_stop_f: - \l_tl_analysis_normal_int #2 \exp_stop_f: + \if_int_compare:w #1 > \c_zero + \tex_skip:D \l__tl_analysis_index_int + = \__int_eval:w \l__tl_analysis_normal_int + \c_one sp \scan_stop: + \tex_advance:D \l__tl_analysis_index_int #1 \exp_stop_f: + \l__tl_analysis_normal_int #2 \exp_stop_f: \else: - \tex_advance:D \l_tl_analysis_normal_int #2 \exp_stop_f: + \tex_advance:D \l__tl_analysis_normal_int #2 \exp_stop_f: \fi: } -\cs_new_protected:Npn \tl_analysis_ii:n #1 +\cs_new_protected:Npn \__tl_analysis_ii:n #1 { - \tl_gset:Nx \g_tl_analysis_result_tl + \tl_gset:Nx \g__tl_analysis_result_tl { - \tl_analysis_ii_loop:w 0; #1 - \prg_break_point:n { } + \__tl_analysis_ii_loop:w 0; #1 + \__prg_break_point: } } -\cs_new:Npn \tl_analysis_ii_loop:w #1; +\cs_new:Npn \__tl_analysis_ii_loop:w #1; { - \exp_after:wN \tl_analysis_ii_normals:ww - \int_value:w \tex_skip:D #1 ; #1 ; + \exp_after:wN \__tl_analysis_ii_normals:ww + \__int_value:w \tex_skip:D #1 ; #1 ; } -\cs_new:Npn \tl_analysis_ii_normals:ww #1; +\cs_new:Npn \__tl_analysis_ii_normals:ww #1; { - \if_num:w #1 = \c_zero - \tl_analysis_ii_special:w + \if_int_compare:w #1 = \c_zero + \__tl_analysis_ii_special:w \fi: - \tl_analysis_ii_normal:wwN #1; + \__tl_analysis_ii_normal:wwN #1; } -\cs_new:Npn \tl_analysis_ii_normal:wwN #1; #2; #3 +\cs_new:Npn \__tl_analysis_ii_normal:wwN #1; #2; #3 { - \exp_not:n { \exp_not:n { #3 } } \s_tl + \exp_not:n { \exp_not:n { #3 } } \s__tl \if_charcode:w \scan_stop: \exp_after:wN \use_none:n \token_to_str:N #3 \prg_do_nothing: \scan_stop: - \exp_after:wN \tl_analysis_ii_char:Nww + \exp_after:wN \__tl_analysis_ii_char:Nww \else: - \exp_after:wN \tl_analysis_ii_cs:Nww + \exp_after:wN \__tl_analysis_ii_cs:Nww \fi: #3 #1; #2; } @@ -267,7 +267,7 @@ \char_set_uccode:nn { `? } { `D } \tl_to_uppercase:n { - \cs_new:Npn \tl_analysis_ii_char:Nww #1 + \cs_new:Npn \__tl_analysis_ii_char:Nww #1 { \if_meaning:w #1 \c_undefined:D ? \else: \if_catcode:w #1 \c_catcode_other_token C \else: @@ -279,40 +279,40 @@ \if_catcode:w #1 \c_space_token A \else: 6 \fi: \fi: \fi: \fi: \fi: \fi: \fi: \fi: - \int_value:w `#1 \s_tl - \exp_after:wN \tl_analysis_ii_normals:ww - \int_use:N \int_eval:w \c_minus_one + + \__int_value:w `#1 \s__tl + \exp_after:wN \__tl_analysis_ii_normals:ww + \int_use:N \__int_eval:w \c_minus_one + } } \group_end: -\cs_new:Npn \tl_analysis_ii_cs:Nww #1 +\cs_new:Npn \__tl_analysis_ii_cs:Nww #1 { - 0 -1 \s_tl - \tl_analysis_cs_space_count:NN \tl_analysis_ii_cs_test:ww #1 + 0 -1 \s__tl + \__tl_analysis_cs_space_count:NN \__tl_analysis_ii_cs_test:ww #1 } -\cs_new:Npn \tl_analysis_ii_cs_test:ww #1 ; #2 ; #3 ; #4 ; +\cs_new:Npn \__tl_analysis_ii_cs_test:ww #1 ; #2 ; #3 ; #4 ; { - \exp_after:wN \tl_analysis_ii_normals:ww - \int_use:N \int_eval:w - \if_num:w #1 = \c_zero + \exp_after:wN \__tl_analysis_ii_normals:ww + \int_use:N \__int_eval:w + \if_int_compare:w #1 = \c_zero #3 \else: - \tex_skip:D \int_eval:w #4 + #1 \int_eval_end: + \tex_skip:D \__int_eval:w #4 + #1 \__int_eval_end: \fi: - #2 \exp_after:wN ; - \int_use:N \int_eval:w #4 + #1 ; + \int_use:N \__int_eval:w #4 + #1 ; } \group_begin: \char_set_catcode_other:N A - \cs_new:Npn \tl_analysis_ii_special:w - \fi: \tl_analysis_ii_normal:wwN 0 ; #1 ; + \cs_new:Npn \__tl_analysis_ii_special:w + \fi: \__tl_analysis_ii_normal:wwN 0 ; #1 ; { \fi: - \if_num:w #1 = \l_tl_analysis_index_int - \exp_after:wN \prg_map_break: + \if_int_compare:w #1 = \l__tl_analysis_index_int + \exp_after:wN \__prg_break: \fi: - \tex_the:D \tex_toks:D #1 \s_tl + \tex_the:D \tex_toks:D #1 \s__tl \if_case:w \etex_gluestretch:D \tex_skip:D #1 \exp_stop_f: A \or: 1 @@ -320,131 +320,131 @@ \else: 2 \fi: \if_int_odd:w \etex_gluestretch:D \tex_skip:D #1 \exp_stop_f: - \exp_after:wN \tl_analysis_ii_special_char:wN \int_use:N + \exp_after:wN \__tl_analysis_ii_special_char:wN \int_use:N \else: - \exp_after:wN \tl_analysis_ii_special_space:w \int_use:N + \exp_after:wN \__tl_analysis_ii_special_space:w \int_use:N \fi: - \int_eval:w \c_one + #1 \exp_after:wN ; + \__int_eval:w \c_one + #1 \exp_after:wN ; \token_to_str:N } \group_end: -\cs_new:Npn \tl_analysis_ii_special_char:wN #1 ; #2 +\cs_new:Npn \__tl_analysis_ii_special_char:wN #1 ; #2 { - \int_value:w `#2 \s_tl - \tl_analysis_ii_loop:w #1 ; + \__int_value:w `#2 \s__tl + \__tl_analysis_ii_loop:w #1 ; } -\cs_new:Npn \tl_analysis_ii_special_space:w #1 ; ~ +\cs_new:Npn \__tl_analysis_ii_special_space:w #1 ; ~ { - 32 \s_tl - \tl_analysis_ii_loop:w #1 ; + 32 \s__tl + \__tl_analysis_ii_loop:w #1 ; } -\cs_new_protected:Npn \tl_analysis_map_inline:nn #1 +\cs_new_protected:Npn \__tl_analysis_map_inline:nn #1 { - \tl_analysis:n {#1} - \int_gincr:N \g_prg_map_int - \exp_args:Nc \tl_analysis_map_inline_aux:Nn - { tl_analysis_map_inline_ \int_use:N \g_prg_map_int :wNw } + \__tl_analysis:n {#1} + \int_gincr:N \g__prg_map_int + \exp_args:Nc \__tl_analysis_map_inline_aux:Nn + { __tl_analysis_map_inline_ \int_use:N \g__prg_map_int :wNw } } -\cs_new_protected:Npn \tl_analysis_map_inline_aux:Nn #1#2 +\cs_new_protected:Npn \__tl_analysis_map_inline_aux:Nn #1#2 { - \cs_gset_protected:Npn #1 ##1 \s_tl ##2 ##3 \s_tl + \cs_gset_protected:Npn #1 ##1 \s__tl ##2 ##3 \s__tl { \use_none:n ##2 #2 #1 } \exp_after:wN #1 - \g_tl_analysis_result_tl - \s_tl { ? \prg_map_break: } \s_tl - \prg_break_point:n { \int_gdecr:N \g_prg_map_int } + \g__tl_analysis_result_tl + \s__tl { ? \tl_map_break: } \s__tl + \__prg_break_point:Nn \tl_map_break: { \int_gdecr:N \g__prg_map_int } } \cs_new_protected:Npn \tl_show_analysis:N #1 { - \exp_args:No \tl_analysis:n {#1} - \msg_aux_show:Nnx #1 + \exp_args:No \__tl_analysis:n {#1} + \__msg_show_variable:Nnn #1 { tl-analysis } { - \exp_after:wN \tl_show_analysis_loop:wNw \g_tl_analysis_result_tl - \s_tl { ? \prg_map_break: } \s_tl - \prg_break_point:n { } + \exp_after:wN \__tl_analysis_show_loop:wNw \g__tl_analysis_result_tl + \s__tl { ? \__prg_break: } \s__tl + \__prg_break_point: } } \cs_new_protected:Npn \tl_show_analysis:n #1 { - \tl_set:Nn \l_tl_analysis_internal_tl {#1} - \tl_show_analysis:N \l_tl_analysis_internal_tl + \tl_set:Nn \l__tl_analysis_internal_tl {#1} + \tl_show_analysis:N \l__tl_analysis_internal_tl } -\cs_new:Npn \tl_show_analysis_loop:wNw #1 \s_tl #2 #3 \s_tl +\cs_new:Npn \__tl_analysis_show_loop:wNw #1 \s__tl #2 #3 \s__tl { \use_none:n #2 \iow_newline: > \c_space_tl \c_space_tl - \if_num:w "#2 = \c_zero - \exp_after:wN \tl_show_analysis_cs:n + \if_int_compare:w "#2 = \c_zero + \exp_after:wN \__tl_analysis_show_cs:n \else: - \if_num:w "#2 = \c_thirteen + \if_int_compare:w "#2 = \c_thirteen \exp_after:wN \exp_after:wN - \exp_after:wN \tl_show_analysis_active:n + \exp_after:wN \__tl_analysis_show_active:n \else: \exp_after:wN \exp_after:wN - \exp_after:wN \tl_show_analysis_normal:n + \exp_after:wN \__tl_analysis_show_normal:n \fi: \fi: {#1} - \tl_show_analysis_loop:wNw + \__tl_analysis_show_loop:wNw } -\cs_new:Npn \tl_show_analysis_normal:n #1 +\cs_new:Npn \__tl_analysis_show_normal:n #1 { \exp_after:wN \token_to_str:N #1 ~ ( \exp_after:wN \token_to_meaning:N #1 ) } -\cs_new:Npn \tl_show_analysis_value:N #1 +\cs_new:Npn \__tl_analysis_show_value:N #1 { \token_if_expandable:NF #1 { - \token_if_chardef:NTF #1 \prg_map_break: { } - \token_if_mathchardef:NTF #1 \prg_map_break: { } - \token_if_dim_register:NTF #1 \prg_map_break: { } - \token_if_int_register:NTF #1 \prg_map_break: { } - \token_if_skip_register:NTF #1 \prg_map_break: { } - \token_if_toks_register:NTF #1 \prg_map_break: { } - \use_none:nnnn - \prg_break_point:n { } + \token_if_chardef:NTF #1 \__prg_break: { } + \token_if_mathchardef:NTF #1 \__prg_break: { } + \token_if_dim_register:NTF #1 \__prg_break: { } + \token_if_int_register:NTF #1 \__prg_break: { } + \token_if_skip_register:NTF #1 \__prg_break: { } + \token_if_toks_register:NTF #1 \__prg_break: { } + \use_none:nnn + \__prg_break_point: \use:n { = \tex_the:D #1 } } } -\cs_new:Npn \tl_show_analysis_cs:n #1 - { \exp_args:No \tl_show_analysis_long:nn {#1} { control~sequence= } } -\cs_new:Npn \tl_show_analysis_active:n #1 - { \exp_args:No \tl_show_analysis_long:nn {#1} { active~character= } } -\cs_new:Npn \tl_show_analysis_long:nn #1 +\cs_new:Npn \__tl_analysis_show_cs:n #1 + { \exp_args:No \__tl_analysis_show_long:nn {#1} { control~sequence= } } +\cs_new:Npn \__tl_analysis_show_active:n #1 + { \exp_args:No \__tl_analysis_show_long:nn {#1} { active~character= } } +\cs_new:Npn \__tl_analysis_show_long:nn #1 { - \tl_show_analysis_long_aux:oofn + \__tl_analysis_show_long_aux:oofn { \token_to_str:N #1 } { \token_to_meaning:N #1 } - { \tl_show_analysis_value:N #1 } + { \__tl_analysis_show_value:N #1 } } -\cs_new:Npn \tl_show_analysis_long_aux:nnnn #1#2#3#4 +\cs_new:Npn \__tl_analysis_show_long_aux:nnnn #1#2#3#4 { \int_compare:nNnTF - { \str_length:n { #1 ~ ( #4 #2 #3 ) } } - > { \l_iow_line_length_int - \c_three } + { \str_count:n { #1 ~ ( #4 #2 #3 ) } } + > { \l_iow_line_count_int - \c_three } { - \str_substr:nnn { #1 ~ ( #4 #2 #3 ) } \c_zero + \str_substr:nnn { #1 ~ ( #4 #2 #3 ) } \c_one { - \l_iow_line_length_int - \c_three - - \str_length:N \c_tl_show_analysis_etc_str + \l_iow_line_count_int - \c_three + - \str_count:N \c__tl_analysis_show_etc_str } - \c_tl_show_analysis_etc_str + \c__tl_analysis_show_etc_str } { #1 ~ ( #4 #2 #3 ) } } -\cs_generate_variant:Nn \tl_show_analysis_long_aux:nnnn { oof } -\tl_const:Nx \c_tl_show_analysis_etc_str % ( +\cs_generate_variant:Nn \__tl_analysis_show_long_aux:nnnn { oof } +\tl_const:Nx \c__tl_analysis_show_etc_str % ( { \token_to_str:N \ETC.) } -\msg_kernel_new:nnn { tl-analysis } { show } +\__msg_kernel_new:nnn { kernel } { show-tl-analysis } { The~token~list~ - \str_if_eq:nnF {#1} { \l_tl_analysis_internal_tl } + \str_if_eq:nnF {#1} { \l__tl_analysis_internal_tl } { \token_to_str:N #1 ~ } \tl_if_empty:NTF #1 { is~empty } |