Scanning of Cells

<..HTable..>+
 \long\def\Get:Int#1#2<.par del.>\:out{%
    \def\:next{%
       \edef\:next{\the\tmp:cnt\space}%
       \HAssign#1=\:next #2<.par del.>\:out}%
    \afterassignment\:next
    \tmp:cnt }
 -_-_-

<..HTable..>+
 \def\DefGetArg#1#2#3{\def\:temp{#3}%
    \ifx \:temp\NoArg  \D:fGetArg{#1}{#2}#3#3\else
                        \D:fGetArg{#1}{#2}{#3}{}\fi
 }
 \def\D:fGetArg#1#2#3#4{%
    \expand:after{\long\def}\csname
         Get:Arg:#1:#2\endcsname##1##2!*?: \:out{%
       \def\:next####1#3{\def##1{####1}%
                         <.no token?.>#4##2!*?: \:out}%
       \:next }}
 
 \DefGetArg{}{}{}
 -_-_-

\DefGetArg{}{1}\tok:nmath’ tages the full entry, but it is problematic for a tail entry in a row.

Use

<..HTable..>+
 \def\stgt:arg#1#2{%
   \expand:after{\let\:tempa=}\csname Get:Arg:#1:#2\endcsname
   \ifx \:tempa\relax \else \let\:temp=\:tempa \fi }
 \def\Get:Arg{%
   \let\:temp=\Get:Arg::\stgt:arg{}\HCol \stgt:arg\HRow{}%
   \stgt:arg\HRow\Col \:temp}
 -_-_-

<..no token?..>
 \ifx \tbl:typ\tbl:bdy  \else
    \ifx    ##1\&\let##1=\NoArg\fi
    \ifx ##1\CR  \let##1=\NoArg\fi
 \fi
 -_-_-

<..HTable..>+
 \def\NoArg{\tok:nmath}
 -_-_-