permit multiline comments and strings in macros
[bpt/coccinelle.git] / parsing_cocci / parser_cocci_menhir.mli
1 (*
2 * Copyright 2012, INRIA
3 * Julia Lawall, Gilles Muller
4 * Copyright 2010-2011, INRIA, University of Copenhagen
5 * Julia Lawall, Rene Rydhof Hansen, Gilles Muller, Nicolas Palix
6 * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen
7 * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix
8 * This file is part of Coccinelle.
9 *
10 * Coccinelle is free software: you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation, according to version 2 of the License.
13 *
14 * Coccinelle is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with Coccinelle. If not, see <http://www.gnu.org/licenses/>.
21 *
22 * The authors reserve the right to distribute this or future versions of
23 * Coccinelle under other licenses.
24 *)
25
26
27 # 0 "./parser_cocci_menhir.mli"
28 exception Error
29
30 type token =
31 | Tvolatile of (Data.clt)
32 | Tvoid of (Data.clt)
33 | Tunsigned of (Data.clt)
34 | Tunion of (Data.clt)
35 | Ttypedef of (Data.clt)
36 | Tstruct of (Data.clt)
37 | Tstatic of (Data.clt)
38 | Tssize_t of (Data.clt)
39 | Tsize_t of (Data.clt)
40 | Tsigned of (Data.clt)
41 | Tshort of (Data.clt)
42 | Tregister of (Data.clt)
43 | Tptrdiff_t of (Data.clt)
44 | Tlong of (Data.clt)
45 | Tlist
46 | Tint of (Data.clt)
47 | Tinline of (Data.clt)
48 | Tfloat of (Data.clt)
49 | Textern of (Data.clt)
50 | Tenum of (Data.clt)
51 | Tdouble of (Data.clt)
52 | Tconst of (Data.clt)
53 | Tchar of (Data.clt)
54 | Tauto of (Data.clt)
55 | Tattr of (string * Data.clt)
56 | TXor of (Data.clt)
57 | TWords
58 | TWhy0
59 | TWhy of (Data.clt)
60 | TWhile of (Data.clt)
61 | TWhenTrue of (Data.clt)
62 | TWhenFalse of (Data.clt)
63 | TWhen of (Data.clt)
64 | TVirtual
65 | TUsing
66 | TUnderscore
67 | TUndef of (Data.clt * token)
68 | TTypedef
69 | TTypeId of (string * Data.clt)
70 | TType
71 | TTildeExclEq of (Data.clt)
72 | TTildeEq of (Data.clt)
73 | TTilde of (Data.clt)
74 | TSymbol
75 | TSymId of (string * Data.clt)
76 | TSwitch of (Data.clt)
77 | TSub of (Data.clt)
78 | TString of (string * Data.clt)
79 | TStrict of (Data.clt)
80 | TStatement
81 | TSizeof of (Data.clt)
82 | TShROp of (Ast_cocci.arithOp * Data.clt)
83 | TShLOp of (Ast_cocci.arithOp * Data.clt)
84 | TScriptData of (string)
85 | TScript
86 | TRuleName of (string)
87 | TRightIso
88 | TReturn of (Data.clt)
89 | TPure
90 | TPtrOp of (Data.clt)
91 | TPtVirg of (Data.clt)
92 | TPragma of (Ast_cocci.added_string * Data.clt)
93 | TPosition
94 | TPosAny
95 | TPlusFile of (string * Data.clt)
96 | TPlus0
97 | TPlus of (Data.clt)
98 | TPathIsoFile of (string)
99 | TParameter
100 | TPOEllipsis of (Data.clt)
101 | TPCEllipsis of (Data.clt)
102 | TPArob of (Data.clt)
103 | TOrLog of (Data.clt)
104 | TOr of (Data.clt)
105 | TOn
106 | TOPar0 of (Data.clt)
107 | TOPar of (Data.clt)
108 | TOInit of (Data.clt)
109 | TOEllipsis of (Data.clt)
110 | TOCro of (Data.clt)
111 | TOBrace of (Data.clt)
112 | TNothing
113 | TNotEq of (Data.clt)
114 | TNever
115 | TName
116 | TMul of (Data.clt)
117 | TMinusFile of (string * Data.clt)
118 | TMinus of (Data.clt)
119 | TMid0 of (Data.clt)
120 | TMetavariable
121 | TMetaType of (Parse_aux.info)
122 | TMetaStmList of (Parse_aux.info)
123 | TMetaStm of (Parse_aux.info)
124 | TMetaPos of (Parse_aux.pos_info)
125 | TMetaParamList of (Parse_aux.list_info)
126 | TMetaParam of (Parse_aux.info)
127 | TMetaLocalIdExp of (Parse_aux.typed_expinfo)
128 | TMetaLocalFunc of (Parse_aux.idinfo)
129 | TMetaIterator of (Parse_aux.idinfo)
130 | TMetaInitList of (Parse_aux.list_info)
131 | TMetaInit of (Parse_aux.info)
132 | TMetaIdExp of (Parse_aux.typed_expinfo)
133 | TMetaId of (Parse_aux.midinfo)
134 | TMetaFunc of (Parse_aux.idinfo)
135 | TMetaFieldList of (Parse_aux.list_info)
136 | TMetaField of (Parse_aux.info)
137 | TMetaExpList of (Parse_aux.list_info)
138 | TMetaExp of (Parse_aux.typed_expinfo)
139 | TMetaErr of (Parse_aux.expinfo)
140 | TMetaDeclarer of (Parse_aux.idinfo)
141 | TMetaDecl of (Parse_aux.info)
142 | TMetaConst of (Parse_aux.typed_expinfo)
143 | TMeta of (Parse_aux.info)
144 | TMPtVirg
145 | TLogOp of (Ast_cocci.logicalOp * Data.clt)
146 | TLocal
147 | TLineEnd of (Data.clt)
148 | TIteratorId of (string * Data.clt)
149 | TIterator
150 | TIsoType
151 | TIsoTopLevel
152 | TIsoToTestExpression
153 | TIsoTestExpression
154 | TIsoStatement
155 | TIsoExpression
156 | TIsoDeclaration
157 | TIsoArgExpression
158 | TIso
159 | TInvalid
160 | TInt of (string * Data.clt)
161 | TInitialize
162 | TInitialiser
163 | TIncludeNL of (string * Data.clt)
164 | TIncludeL of (string * Data.clt)
165 | TInc of (Data.clt)
166 | TIf of (Data.clt)
167 | TIdentifier
168 | TIdent of (string * Data.clt)
169 | TIdExpression
170 | TGoto of (Data.clt)
171 | TGenerated
172 | TFunction
173 | TFunDecl of (Data.clt)
174 | TFresh
175 | TForall
176 | TFor of (Data.clt)
177 | TFloat of (string * Data.clt)
178 | TFinalize
179 | TField
180 | TExtends
181 | TExpression
182 | TExists
183 | TEver
184 | TError
185 | TEqEq of (Data.clt)
186 | TEq of (Data.clt)
187 | TElse of (Data.clt)
188 | TEllipsis of (Data.clt)
189 | TDotDot of (Data.clt)
190 | TDot of (Data.clt)
191 | TDo of (Data.clt)
192 | TDmOp of (Ast_cocci.arithOp * Data.clt)
193 | TDisable
194 | TDepends
195 | TDefineParam of (Data.clt * token * int * int)
196 | TDefine of (Data.clt * token)
197 | TDefault of (Data.clt)
198 | TDeclarerId of (string * Data.clt)
199 | TDeclarer
200 | TDeclaration
201 | TDec of (Data.clt)
202 | TCppConcatOp
203 | TContinue of (Data.clt)
204 | TContext
205 | TConstant
206 | TComma of (Data.clt)
207 | TChar of (string * Data.clt)
208 | TCase of (Data.clt)
209 | TCPar0 of (Data.clt)
210 | TCPar of (Data.clt)
211 | TCEllipsis of (Data.clt)
212 | TCCro of (Data.clt)
213 | TCBrace of (Data.clt)
214 | TBreak of (Data.clt)
215 | TBang0
216 | TBang of (Data.clt)
217 | TAssign of (Ast_cocci.assignOp * Data.clt)
218 | TArobArob
219 | TArob
220 | TAny of (Data.clt)
221 | TAndLog of (Data.clt)
222 | TAnd of (Data.clt)
223 | TAnalysis
224 | EOF
225
226
227 val script_meta_main: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
228 val rule_name: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (Ast_cocci.rulename)
229 val reinit: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (unit)
230 val plus_main: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (Ast0_cocci.rule)
231 val plus_exp_main: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (Ast0_cocci.rule)
232 val never_used: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (unit)
233 val minus_main: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (Ast0_cocci.rule)
234 val minus_exp_main: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (Ast0_cocci.rule)
235 val meta_main: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
236 val iso_rule_name: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (Ast_cocci.rulename)
237 val iso_meta_main: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
238 val iso_main: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (Ast0_cocci.anything list list)
239 val include_main: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (Data.incl_iso list)