]> matita.cs.unibo.it Git - helm.git/blob - helm/ocaml/tactics/doc/semantic.sty
ocaml 3.09 transition
[helm.git] / helm / ocaml / tactics / doc / semantic.sty
1 %%
2 %% This is file `semantic.sty',
3 %% generated with the docstrip utility.
4 %%
5 %% The original source files were:
6 %%
7 %% semantic.dtx  (with options: `general')
8 %% 
9 %% IMPORTANT NOTICE:
10 %% 
11 %% For the copyright see the source file.
12 %% 
13 %% Any modified versions of this file must be renamed
14 %% with new filenames distinct from semantic.sty.
15 %% 
16 %% For distribution of the original source see the terms
17 %% for copying and modification in the file semantic.dtx.
18 %% 
19 %% This generated file may be distributed as long as the
20 %% original source files, as listed above, are part of the
21 %% same distribution. (The sources need not necessarily be
22 %% in the same archive or directory.)
23 %%
24 %% semantic.dtx  (c)1995--2002 Peter M^^f8ller Neergaard and
25 %%                             Arne John Glenstrup
26 %%
27 \NeedsTeXFormat{LaTeX2e}
28 \newcommand{\semanticVersion}{2.0(epsilon)}
29 \newcommand{\semanticDate}{2003/10/28}
30 \ProvidesPackage{semantic}
31   [\semanticDate\space v\semanticVersion\space]
32 \typeout{Semantic Package v\semanticVersion\space [\semanticDate]}
33 \typeout{CVSId: $Id$}
34 \newcounter{@@conflict}
35 \newcommand{\@semanticNotDefinable}{%
36   \typeout{Command \@backslashchar\reserved@a\space already defined}
37   \stepcounter{@@conflict}}
38 \newcommand{\@oldNotDefinable}{}
39 \let\@oldNotDefinable=\@notdefinable
40 \let\@notdefinable=\@semanticNotDefinable
41 \newcommand{\TestForConflict}{}
42 \def\TestForConflict#1{\sem@test #1,,}
43 \newcommand{\sem@test}{}
44 \newcommand{\sem@tmp}{}
45 \newcommand{\@@next}{}
46 \def\sem@test#1,{%
47   \def\sem@tmp{#1}%
48   \ifx \sem@tmp\empty \let\@@next=\relax \else
49     \@ifdefinable{#1}{} \let\@@next=\sem@test \fi
50   \@@next}
51 \TestForConflict{\@inputLigature,\@inputInference,\@inputTdiagram}
52 \TestForConflict{\@inputReservedWords,\@inputShorthand}
53 \TestForConflict{\@ddInput,\sem@nticsLoader,\lo@d}
54 \def\@inputLigature{\input{ligature.sty}\message{ math mode ligatures,}%
55                      \let\@inputLigature\relax}
56 \def\@inputInference{\input{infernce.sty}\message{ inference rules,}%
57                      \let\@inputInference\relax}
58 \def\@inputTdiagram{\input{tdiagram.sty}\message{ T diagrams,}%
59                      \let\@inputTdiagram\relax}
60 \def\@inputReservedWords{\input{reserved.sty}\message{ reserved words,}%
61                      \let\@inputReservedWords\relax}
62 \def\@inputShorthand{\input{shrthand.sty}\message{ short hands,}%
63                      \let\@inputShorthand\relax}
64 \toks1={}
65 \newcommand{\@ddInput}[1]{%
66   \toks1=\expandafter{\the\toks1\noexpand#1}}
67 \DeclareOption{ligature}{\@ddInput\@inputLigature}
68 \DeclareOption{inference}{\@ddInput\@inputInference}
69 \DeclareOption{tdiagram}{\@ddInput\@inputTdiagram}
70 \DeclareOption{reserved}{\@ddInput\@inputReservedWords}
71 \DeclareOption{shorthand}{\@ddInput\@inputLigature
72    \@ddInput\@inputShorthand}
73 \ProcessOptions*
74 \typeout{Loading features: }
75 \def\sem@nticsLoader{}
76 \edef\lo@d{\the\toks1}
77 \ifx\lo@d\empty
78   \@inputLigature
79   \@inputInference
80   \@inputTdiagram
81   \@inputReservedWords
82   \@inputShorthand
83 \else
84   \lo@d
85 \fi
86 \typeout{and general definitions.^^J}
87 \let\@ddInput\relax
88 \let\@inputInference\relax
89 \let\@inputLigature\relax
90 \let\@inputTdiagram\relax
91 \let\@inputReservedWords\relax
92 \let\@inputShorthand\relax
93 \let\sem@nticsLoader\realx
94 \let\lo@d\relax
95 \TestForConflict{\@dropnext,\@ifnext,\@ifn,\@ifNextMacro,\@ifnMacro}
96 \TestForConflict{\@@maxwidth,\@@pLineBox,\if@@Nested,\@@cBox}
97 \TestForConflict{\if@@moreLines,\@@pBox}
98 \def\@ifnext#1#2#3{%
99   \let\reserved@e=#1\def\reserved@a{#2}\def\reserved@b{#3}\futurelet%
100   \reserved@c\@ifn}
101 \def\@ifn{%
102       \ifx \reserved@c \reserved@e\let\reserved@d\reserved@a\else%
103           \let\reserved@d\reserved@b\fi \reserved@d}
104 \def\@ifNextMacro#1#2{%
105   \def\reserved@a{#1}\def\reserved@b{#2}%
106     \futurelet\reserved@c\@ifnMacro}
107 \def\@ifnMacro{%
108   \ifcat\noexpand\reserved@c\noexpand\@ifnMacro
109     \let\reserved@d\reserved@a
110   \else \let\reserved@d\reserved@b\fi \reserved@d}
111 \newcommand{\@dropnext}[2]{#1}
112 \ifnum \value{@@conflict} > 0
113    \PackageError{Semantic}
114      {The \the@@conflict\space command(s) listed above have been
115       redefined.\MessageBreak
116       Please report this to turtle@bu.edu}
117      {Some of the commands defined in semantic was already defined %
118       and has\MessageBreak now be redefined. There is a risk that %
119       these commands will be used\MessageBreak by other packages %
120       leading to spurious errors.\MessageBreak
121       \space\space Type <return> and cross your fingers%
122 }\fi
123 \let\@notdefinable=\@oldNotDefinable
124 \let\@semanticNotDefinable=\relax
125 \let\@oldNotDefinable=\relax
126 \let\TestForConflict=\relax
127 \let\@endmark=\relax
128 \let\sem@test=\relax
129 \newdimen\@@maxwidth
130 \newbox\@@pLineBox
131 \newbox\@@cBox
132 \newbox\@@pBox
133 \newif\if@@moreLines
134 \newif\if@@Nested \@@Nestedfalse
135 \endinput
136 %%
137 %% End of file `semantic.sty'.