File: test13.ott

package info (click to toggle)
ott 0.34%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 6,440 kB
  • sloc: ml: 25,103; makefile: 1,375; awk: 736; lisp: 183; sh: 14; sed: 4
file content (61 lines) | stat: -rw-r--r-- 1,941 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
metavar terminal, t			::= {{ isa string }} {{ coq nat }} {{ hol string }} 
metavar metavarroot, mvr  	::= {{ isa string }} {{ coq nat }} {{ hol string }} 
metavar nontermroot, ntr  	::= {{ isa string }} {{ coq nat }} {{ hol string }} 
metavar suffix, suff       ::= {{ isa string }} {{ coq nat }} {{ hol string }} 
metavar auxfn, f          ::= {{ isa string }} {{ coq nat }} {{ hol string }} 
metavar prodname, pn     ::= {{ isa string }} {{ coq nat }} {{ hol string }} 
indexvar index, i, j, n, m  ::= {{ isa string }} {{ coq nat }} {{ hol string }} 

grammar

'metavar' :: 'mv_' ::=
  | metavarroot suffix  :: :: 1

nonterm :: 'nt_' ::=
  | nontermroot suffix  :: :: 1

element :: 'e_' ::=
  | terminal :: :: tm
  | 'metavar' :: :: mv
  | nonterm  :: :: nt

mse :: 'mse_' ::=
  | 'metavar' :: :: mv
  | nonterm :: :: nt
  | auxfn ( nonterm ) :: :: f
  | mse union mse' :: :: union
  | {} :: :: empty

bindspec, bs :: 'bs_' ::=
  | 'bind' mse in nonterm :: :: bind
  | auxfn = mse :: :: auxfn


prod {{ hol production }} :: 'p_' ::=
  | '|' element1 .. elementm '::' '::' prodname '(+' bindspec1 .. bindspecn '+)'   :: :: 1

rule :: 'r_' ::= 
  | nontermroot '::' '''' '::='  prod1 .. prodm :: :: 1

grammar_rules :: 'g_' ::= 
  | 'grammar' rule1 .. rulem :: :: 1



formula :: 'formula_' ::=          
  | judgement           ::   :: judgement


terminals :: '' ::=
  | '{}' :: :: quote {{ tex \texttt{\{\} } }}
  | '('  :: :: lparen {{ tex \texttt{(} }}
  | ')'  :: :: rparen {{ tex \texttt{)} }}
  | '(+'  :: :: lparenplus {{ tex \texttt{(+} }}
  | '+)'  :: :: rparenplus {{ tex \texttt{+)} }}
  | ''''  :: :: quotequote {{ tex \texttt{''} }}
  | '::'  :: :: coloncolon {{ tex \texttt{::} }}
  | '::='  :: :: coloncoloneq {{ tex \texttt{::=} }}
  | 'grammar' :: :: tgrammar {{ tex \texttt{grammar} }}
  | 'bind' :: :: bind {{ tex \texttt{bind} }}
  | 'in' :: :: in {{ tex \texttt{in} }}
  | 'union' :: :: union {{ tex \texttt{union} }}