78.13 Tables: Tabulate

<..context core-tbl..>
 \expandafter\def\csname \e!start\v!tabulate\endcsname{%
     \csname a:\v!tabulate\endcsname \bgroup
          \expandafter\aftergroup\csname b:\v!tabulate\endcsname
            \HRestore\noalign \let\halign\TeXhalign
             \dodoubleempty\donormalstarttabulate}
 \NewConfigure{\v!tabulate}{2}
 -_-_-

<..context core-tbl..>+
 \catcode‘\|=13
 \def\nexttabulate#1|%
   {\chardef\tabulatealign\@@tabulatealign
    \chardef\tabulatemodus\zerocount
    \chardef\tabulatedimen\zerocount
    \tabulatebefore  \emptytoks
    \tabulateafter   \emptytoks
    \tabulatebmath   \emptytoks
    \tabulateemath   \emptytoks
    \tabulatefont    \emptytoks
    \tabulatesettings\emptytoks
    \global\advance\tabulatecolumns\plusone
    \letvalue{\@@tabsetups@@\the\tabulatecolumns}\donothing
    \settabulatepreamble#1\relax\relax % permits i without n
    \ifcase\tabulatemodus\relax
      \ifcase\tabulatealign\relax
        \dodosettabulatepreamble{{<}\empty}
                                {\tabulate:endcol\tabulatehss}   \or
        \dodosettabulatepreamble{{<}\empty}
                                {\tabulate:endcol\tabulatehss}   \or
        \dodosettabulatepreamble{{>}\tabulatehss}
                                {\tabulate:endcol\empty}         \or
        \dodosettabulatepreamble{{-}\tabulatehss}
                                {\tabulate:endcol\tabulatehss}   \fi
    \or % fixed width
      \ifcase\tabulatealign\relax
        \dodosettabulatepreamble{{-}\bskip}
                                {\tabulate:endcol\eskip} \or
        \dodosettabulatepreamble{{<}\bskip\tabulateraggedright }
                                {\tabulate:endcol\eskip} \or
        \dodosettabulatepreamble{{>}\bskip\tabulateraggedleft  }
                                {\tabulate:endcol\eskip} \or
        \dodosettabulatepreamble{{-}\bskip\tabulateraggedcenter}
                                {\tabulate:endcol\eskip} \fi
    \or % auto width
      \global\advance\nofautotabulate\plusone
      \ifcase\tabulatealign\relax
        \dodosettabulatepreamble{{-}\bskip}
                                 {\tabulate:endcol\eskip} \or
        \dodosettabulatepreamble{{<}\bskip\tabulateraggedright }
                                {\tabulate:endcol\eskip} \or
        \dodosettabulatepreamble{{>}\bskip\tabulateraggedleft  }
                                {\tabulate:endcol\eskip} \or
        \dodosettabulatepreamble{{-}\bskip\tabulateraggedcenter}
                                {\tabulate:endcol\eskip} \fi
    \or % simple
      \dodosettabulatepreamble {{-}\xbskip} {\tabulate:endcol\xeskip}
    \fi
    \futurelet\next\donexttabulate}
 \catcode‘\|=11
 -_-_-

<..context core-tbl..>+
 \let\o:dodosettabulatepreamble=\dodosettabulatepreamble
 \def\dodosettabulatepreamble#1#2{%
    \let\tabulate:col=\relax
    \let\tabulate:endcol=\relax
    \edef\:temp{\tabulate:col{\the\tabulatecolumns}}%
    \expandafter\o:dodosettabulatepreamble
                         \expandafter{\expandafter{\:temp #1}}{#2}%
    \let\tabulate:col=\tabulate:Col
    \let\tabulate:endcol=\tabulate:Endcol
 }
 \def\tabulate:Col#1#2{\def\HCol{#1}%
                       \edef\HRow{\noftabulatelines}\def\HAlign{#2}%
    \ifnum #1=1
       \ifnum \noftabulatelines=0
       \else \csname d:\v!tabulate\endcsname\fi
       \csname c:\v!tabulate\endcsname
    \fi
    \csname e:\v!tabulate\endcsname}
 \def\tabulate:Endcol{\csname f:\v!tabulate\endcsname}
 -_-_-

<..context core-tbl..>+
 \expandafter\def\csname \e!start\v!tabulate\endcsname{%
     \csname a:\v!tabulate\endcsname \bgroup
          \expandafter\aftergroup\csname d:\v!tabulate\endcsname
          \expandafter\aftergroup\csname b:\v!tabulate\endcsname
            \HRestore\noalign \let\halign\TeXhalign
             \dodoubleempty\donormalstarttabulate}
 \NewConfigure{\v!tabulate}{6}
 -_-_-