1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17\unprotect
18
19\unexpanded\def\module_syntax_Indent #1{\ifvmode\noindent\hbox to 2em{\hss#1}\else#1\fi}
20\unexpanded\def\module_syntax_Sugar #1{\removeunwantedspaces\kern.25em{#1}\kern.25em\ignorespaces}
21\unexpanded\def\module_syntax_Something #1{\Sugar{\mathematics{\langle\hbox{#1}\rangle}}}
22\unexpanded\def\module_syntax_Lbrace {\Sugar{\tttf\leftargument}}
23\unexpanded\def\module_syntax_Rbrace {\Sugar{\tttf\rightargument}}
24\unexpanded\def\module_syntax_Lparent {\Sugar{\tttf(}}
25\unexpanded\def\module_syntax_Rparent {\Sugar{\tttf)}}
26\unexpanded\def\module_syntax_Lbracket {\Sugar{\tttf[}}
27\unexpanded\def\module_syntax_Rbracket {\Sugar{\tttf]}}
28\unexpanded\def\module_syntax_Or {\Sugar{\mathematics{\vert}}}
29\unexpanded\def\module_syntax_Optional #1{\Sugar{\mathematics{[\hbox{#1}]}}}
30\unexpanded\def\module_syntax_Means {\Sugar{\mathematics{\rightarrow}}}
31\unexpanded\def\module_syntax_Tex #1{\Sugar{\type{#1}}}
32\unexpanded\def\module_syntax_Literal #1{\Sugar{\type{#1}}}
33\unexpanded\def\module_syntax_Syntax #1{\strut\kern.25em{#1}\kern.25em}
34\unexpanded\def\module_syntax_Next {\par\strut\kern4em}
35\unexpanded\def\module_syntax_Whatever #1{\Sugar{\mathematics{(\hbox{#1})}}}
36\unexpanded\def\module_syntax_Quote #1{\Sugar{\quote{#1}}}
37\unexpanded\def\module_syntax_Or {\Sugar{\module_syntax_Indent{\mathematics{\vert}}}}
38\unexpanded\def\module_syntax_Means {\Sugar{\module_syntax_Indent{\mathematics{\rightarrow}}}}
39\unexpanded\def\module_syntax_FlaggedLiteral #1{\color[darkred]{\module_syntax_Literal{#1}}}
40\unexpanded\def\module_syntax_FlaggedSomething#1{\module_syntax_Something{\color[darkred]{#1}}}
41
42\unexpanded\def\StartSyntax
43 {\startlines
44
45 \enforced\let\Indent \module_syntax_Indent
46 \enforced\let\Sugar \module_syntax_Sugar
47 \enforced\let\Something \module_syntax_Something
48 \enforced\let\Lbrace \module_syntax_Lbrace
49 \enforced\let\Rbrace \module_syntax_Rbrace
50 \enforced\let\Lparent \module_syntax_Lparent
51 \enforced\let\Rparent \module_syntax_Rparent
52 \enforced\let\Lbracket \module_syntax_Lbracket
53 \enforced\let\Rbracket \module_syntax_Rbracket
54 \enforced\let\Or \module_syntax_Or
55 \enforced\let\Optional \module_syntax_Optional
56 \enforced\let\Means \module_syntax_Means
57 \enforced\let\Tex \module_syntax_Tex
58 \enforced\let\Literal \module_syntax_Literal
59 \enforced\let\Syntax \module_syntax_Syntax
60 \enforced\let\Next \module_syntax_Next
61 \enforced\let\Whatever \module_syntax_Whatever
62 \enforced\let\Quote \module_syntax_Quote
63 \enforced\let\Or \module_syntax_Or
64 \enforced\let\Means \module_syntax_Means
65 \enforced\let\FlaggedLiteral \module_syntax_FlaggedLiteral
66 \enforced\let\FlaggedSomething\module_syntax_FlaggedSomething
67
68 \enforced\let\FL \module_syntax_FlaggedLiteral
69 \enforced\let\FS \module_syntax_FlaggedSomething
70 \enforced\let\L \module_syntax_Literal
71 \enforced\let\S \module_syntax_Something
72 \enforced\let\M \module_syntax_Means
73 \enforced\let\N \module_syntax_Next
74 \enforced\let\O \module_syntax_Or
75 \enforced\let\Q \module_syntax_Quote
76 \enforced\let\LB \module_syntax_Lbrace
77 \enforced\let\RB \module_syntax_Rbrace
78 \enforced\let\LP \module_syntax_Lparent
79 \enforced\let\RP \module_syntax_Rparent
80 \enforced\let\LS \module_syntax_Lbracket
81 \enforced\let\RS \module_syntax_Rbracket
82 \enforced\let\{ \module_syntax_Lbrace
83 \enforced\let\} \module_syntax_Rbrace
84 \enforced\let\( \module_syntax_Lparent
85 \enforced\let\) \module_syntax_Rparent
86 \enforced\let\[ \module_syntax_Lbracket
87 \enforced\let\] \module_syntax_Rbracket
88
89 \catcode\#\othercatcode}
90
91\unexpanded\def\StopSyntax
92 {\stoplines}
93
94\unexpanded\def\SyntaxCommand#1
95 {\csname modulesyntax#1\endcsname}
96
97\protect \endinput
98 |