2
<link rel="stylesheet" href="style.css" type="text/css">
3
<link rel="Start" href="index.html">
4
<link title="Index of types" rel=Appendix href="index_types.html">
5
<link title="Index of exceptions" rel=Appendix href="index_exceptions.html">
6
<link title="Index of values" rel=Appendix href="index_values.html">
7
<link title="Index of modules" rel=Appendix href="index_modules.html">
8
<link title="Index of module types" rel=Appendix href="index_module_types.html">
9
<link title="Grammar" rel="Chapter" href="Grammar.html">
10
<link title="Extfun" rel="Chapter" href="Extfun.html">
11
<link title="Pcaml" rel="Chapter" href="Pcaml.html">
12
<link title="Plexer" rel="Chapter" href="Plexer.html">
13
<link title="Quotation" rel="Chapter" href="Quotation.html">
14
<link title="Token" rel="Chapter" href="Token.html">
15
<link title="Stdpp" rel="Chapter" href="Stdpp.html"><title>Grammar</title>
18
<code class="code"><span class="keyword">sig</span><br>
19
<span class="keyword">type</span> g<br>
20
<span class="keyword">val</span> gcreate : <span class="constructor">Token</span>.t <span class="constructor">Token</span>.glexer <span class="keywordsign">-></span> <span class="constructor">Grammar</span>.g<br>
21
<span class="keyword">val</span> tokens : <span class="constructor">Grammar</span>.g <span class="keywordsign">-></span> string <span class="keywordsign">-></span> (string * int) list<br>
22
<span class="keyword">val</span> glexer : <span class="constructor">Grammar</span>.g <span class="keywordsign">-></span> <span class="constructor">Token</span>.t <span class="constructor">Token</span>.glexer<br>
23
<span class="keyword">module</span> <span class="constructor">Entry</span> :<br>
24
<span class="keyword">sig</span><br>
25
<span class="keyword">type</span> <span class="keywordsign">'</span>a e<br>
26
<span class="keyword">val</span> create : <span class="constructor">Grammar</span>.g <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">Entry</span>.e<br>
27
<span class="keyword">val</span> parse : <span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span> char <span class="constructor">Stream</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br>
28
<span class="keyword">val</span> parse_token : <span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span> <span class="constructor">Token</span>.t <span class="constructor">Stream</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br>
29
<span class="keyword">val</span> name : <span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span> string<br>
30
<span class="keyword">val</span> of_parser :<br>
31
<span class="constructor">Grammar</span>.g <span class="keywordsign">-></span> string <span class="keywordsign">-></span> (<span class="constructor">Token</span>.t <span class="constructor">Stream</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">Entry</span>.e<br>
32
<span class="keyword">val</span> print : <span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span> unit<br>
33
<span class="keyword">val</span> find : <span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="constructor">Obj</span>.t <span class="constructor">Grammar</span>.<span class="constructor">Entry</span>.e<br>
34
<span class="keyword">external</span> obj : <span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span> <span class="constructor">Token</span>.t <span class="constructor">Gramext</span>.g_entry<br>
35
= <span class="string">"%identity"</span><br>
36
<span class="keyword">end</span><br>
37
<span class="keyword">val</span> of_entry : <span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span> <span class="constructor">Grammar</span>.g<br>
38
<span class="keyword">module</span> <span class="constructor">Unsafe</span> :<br>
39
<span class="keyword">sig</span><br>
40
<span class="keyword">val</span> gram_reinit : <span class="constructor">Grammar</span>.g <span class="keywordsign">-></span> <span class="constructor">Token</span>.t <span class="constructor">Token</span>.glexer <span class="keywordsign">-></span> unit<br>
41
<span class="keyword">val</span> clear_entry : <span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span> unit<br>
42
<span class="keyword">end</span><br>
43
<span class="keyword">module</span> <span class="keyword">type</span> <span class="constructor">GLexerType</span> =<br>
44
<span class="keyword">sig</span> <span class="keyword">type</span> te <span class="keyword">val</span> lexer : <span class="constructor">Grammar</span>.<span class="constructor">GLexerType</span>.te <span class="constructor">Token</span>.glexer <span class="keyword">end</span><br>
45
<span class="keyword">module</span> <span class="keyword">type</span> <span class="constructor">S</span> =<br>
46
<span class="keyword">sig</span><br>
47
<span class="keyword">type</span> te<br>
48
<span class="keyword">and</span> parsable<br>
49
<span class="keyword">val</span> parsable : char <span class="constructor">Stream</span>.t <span class="keywordsign">-></span> <span class="constructor">Grammar</span>.<span class="constructor">S</span>.parsable<br>
50
<span class="keyword">val</span> tokens : string <span class="keywordsign">-></span> (string * int) list<br>
51
<span class="keyword">val</span> glexer : <span class="constructor">Grammar</span>.<span class="constructor">S</span>.te <span class="constructor">Token</span>.glexer<br>
52
<span class="keyword">module</span> <span class="constructor">Entry</span> :<br>
53
<span class="keyword">sig</span><br>
54
<span class="keyword">type</span> <span class="keywordsign">'</span>a e<br>
55
<span class="keyword">val</span> create : string <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">S</span>.<span class="constructor">Entry</span>.e<br>
56
<span class="keyword">val</span> parse : <span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">S</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span> <span class="constructor">Grammar</span>.<span class="constructor">S</span>.parsable <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br>
57
<span class="keyword">val</span> parse_token :<br>
58
<span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">S</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span> <span class="constructor">Grammar</span>.<span class="constructor">S</span>.te <span class="constructor">Stream</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br>
59
<span class="keyword">val</span> name : <span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">S</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span> string<br>
60
<span class="keyword">val</span> of_parser :<br>
61
string <span class="keywordsign">-></span> (<span class="constructor">Grammar</span>.<span class="constructor">S</span>.te <span class="constructor">Stream</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">S</span>.<span class="constructor">Entry</span>.e<br>
62
<span class="keyword">val</span> print : <span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">S</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span> unit<br>
63
<span class="keyword">external</span> obj : <span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">S</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span> <span class="constructor">Grammar</span>.<span class="constructor">S</span>.te <span class="constructor">Gramext</span>.g_entry<br>
64
= <span class="string">"%identity"</span><br>
65
<span class="keyword">end</span><br>
66
<span class="keyword">module</span> <span class="constructor">Unsafe</span> :<br>
67
<span class="keyword">sig</span><br>
68
<span class="keyword">val</span> gram_reinit : <span class="constructor">Grammar</span>.<span class="constructor">S</span>.te <span class="constructor">Token</span>.glexer <span class="keywordsign">-></span> unit<br>
69
<span class="keyword">val</span> clear_entry : <span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">S</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span> unit<br>
70
<span class="keyword">end</span><br>
71
<span class="keyword">val</span> extend :<br>
72
<span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">S</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span><br>
73
<span class="constructor">Gramext</span>.position option <span class="keywordsign">-></span><br>
74
(string option * <span class="constructor">Gramext</span>.g_assoc option *<br>
75
(<span class="constructor">Grammar</span>.<span class="constructor">S</span>.te <span class="constructor">Gramext</span>.g_symbol list * <span class="constructor">Gramext</span>.g_action) list)<br>
76
list <span class="keywordsign">-></span> unit<br>
77
<span class="keyword">val</span> delete_rule :<br>
78
<span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">S</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span> <span class="constructor">Grammar</span>.<span class="constructor">S</span>.te <span class="constructor">Gramext</span>.g_symbol list <span class="keywordsign">-></span> unit<br>
79
<span class="keyword">end</span><br>
80
<span class="keyword">module</span> <span class="constructor">GMake</span> :<br>
81
<span class="keyword">functor</span> (<span class="constructor">L</span> : <span class="constructor">GLexerType</span>) <span class="keywordsign">-></span><br>
82
<span class="keyword">sig</span><br>
83
<span class="keyword">type</span> te = <span class="constructor">L</span>.te<br>
84
<span class="keyword">and</span> parsable<br>
85
<span class="keyword">val</span> parsable : char <span class="constructor">Stream</span>.t <span class="keywordsign">-></span> <span class="constructor">Grammar</span>.<span class="constructor">S</span>.parsable<br>
86
<span class="keyword">val</span> tokens : string <span class="keywordsign">-></span> (string * int) list<br>
87
<span class="keyword">val</span> glexer : <span class="constructor">Grammar</span>.<span class="constructor">S</span>.te <span class="constructor">Token</span>.glexer<br>
88
<span class="keyword">module</span> <span class="constructor">Entry</span> :<br>
89
<span class="keyword">sig</span><br>
90
<span class="keyword">type</span> <span class="keywordsign">'</span>a e<br>
91
<span class="keyword">val</span> create : string <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">S</span>.<span class="constructor">Entry</span>.e<br>
92
<span class="keyword">val</span> parse : <span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">S</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span> <span class="constructor">Grammar</span>.<span class="constructor">S</span>.parsable <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br>
93
<span class="keyword">val</span> parse_token :<br>
94
<span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">S</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span> <span class="constructor">Grammar</span>.<span class="constructor">S</span>.te <span class="constructor">Stream</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br>
95
<span class="keyword">val</span> name : <span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">S</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span> string<br>
96
<span class="keyword">val</span> of_parser :<br>
97
string <span class="keywordsign">-></span> (<span class="constructor">Grammar</span>.<span class="constructor">S</span>.te <span class="constructor">Stream</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">S</span>.<span class="constructor">Entry</span>.e<br>
98
<span class="keyword">val</span> print : <span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">S</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span> unit<br>
99
<span class="keyword">external</span> obj :<br>
100
<span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">S</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span> <span class="constructor">Grammar</span>.<span class="constructor">S</span>.te <span class="constructor">Gramext</span>.g_entry<br>
101
= <span class="string">"%identity"</span><br>
102
<span class="keyword">end</span><br>
103
<span class="keyword">module</span> <span class="constructor">Unsafe</span> :<br>
104
<span class="keyword">sig</span><br>
105
<span class="keyword">val</span> gram_reinit : <span class="constructor">Grammar</span>.<span class="constructor">S</span>.te <span class="constructor">Token</span>.glexer <span class="keywordsign">-></span> unit<br>
106
<span class="keyword">val</span> clear_entry : <span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">S</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span> unit<br>
107
<span class="keyword">end</span><br>
108
<span class="keyword">val</span> extend :<br>
109
<span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">S</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span><br>
110
<span class="constructor">Gramext</span>.position option <span class="keywordsign">-></span><br>
111
(string option * <span class="constructor">Gramext</span>.g_assoc option *<br>
112
(<span class="constructor">Grammar</span>.<span class="constructor">S</span>.te <span class="constructor">Gramext</span>.g_symbol list * <span class="constructor">Gramext</span>.g_action) list)<br>
113
list <span class="keywordsign">-></span> unit<br>
114
<span class="keyword">val</span> delete_rule :<br>
115
<span class="keywordsign">'</span>a <span class="constructor">Grammar</span>.<span class="constructor">S</span>.<span class="constructor">Entry</span>.e <span class="keywordsign">-></span> <span class="constructor">Grammar</span>.<span class="constructor">S</span>.te <span class="constructor">Gramext</span>.g_symbol list <span class="keywordsign">-></span> unit<br>
116
<span class="keyword">end</span><br>
117
<span class="keyword">val</span> error_verbose : bool <span class="constructor">Pervasives</span>.ref<br>
118
<span class="keyword">val</span> warning_verbose : bool <span class="constructor">Pervasives</span>.ref<br>
119
<span class="keyword">val</span> strict_parsing : bool <span class="constructor">Pervasives</span>.ref<br>
120
<span class="keyword">val</span> print_entry : <span class="constructor">Format</span>.formatter <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Gramext</span>.g_entry <span class="keywordsign">-></span> unit<br>
121
<span class="keyword">val</span> iter_entry : (<span class="keywordsign">'</span>a <span class="constructor">Gramext</span>.g_entry <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Gramext</span>.g_entry <span class="keywordsign">-></span> unit<br>
122
<span class="keyword">val</span> fold_entry :<br>
123
(<span class="keywordsign">'</span>a <span class="constructor">Gramext</span>.g_entry <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Gramext</span>.g_entry <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>b<br>
124
<span class="keyword">end</span></code></body></html>
b'\\ No newline at end of file'