summaryrefslogtreecommitdiff
path: root/support/splint/tex/yxunion.sty
blob: 4d03d83c782cfdd7abed3580eedac68a1445381e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
% Copyright 2012-2020, Alexander Shibakov
% This file is part of SPLinT
%
% SPLinT is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% SPLinT is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with SPLinT.  If not, see <http://www.gnu.org/licenses/>.

% the original, minimal bootstrapping macros were designed to process
% \prodstyle{\%token} declarations only and are enough to establish the
% interface between the \bison\ parser and the \bison\ lexer; to serve 
% the secondary task of providing typesetting information to 
% the \bison\ parser, all forms of token declarations must be processed.

\restorecslist{bootstrap}\yyunion % get the original bootstrap macros

\def\precdecls#1#2#3#4#5{#3}

\def\symbolprec#1#2{%
    \toksa{}\toksb{}%
    #1%
    \yytoksempty\toksb{}{\immediate\write\tokendefs{\noexpand\tokenpp{\the\toksb}}}%    
}

\savecslist{bootstrap}\yyunion