diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/splint/tex/yystype.sty |
Initial commit
Diffstat (limited to 'support/splint/tex/yystype.sty')
-rw-r--r-- | support/splint/tex/yystype.sty | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/support/splint/tex/yystype.sty b/support/splint/tex/yystype.sty new file mode 100644 index 0000000000..e37b298590 --- /dev/null +++ b/support/splint/tex/yystype.sty @@ -0,0 +1,65 @@ +% Copyright 2012-2014, 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/>. + +% extra types for the bison scanner + +\def\lexspecialchar#1#2#3{\immediate\write16{encountered: \noexpand#1 fmark: #2, smark: #3}} + +\def\newlexerstateextra{% + \setnulstack{obstackforstring}% + \setnulstack{obstackforstringraw}% +} + +\def\savefullstateextra{% + \savestatelist{obstackforstring}% + \savestatelist{obstackforstringraw}% +} + +% lexer environment + +\def\yycomplain#1{\immediate\write16{#1}} % lexer errors +\def\yypdeprecated#1{\errmessage{option: #1 is ignored}} % outdated options + +\def\STRINGGROW{% + \concat\currentlaststring\yytextpure + \concat\currentlaststringraw\yytext} + +\def\STRINGFINISH{% + \laststring\currentlaststring + \laststringraw\currentlaststringraw + \yypushr\currentlaststring\on\obstackforstring + \yypushr\currentlaststringraw\on\obstackforstringraw + \currentlaststring{}% + \currentlaststringraw{}% +} +\def\STRINGFREE{% + \yypopstack\obstackforstring\by\@ne + \currentlaststring{}% + \yypopstack\obstackforstringraw\by\@ne + \currentlaststringraw{}% +} + +\def\bracketedidstr{} + +\newcount\contextstate % keeping track of the previous lexer state +\newcount\bracketedidcontextstate % similar but in the context of bracketed identifiers +\newcount\lonesting % nesting level for tags +\newcount\percentpercentcount + +\newtoks\laststring +\newtoks\laststringraw +\newtoks\currentlaststring +\newtoks\currentlaststringraw |