Mercurial > hg > octave-nkf
annotate doc/interpreter/munge-texi.cc @ 8960:93f18f166aba
remove float perm matrices
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Thu, 12 Mar 2009 09:24:37 +0100 |
parents | eb63fbe60fab |
children | 71fca0fc2436 |
rev | line source |
---|---|
3313 | 1 /* |
2 | |
8920 | 3 Copyright (C) 1999, 2000, 2002, 2003, 2005, 2007, 2008 John W. Eaton |
3313 | 4 |
5 This file is part of Octave. | |
6 | |
7 Octave is free software; you can redistribute it and/or modify it | |
8 under the terms of the GNU General Public License as published by the | |
7016 | 9 Free Software Foundation; either version 3 of the License, or (at your |
10 option) any later version. | |
3313 | 11 |
12 Octave is distributed in the hope that it will be useful, but WITHOUT | |
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
15 for more details. | |
16 | |
17 You should have received a copy of the GNU General Public License | |
7016 | 18 along with Octave; see the file COPYING. If not, see |
19 <http://www.gnu.org/licenses/>. | |
3313 | 20 |
21 */ | |
22 | |
4279 | 23 #if defined (__DECCXX) |
24 #define __USE_STD_IOSTREAM | |
25 #endif | |
26 | |
4177 | 27 #include <cctype> |
3575 | 28 #include <iostream> |
29 #include <fstream> | |
3294 | 30 #include <string> |
4215 | 31 #include <map> |
3294 | 32 |
7048 | 33 #include <cstdlib> |
34 #include <cstring> | |
35 | |
3294 | 36 static const char doc_delim = ''; |
37 | |
4178 | 38 static std::map<std::string, std::string> help_text; |
4177 | 39 |
3294 | 40 static void |
3575 | 41 fatal (const std::string& msg) |
3294 | 42 { |
3575 | 43 std::cerr << msg << "\n"; |
3294 | 44 exit (1); |
45 } | |
46 | |
47 static void | |
48 usage (void) | |
49 { | |
3575 | 50 std::cerr << "usage: munge-texi -d DOCSTRING-FILE file ...\n"; |
3294 | 51 exit (1); |
52 } | |
53 | |
3575 | 54 static std::string |
3576 | 55 extract_symbol_name (std::istream& is) |
3294 | 56 { |
3575 | 57 std::string symbol_name; |
3294 | 58 |
59 int c; | |
60 while ((c = is.get ()) != EOF && c != '\n') | |
61 symbol_name += (char) c; | |
62 | |
63 return symbol_name; | |
64 } | |
65 | |
3575 | 66 static std::string |
67 extract_docstring (std::istream& is) | |
3294 | 68 { |
3575 | 69 std::string doc; |
3294 | 70 |
71 int c; | |
72 while ((c = is.get ()) != EOF && c != doc_delim) | |
8287
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
73 { |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
74 // Expand @seealso commands to Texinfo references. |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
75 if (c == '@') |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
76 { |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
77 char buf[16]; |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
78 int i = 0; |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
79 buf[i++] = (char) c; |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
80 |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
81 if (( buf[i++] = (char) is.get ()) == 's' |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
82 && (buf[i++] = (char) is.get ()) == 'e' |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
83 && (buf[i++] = (char) is.get ()) == 'e' |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
84 && (buf[i++] = (char) is.get ()) == 'a' |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
85 && (buf[i++] = (char) is.get ()) == 'l' |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
86 && (buf[i++] = (char) is.get ()) == 's' |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
87 && (buf[i++] = (char) is.get ()) == 'o' |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
88 && (buf[i++] = (char) is.get ()) == '{') |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
89 { |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
90 doc += "@seealso{"; |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
91 |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
92 bool first = true; |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
93 |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
94 // process @seealso parameters |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
95 while ((c = is.get ()) != EOF |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
96 && c != doc_delim |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
97 && c != '}') |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
98 { |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
99 // ignore whitespace and delimiters |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
100 while ( c == ' ' |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
101 || c == '\t' |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
102 || c == '\r' |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
103 || c == '\n' |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
104 || c == ',') |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
105 { |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
106 c = is.get (); |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
107 } |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
108 |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
109 // test for end of @seealso |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
110 if (c == '}') |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
111 break; |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
112 |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
113 // get function name |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
114 std::string function_name; |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
115 do |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
116 function_name += (char) c; |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
117 while ((c = is.get ()) != EOF |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
118 && c != doc_delim |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
119 && c != ' ' |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
120 && c != '\t' |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
121 && c != '\r' |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
122 && c != '\n' |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
123 && c != ',' |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
124 && c != '}'); |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
125 if (first) |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
126 first = false; |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
127 else |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
128 doc += ", "; |
3294 | 129 |
8287
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
130 doc += "@ref{doc-" + function_name + ",," |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
131 + function_name + "}"; |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
132 |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
133 // test for end of @seealso |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
134 if (c == '}') |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
135 break; |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
136 } |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
137 if (c == '}') |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
138 doc += (char) c; |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
139 } |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
140 else |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
141 { |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
142 for (int j = 0; j < i; j++) |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
143 doc += buf[j]; |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
144 } |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
145 } |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
146 else |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
147 doc += (char) c; |
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
148 } |
3294 | 149 return doc; |
150 } | |
151 | |
152 static void | |
5334 | 153 skip_comments (std::ifstream& is) |
154 { | |
155 int c; | |
156 | |
157 bool in_comment = false; | |
158 | |
159 while ((c = is.get ()) != EOF) | |
160 { | |
161 if (c == '#') | |
162 in_comment = true; | |
163 else if (c == '\n') | |
164 in_comment = false; | |
165 else if (! (in_comment || ::isspace (c))) | |
166 { | |
167 is.putback (c); | |
168 break; | |
169 } | |
170 } | |
171 } | |
172 | |
173 static void | |
3575 | 174 process_doc_file (const std::string& fname) |
3294 | 175 { |
3575 | 176 std::ifstream infile (fname.c_str ()); |
3294 | 177 |
178 if (infile) | |
179 { | |
5334 | 180 skip_comments (infile); |
181 | |
3294 | 182 if (infile.get () != doc_delim) |
183 fatal ("invalid doc file format"); | |
184 | |
3575 | 185 std::string symbol_name; |
3294 | 186 |
187 do | |
188 { | |
189 symbol_name = extract_symbol_name (infile); | |
190 | |
191 if (! symbol_name.empty ()) | |
192 { | |
3575 | 193 std::string doc_string = extract_docstring (infile); |
3294 | 194 |
4177 | 195 if (help_text.find (symbol_name) != help_text.end ()) |
3575 | 196 std::cerr << "ignoring duplicate entry for " |
197 << symbol_name << "\n"; | |
3294 | 198 else |
199 help_text[symbol_name] = doc_string; | |
200 } | |
201 } | |
202 while (! symbol_name.empty ()); | |
203 } | |
204 else | |
205 fatal ("unable to open docfile"); | |
206 } | |
207 | |
208 static void | |
3575 | 209 process_texi_input_file (std::istream& is, std::ostream& os) |
3294 | 210 { |
3404 | 211 os << "@c DO NOT EDIT! Generated automatically by munge-texi.\n\n"; |
3294 | 212 |
213 bool bol = true; | |
214 | |
215 int c; | |
216 while ((c = is.get ()) != EOF) | |
217 { | |
218 if (bol) | |
219 { | |
220 if (c == '@') | |
221 { | |
3575 | 222 std::string symbol_name; |
3294 | 223 |
224 char buf[16]; | |
225 int i = 0; | |
8287
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
226 buf[i++] = (char) c; |
3294 | 227 |
8287
f3dbea0e8a1d
Adapted munge-texi to expand @seealso commands to texinfo references
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7048
diff
changeset
|
228 if (( buf[i++] = (char) is.get ()) == 'D' |
3294 | 229 && (buf[i++] = (char) is.get ()) == 'O' |
230 && (buf[i++] = (char) is.get ()) == 'C' | |
231 && (buf[i++] = (char) is.get ()) == 'S' | |
232 && (buf[i++] = (char) is.get ()) == 'T' | |
233 && (buf[i++] = (char) is.get ()) == 'R' | |
234 && (buf[i++] = (char) is.get ()) == 'I' | |
235 && (buf[i++] = (char) is.get ()) == 'N' | |
236 && (buf[i++] = (char) is.get ()) == 'G' | |
237 && (buf[i++] = (char) is.get ()) == '(') | |
238 { | |
239 while ((c = is.get ()) != EOF && c != ')') | |
240 symbol_name += (char) c; | |
241 | |
242 if (is.eof ()) | |
243 fatal ("end of file while reading @DOCSTRING command"); | |
244 else | |
3301 | 245 { |
3575 | 246 std::string doc_string = help_text[symbol_name]; |
3301 | 247 |
4623 | 248 int j = 0; |
249 while (doc_string[j] == ' ') | |
250 j++; | |
3301 | 251 |
4623 | 252 if (doc_string.substr (j, 15) == "-*- texinfo -*-") |
3301 | 253 { |
4623 | 254 j += 15; |
3301 | 255 |
4623 | 256 while (isspace (doc_string[j])) |
257 j++; | |
3301 | 258 |
3401 | 259 // Make `see also' references in functions |
260 // possible using @anchor{TAG} (new with | |
261 // Texinfo 4.0). | |
262 | |
263 os << "@anchor{doc-" << symbol_name << "}\n"; | |
264 | |
4623 | 265 os << doc_string.substr (j); |
3301 | 266 } |
267 else | |
268 os << doc_string; | |
269 } | |
3294 | 270 } |
271 else | |
272 { | |
273 buf[i] = '\0'; | |
274 os << buf; | |
275 | |
276 if (buf[i - 1] == '\n') | |
277 bol = true; | |
278 } | |
279 } | |
280 else | |
281 os.put ((char) c); | |
282 } | |
283 else | |
284 { | |
285 if (c == '\n') | |
286 bol = true; | |
287 | |
288 os.put ((char) (c)); | |
289 } | |
290 } | |
291 } | |
292 | |
293 int | |
294 main (int argc, char **argv) | |
295 { | |
296 while (*++argv) | |
297 { | |
298 if (! strcmp (*argv, "-d")) | |
299 { | |
300 if (*++argv) | |
301 process_doc_file (*argv); | |
302 else | |
303 usage (); | |
304 } | |
305 else | |
306 break; | |
307 } | |
308 | |
3575 | 309 process_texi_input_file (std::cin, std::cout); |
3294 | 310 |
311 return 0; | |
312 } | |
3313 | 313 |
314 /* | |
315 ;;; Local Variables: *** | |
316 ;;; mode: C++ *** | |
317 ;;; End: *** | |
318 */ |