changeset 3108 | 335efc3f5632 |
parent 3098 | a31170b67367 |
child 3129 | dd3666cbc764 |
3107:492a3d5d2b17 | 3108:335efc3f5632 |
---|---|
1 % This file was generated by '/usr/stud/berghofe/latex/rail/rail' from 'ref.rai' |
1 % This file was generated by 'rail' from 'ref.rai' |
2 \rail@t {lbrace} |
2 \rail@t {lbrace} |
3 \rail@t {rbrace} |
3 \rail@t {rbrace} |
4 \rail@i {1}{ \par theoryDef : id '=' (name + '+') ('+' extension | ()); \par name: id | string; \par extension : (section +) 'end' ( () | ml ); \par section : classes | default | types | arities | consts | constdefs | trans | defs | rules | oracle ; \par classes : 'classes' ( ( id ( () | '<' (id + ',') ) ) + ) ; \par default : 'default' sort ; \par sort : id | lbrace (id * ',') rbrace ; \par types : 'types' ( ( typeDecl ( () | '(' infix ')' ) ) + ) ; \par infix : ( 'infixr' | 'infixl' ) nat; \par typeDecl : typevarlist name ( () | '=' ( string | type ) ); \par typevarlist : () | tid | '(' ( tid + ',' ) ')'; \par type : simpleType | '(' type ')' | type '=>' type | '[' ( type + "," ) ']' '=>' type; \par simpleType: id | ( tid ( () | '::' id ) ) | '(' ( type + "," ) ')' id | simpleType id; \par \par arities : 'arities' ((( name + ',' ) '::' arity ) + ) ; \par arity : ( () | '(' (sort + ',') ')' ) id ; \par \par consts : 'consts' ( ( constDecl ( () | ( '(' mixfix ')' ) ) ) + ) ; \par constDecl : ( name + ',') '::' (string | type); \par mixfix : string ( () | ( () | ('[' (nat + ',') ']')) nat ) | infix | 'binder' string nat ; \par constdefs : 'constdefs' (id '::' (string | type) string +) ; \par trans : 'translations' ( pat ( '==' | '=>' | '<=' ) pat + ) ; \par pat : ( () | ( '(' id ')' ) ) string; \par rules : 'rules' (( id string ) + ) ; \par defs : 'defs' (( id string ) + ) ; \par oracle : 'oracle' name ; \par ml : 'ML' text ; \par } |
4 \rail@i {1}{ \par theoryDef : id '=' (name + '+') ('+' extension | ()) ; \par name: id | string ; \par extension : (section +) 'end' ( () | ml ) ; \par section : classes | default | types | arities | consts | syntax | trans | defs | constdefs | rules | axclass | instance | oracle ; \par classes : 'classes' ( classDecl + ) ; \par classDecl : (id (() | '<' (id + ','))) ; \par default : 'default' sort ; \par sort : id | lbrace (id * ',') rbrace ; \par types : 'types' ( ( typeDecl ( () | '(' infix ')' ) ) + ) ; \par infix : ( 'infixr' | 'infixl' ) nat ; \par typeDecl : typevarlist name ( () | '=' ( string | type ) ); \par typevarlist : () | tid | '(' ( tid + ',' ) ')'; \par type : simpleType | '(' type ')' | type '=>' type | '[' ( type + "," ) ']' '=>' type; \par simpleType: id | ( tid ( () | '::' id ) ) | '(' ( type + "," ) ')' id | simpleType id ; \par arities : 'arities' ((name + ',') '::' arity +) ; \par arity : ( () | '(' (sort + ',') ')' ) sort ; \par consts : 'consts' ( mixfixConstDecl + ) ; \par syntax : 'syntax' (() | mode) ( mixfixConstDecl + ); \par mode : '(' name (() | 'output') ')' ; \par mixfixConstDecl : constDecl (() | ( '(' mixfix ')' )) ; \par constDecl : ( name + ',') '::' (string | type); \par mixfix : string ( () | ( () | ('[' (nat + ',') ']')) nat ) | ( 'infixr' | 'infixl' ) (() | string) nat | 'binder' string nat ; \par trans : 'translations' ( pat ( '==' | '=>' | '<=' ) pat + ) ; \par pat : ( () | ( '(' id ')' ) ) string; \par rules : 'rules' (( id string ) + ) ; \par defs : 'defs' (( id string ) + ) ; \par constdefs : 'constdefs' (id '::' (string | type) string +) ; \par axclass : 'axclass' classDecl (() | ( id string ) +) ; \par instance : 'instance' ( name '<' name | name '::' arity) witness ; \par witness : (() | ((string | longident) + ',')) (() | verbatim) ; \par oracle : 'oracle' name ; \par ml : 'ML' text ; \par } |
5 \rail@o {1}{ |
5 \rail@o {1}{ |
6 \rail@begin{2}{theoryDef} |
6 \rail@begin{2}{theoryDef} |
7 \rail@nont{id}[] |
7 \rail@nont{id}[] |
8 \rail@term{=}[] |
8 \rail@term{=}[] |
9 \rail@plus |
9 \rail@plus |
33 \rail@bar |
33 \rail@bar |
34 \rail@nextbar{1} |
34 \rail@nextbar{1} |
35 \rail@nont{ml}[] |
35 \rail@nont{ml}[] |
36 \rail@endbar |
36 \rail@endbar |
37 \rail@end |
37 \rail@end |
38 \rail@begin{10}{section} |
38 \rail@begin{13}{section} |
39 \rail@bar |
39 \rail@bar |
40 \rail@nont{classes}[] |
40 \rail@nont{classes}[] |
41 \rail@nextbar{1} |
41 \rail@nextbar{1} |
42 \rail@nont{default}[] |
42 \rail@nont{default}[] |
43 \rail@nextbar{2} |
43 \rail@nextbar{2} |
45 \rail@nextbar{3} |
45 \rail@nextbar{3} |
46 \rail@nont{arities}[] |
46 \rail@nont{arities}[] |
47 \rail@nextbar{4} |
47 \rail@nextbar{4} |
48 \rail@nont{consts}[] |
48 \rail@nont{consts}[] |
49 \rail@nextbar{5} |
49 \rail@nextbar{5} |
50 \rail@nont{constdefs}[] |
50 \rail@nont{syntax}[] |
51 \rail@nextbar{6} |
51 \rail@nextbar{6} |
52 \rail@nont{trans}[] |
52 \rail@nont{trans}[] |
53 \rail@nextbar{7} |
53 \rail@nextbar{7} |
54 \rail@nont{defs}[] |
54 \rail@nont{defs}[] |
55 \rail@nextbar{8} |
55 \rail@nextbar{8} |
56 \rail@nont{constdefs}[] |
|
57 \rail@nextbar{9} |
|
56 \rail@nont{rules}[] |
58 \rail@nont{rules}[] |
57 \rail@nextbar{9} |
59 \rail@nextbar{10} |
60 \rail@nont{axclass}[] |
|
61 \rail@nextbar{11} |
|
62 \rail@nont{instance}[] |
|
63 \rail@nextbar{12} |
|
58 \rail@nont{oracle}[] |
64 \rail@nont{oracle}[] |
59 \rail@endbar |
65 \rail@endbar |
60 \rail@end |
66 \rail@end |
61 \rail@begin{4}{classes} |
67 \rail@begin{2}{classes} |
62 \rail@term{classes}[] |
68 \rail@term{classes}[] |
63 \rail@plus |
69 \rail@plus |
70 \rail@nont{classDecl}[] |
|
71 \rail@nextplus{1} |
|
72 \rail@endplus |
|
73 \rail@end |
|
74 \rail@begin{3}{classDecl} |
|
64 \rail@nont{id}[] |
75 \rail@nont{id}[] |
65 \rail@bar |
76 \rail@bar |
66 \rail@nextbar{1} |
77 \rail@nextbar{1} |
67 \rail@term{<}[] |
78 \rail@term{<}[] |
68 \rail@plus |
79 \rail@plus |
69 \rail@nont{id}[] |
80 \rail@nont{id}[] |
70 \rail@nextplus{2} |
81 \rail@nextplus{2} |
71 \rail@cterm{,}[] |
82 \rail@cterm{,}[] |
72 \rail@endplus |
83 \rail@endplus |
73 \rail@endbar |
84 \rail@endbar |
74 \rail@nextplus{3} |
|
75 \rail@endplus |
|
76 \rail@end |
85 \rail@end |
77 \rail@begin{1}{default} |
86 \rail@begin{1}{default} |
78 \rail@term{default}[] |
87 \rail@term{default}[] |
79 \rail@nont{sort}[] |
88 \rail@nont{sort}[] |
80 \rail@end |
89 \rail@end |
211 \rail@nextplus{2} |
220 \rail@nextplus{2} |
212 \rail@cterm{,}[] |
221 \rail@cterm{,}[] |
213 \rail@endplus |
222 \rail@endplus |
214 \rail@term{)}[] |
223 \rail@term{)}[] |
215 \rail@endbar |
224 \rail@endbar |
216 \rail@nont{id}[] |
225 \rail@nont{sort}[] |
217 \rail@end |
226 \rail@end |
218 \rail@begin{3}{consts} |
227 \rail@begin{2}{consts} |
219 \rail@term{consts}[] |
228 \rail@term{consts}[] |
220 \rail@plus |
229 \rail@plus |
230 \rail@nont{mixfixConstDecl}[] |
|
231 \rail@nextplus{1} |
|
232 \rail@endplus |
|
233 \rail@end |
|
234 \rail@begin{2}{syntax} |
|
235 \rail@term{syntax}[] |
|
236 \rail@bar |
|
237 \rail@nextbar{1} |
|
238 \rail@nont{mode}[] |
|
239 \rail@endbar |
|
240 \rail@plus |
|
241 \rail@nont{mixfixConstDecl}[] |
|
242 \rail@nextplus{1} |
|
243 \rail@endplus |
|
244 \rail@end |
|
245 \rail@begin{2}{mode} |
|
246 \rail@term{(}[] |
|
247 \rail@nont{name}[] |
|
248 \rail@bar |
|
249 \rail@nextbar{1} |
|
250 \rail@term{output}[] |
|
251 \rail@endbar |
|
252 \rail@term{)}[] |
|
253 \rail@end |
|
254 \rail@begin{2}{mixfixConstDecl} |
|
221 \rail@nont{constDecl}[] |
255 \rail@nont{constDecl}[] |
222 \rail@bar |
256 \rail@bar |
223 \rail@nextbar{1} |
257 \rail@nextbar{1} |
224 \rail@term{(}[] |
258 \rail@term{(}[] |
225 \rail@nont{mixfix}[] |
259 \rail@nont{mixfix}[] |
226 \rail@term{)}[] |
260 \rail@term{)}[] |
227 \rail@endbar |
261 \rail@endbar |
228 \rail@nextplus{2} |
|
229 \rail@endplus |
|
230 \rail@end |
262 \rail@end |
231 \rail@begin{2}{constDecl} |
263 \rail@begin{2}{constDecl} |
232 \rail@plus |
264 \rail@plus |
233 \rail@nont{name}[] |
265 \rail@nont{name}[] |
234 \rail@nextplus{1} |
266 \rail@nextplus{1} |
239 \rail@nont{string}[] |
271 \rail@nont{string}[] |
240 \rail@nextbar{1} |
272 \rail@nextbar{1} |
241 \rail@nont{type}[] |
273 \rail@nont{type}[] |
242 \rail@endbar |
274 \rail@endbar |
243 \rail@end |
275 \rail@end |
244 \rail@begin{6}{mixfix} |
276 \rail@begin{7}{mixfix} |
245 \rail@bar |
277 \rail@bar |
246 \rail@nont{string}[] |
278 \rail@nont{string}[] |
247 \rail@bar |
279 \rail@bar |
248 \rail@nextbar{1} |
280 \rail@nextbar{1} |
249 \rail@bar |
281 \rail@bar |
257 \rail@term{]}[] |
289 \rail@term{]}[] |
258 \rail@endbar |
290 \rail@endbar |
259 \rail@nont{nat}[] |
291 \rail@nont{nat}[] |
260 \rail@endbar |
292 \rail@endbar |
261 \rail@nextbar{4} |
293 \rail@nextbar{4} |
262 \rail@nont{infix}[] |
294 \rail@bar |
295 \rail@term{infixr}[] |
|
263 \rail@nextbar{5} |
296 \rail@nextbar{5} |
297 \rail@term{infixl}[] |
|
298 \rail@endbar |
|
299 \rail@bar |
|
300 \rail@nextbar{5} |
|
301 \rail@nont{string}[] |
|
302 \rail@endbar |
|
303 \rail@nont{nat}[] |
|
304 \rail@nextbar{6} |
|
264 \rail@term{binder}[] |
305 \rail@term{binder}[] |
265 \rail@nont{string}[] |
306 \rail@nont{string}[] |
266 \rail@nont{nat}[] |
307 \rail@nont{nat}[] |
267 \rail@endbar |
308 \rail@endbar |
309 \rail@end |
|
310 \rail@begin{4}{trans} |
|
311 \rail@term{translations}[] |
|
312 \rail@plus |
|
313 \rail@nont{pat}[] |
|
314 \rail@bar |
|
315 \rail@term{==}[] |
|
316 \rail@nextbar{1} |
|
317 \rail@term{=>}[] |
|
318 \rail@nextbar{2} |
|
319 \rail@term{<=}[] |
|
320 \rail@endbar |
|
321 \rail@nont{pat}[] |
|
322 \rail@nextplus{3} |
|
323 \rail@endplus |
|
324 \rail@end |
|
325 \rail@begin{2}{pat} |
|
326 \rail@bar |
|
327 \rail@nextbar{1} |
|
328 \rail@term{(}[] |
|
329 \rail@nont{id}[] |
|
330 \rail@term{)}[] |
|
331 \rail@endbar |
|
332 \rail@nont{string}[] |
|
333 \rail@end |
|
334 \rail@begin{2}{rules} |
|
335 \rail@term{rules}[] |
|
336 \rail@plus |
|
337 \rail@nont{id}[] |
|
338 \rail@nont{string}[] |
|
339 \rail@nextplus{1} |
|
340 \rail@endplus |
|
341 \rail@end |
|
342 \rail@begin{2}{defs} |
|
343 \rail@term{defs}[] |
|
344 \rail@plus |
|
345 \rail@nont{id}[] |
|
346 \rail@nont{string}[] |
|
347 \rail@nextplus{1} |
|
348 \rail@endplus |
|
268 \rail@end |
349 \rail@end |
269 \rail@begin{3}{constdefs} |
350 \rail@begin{3}{constdefs} |
270 \rail@term{constdefs}[] |
351 \rail@term{constdefs}[] |
271 \rail@plus |
352 \rail@plus |
272 \rail@nont{id}[] |
353 \rail@nont{id}[] |
278 \rail@endbar |
359 \rail@endbar |
279 \rail@nont{string}[] |
360 \rail@nont{string}[] |
280 \rail@nextplus{2} |
361 \rail@nextplus{2} |
281 \rail@endplus |
362 \rail@endplus |
282 \rail@end |
363 \rail@end |
283 \rail@begin{4}{trans} |
364 \rail@begin{3}{axclass} |
284 \rail@term{translations}[] |
365 \rail@term{axclass}[] |
285 \rail@plus |
366 \rail@nont{classDecl}[] |
286 \rail@nont{pat}[] |
367 \rail@bar |
287 \rail@bar |
368 \rail@nextbar{1} |
288 \rail@term{==}[] |
369 \rail@plus |
289 \rail@nextbar{1} |
370 \rail@nont{id}[] |
290 \rail@term{=>}[] |
371 \rail@nont{string}[] |
291 \rail@nextbar{2} |
372 \rail@nextplus{2} |
292 \rail@term{<=}[] |
373 \rail@endplus |
293 \rail@endbar |
374 \rail@endbar |
294 \rail@nont{pat}[] |
375 \rail@end |
376 \rail@begin{2}{instance} |
|
377 \rail@term{instance}[] |
|
378 \rail@bar |
|
379 \rail@nont{name}[] |
|
380 \rail@term{<}[] |
|
381 \rail@nont{name}[] |
|
382 \rail@nextbar{1} |
|
383 \rail@nont{name}[] |
|
384 \rail@term{::}[] |
|
385 \rail@nont{arity}[] |
|
386 \rail@endbar |
|
387 \rail@nont{witness}[] |
|
388 \rail@end |
|
389 \rail@begin{4}{witness} |
|
390 \rail@bar |
|
391 \rail@nextbar{1} |
|
392 \rail@plus |
|
393 \rail@bar |
|
394 \rail@nont{string}[] |
|
395 \rail@nextbar{2} |
|
396 \rail@nont{longident}[] |
|
397 \rail@endbar |
|
295 \rail@nextplus{3} |
398 \rail@nextplus{3} |
296 \rail@endplus |
399 \rail@cterm{,}[] |
297 \rail@end |
400 \rail@endplus |
298 \rail@begin{2}{pat} |
401 \rail@endbar |
299 \rail@bar |
402 \rail@bar |
300 \rail@nextbar{1} |
403 \rail@nextbar{1} |
301 \rail@term{(}[] |
404 \rail@nont{verbatim}[] |
302 \rail@nont{id}[] |
405 \rail@endbar |
303 \rail@term{)}[] |
|
304 \rail@endbar |
|
305 \rail@nont{string}[] |
|
306 \rail@end |
|
307 \rail@begin{2}{rules} |
|
308 \rail@term{rules}[] |
|
309 \rail@plus |
|
310 \rail@nont{id}[] |
|
311 \rail@nont{string}[] |
|
312 \rail@nextplus{1} |
|
313 \rail@endplus |
|
314 \rail@end |
|
315 \rail@begin{2}{defs} |
|
316 \rail@term{defs}[] |
|
317 \rail@plus |
|
318 \rail@nont{id}[] |
|
319 \rail@nont{string}[] |
|
320 \rail@nextplus{1} |
|
321 \rail@endplus |
|
322 \rail@end |
406 \rail@end |
323 \rail@begin{1}{oracle} |
407 \rail@begin{1}{oracle} |
324 \rail@term{oracle}[] |
408 \rail@term{oracle}[] |
325 \rail@nont{name}[] |
409 \rail@nont{name}[] |
326 \rail@end |
410 \rail@end |