|
383 | 383 | \newcommand\notmember[0]{\mathrel{\not\in}} % DO NOT LINT |
384 | 384 | \newcommand\unionlist[0]{\hyperlink{def-unionlist}{\textfunc{union\_list}}} |
385 | 385 | \newcommand\UNIONLIST[1]{\unionlist\left({#1}\right)} % A union of a list of sets |
| 386 | +\newcommand\assocopt[3][H]{% DO NOT LINT |
| 387 | + \ifnum\pdfstrcmp{#1}{H}=0\relax |
| 388 | + \hyperlink{operator-assocopt}{\textfunc{assoc\_opt}}({#2}, {#3}) |
| 389 | + \else |
| 390 | + \hyperlink{operator-assocopt}{\textfunc{assoc\_opt}} |
| 391 | + \left(\begin{array}{l} |
| 392 | + ({#2},\\ |
| 393 | + {#3})\\ |
| 394 | + \end{array}\right) |
| 395 | + \fi |
| 396 | +} |
| 397 | +\newcommand\assocoptname[0]{\hyperlink{operator-assocopt}{\textfunc{assoc\_opt}}} % DO NOT LINT |
386 | 398 |
|
387 | 399 | \newcommand\intplus[0]{\mathbin{+}} % DO NOT LINT |
388 | 400 | \newcommand\intminus[0]{\mathbin{-}} % DO NOT LINT |
|
403 | 415 | \newcommand\concat[0]{\hyperlink{operator-concat}{\mathbin{+}}} |
404 | 416 | \newcommand\concatlist[1]{\hyperlink{operator-concatlist}{\textfunc{concat\_list}}(#1)} |
405 | 417 | \newcommand\cons[0]{\hyperlink{operator-cons}{\mathbin{{+}{+}}}} |
406 | | -\newcommand\listcombine[0]{\hyperlink{operator-listcombine}{\times}} % DO NOT LINT |
| 418 | +\newcommand\listcombine[3][H]{ % DO NOT LINT |
| 419 | + \ifnum\pdfstrcmp{#1}{H}=0\relax |
| 420 | + {#2} \mathbin{\hyperlink{operator-listcombine}{\times}} {#3} % DO NOT LINT |
| 421 | + \else |
| 422 | + \hyperlink{operator-listcombine}{\textfunc{list\_combine}} % DO NOT LINT |
| 423 | + \left(\begin{array}{l} |
| 424 | + {#2} \hyperlink{operator-listcombine}{\times}\\ % DO NOT LINT |
| 425 | + {#3}\\ |
| 426 | + \end{array}\right) |
| 427 | + \fi |
| 428 | +} |
| 429 | +\newcommand\listcombinethree[4][H]{ % DO NOT LINT |
| 430 | + \ifnum\pdfstrcmp{#1}{H}=0\relax |
| 431 | + {#2} \mathbin{\hyperlink{operator-listcombinethree}{\times_3}} {#3} \mathbin{\hyperlink{operator-listcombinethree}{\times_3}} {#4} % DO NOT LINT |
| 432 | + \else |
| 433 | + \hyperlink{operator-listcombinethree}{\textfunc{list\_combine\_3}} % DO NOT LINT |
| 434 | + \left(\begin{array}{l} |
| 435 | + {#2} \hyperlink{operator-listcombinethree}{\times_3}\\ % DO NOT LINT |
| 436 | + {#3} \hyperlink{operator-listcombinethree}{\times_3}\\ % DO NOT LINT |
| 437 | + {#4}\\ |
| 438 | + \end{array}\right) |
| 439 | + \fi |
| 440 | +} |
407 | 441 |
|
408 | 442 | \newcommand\parallelcomp[0]{\hyperlink{def-parallel}{\mathbin{\parallel}}} |
409 | 443 | \newcommand\ordered[3]{{#1}\hyperlink{def-ordered}{\xrightarrow{#2}}{#3}} |
|
416 | 450 | \newcommand\withgraph[3][H]{ {#2}(\hyperlink{operator-withgraph}{\textfunc{graph}}\mapsto{#3}) } % NO_SPECIFICATION_REQUIRED |
417 | 451 | \newcommand\withenviron[3][H]{ {#2}(\hyperlink{def-withenviron}{\textfunc{environ}}\mapsto{#3}) } % NO_SPECIFICATION_REQUIRED |
418 | 452 |
|
| 453 | +\newcommand\concatstrings[0]{\hyperlink{operator-stringconcat}{\mathbin{+}}} |
| 454 | +\newcommand\decimaltolitname[0]{\hyperlink{operator-decimaltolit}{\textfunc{dec\_to\_lit}}} % NO_SPECIFICATION_REQUIRED |
| 455 | +\newcommand\decimaltolit[1]{\decimaltolitname\left(#1\right)} % NO_SPECIFICATION_REQUIRED |
| 456 | + |
419 | 457 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
420 | 458 |
|
421 | 459 | \newcommand\overname[2]{\overbrace{#1}^{#2}} |
|
439 | 477 | \newcommand\uniquelist[0]{\hyperlink{def-uniquelist}{\textfunc{unique}}} |
440 | 478 | \newcommand\listset[0]{\hyperlink{def-listset}{\textfunc{list\_set}}} |
441 | 479 | \newcommand\listprefix[0]{\hyperlink{def-listprefix}{\textfunc{prefix}}} |
442 | | -\newcommand\stringconcat[0]{\hyperlink{def-stringconcat}{\texttt{+}}} |
443 | 480 | \newcommand\stringofnat[0]{\hyperlink{def-stringofnat}{\texttt{string\_of\_nat}}} |
444 | 481 |
|
445 | 482 | \newcommand\Ignore[0]{\hyperlink{def-ignore}{\underline{\;\;}}} |
|
897 | 934 | \newcommand\remaxmatch[0]{\hyperlink{def-rematch}{\textfunc{re\_max\_match}}} % NO_SPECIFICATION_REQUIRED |
898 | 935 | \newcommand\Token[0]{\hyperlink{def-token}{\mathbb{T}\mathbb{O}\mathbb{K}\mathbb{E}\mathbb{N}}} |
899 | 936 | \newcommand\discard[0]{\hyperlink{def-discard}{\textfunc{discard}}} % NO_SPECIFICATION_REQUIRED |
900 | | -\newcommand\decimaltolit[0]{\hyperlink{def-decimaltolit}{\textfunc{dec\_to\_lit}}} % NO_SPECIFICATION_REQUIRED |
901 | 937 | \newcommand\hextolit[0]{\hyperlink{def-hextolit}{\textfunc{hex\_to\_lit}}} % NO_SPECIFICATION_REQUIRED |
902 | 938 | \newcommand\realtolit[0]{\hyperlink{def-realtolit}{\textfunc{real\_to\_lit}}} % NO_SPECIFICATION_REQUIRED |
903 | 939 | \newcommand\strtolit[0]{\hyperlink{def-strtolit}{\textfunc{str\_to\_lit}}} % NO_SPECIFICATION_REQUIRED |
|
913 | 949 | \newcommand\Terror[0]{\hyperlink{def-terror}{\terminal{T\_ERR}}} |
914 | 950 | \newcommand\Twhitespace[0]{\hyperlink{def-twhitespace}{\textsf{WHITE\_SPACE}}} |
915 | 951 | \newcommand\LexSpec[0]{\hyperlink{def-lexspec}{\textsf{LexSpec}}} |
916 | | -\newcommand\Lang[0]{\hyperlink{def-lang}{\textsf{Lang}}} |
| 952 | +\newcommand\Lang[1]{\hyperlink{def-lang}{\textsf{Lang}}\left(#1\right)} |
917 | 953 | \newcommand\RegExp[0]{\hyperlink{def-regex}{\textsf{RegExp}}} |
918 | 954 | \newcommand\ascii[1]{\hyperlink{def-ascii}{\textsf{ASCII}}\texttt{\{#1\}}} |
919 | 955 | \newcommand\vnewline[0]{\hyperlink{def-newline}{\texttt{newline}}} |
|
1144 | 1180 | \newcommand\Supers{\textsf{Supers}} |
1145 | 1181 | \newcommand\Prosecheckisnotcollection[2]{\hyperlink{relation-checkisnotcollection}{determining} |
1146 | 1182 | whether #2 is not a \collectiontypeterm{} in #1 yields $\True$\ProseOrTypeError} |
1147 | | -\newcommand\assocopt[0]{\hyperlink{def-assocopt}{\textfunc{assoc\_opt}}} % SPECIFICATION_DEFERRED |
1148 | 1183 | \newcommand\Proseannotatesymbolicallyevaluableexpr[3]{\hyperlink{relation-annotatesymbolicallyevaluableexpr}{annotating} the |
1149 | 1184 | \symbolicallyevaluableterm\ expression #2 in the static environment #1 yields #3} |
1150 | 1185 | \newcommand\checkstructurelabel[0]{\hyperlink{relation-checkstructurelabel}{\textfunc{check\_structure}}} % SPECIFIED |
|
0 commit comments