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.
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.
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.
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/>.
22 * The authors reserve the right to distribute this or future versions of
23 * Coccinelle under other licenses.
27 #
0 "./parser_cocci_menhir.mli"
31 | Tvolatile
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
)
47 | Tinline
of (Data.clt
)
48 | Tfloat
of (Data.clt
)
49 | Textern
of (Data.clt
)
51 | Tdouble
of (Data.clt
)
52 | Tconst
of (Data.clt
)
55 | Tattr
of (string * Data.clt
)
60 | TWhile
of (Data.clt
)
61 | TWhenTrue
of (Data.clt
)
62 | TWhenFalse
of (Data.clt
)
67 | TUndef
of (Data.clt
* token
)
69 | TTypeId
of (string * Data.clt
)
71 | TTildeExclEq
of (Data.clt
)
72 | TTildeEq
of (Data.clt
)
73 | TTilde
of (Data.clt
)
75 | TSymId
of (string * Data.clt
)
76 | TSwitch
of (Data.clt
)
78 | TString
of (string * Data.clt
)
79 | TStrict
of (Data.clt
)
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)
86 | TRuleName
of (string)
88 | TReturn
of (Data.clt
)
90 | TPtrOp
of (Data.clt
)
91 | TPtVirg
of (Data.clt
)
92 | TPragma
of (Ast_cocci.added_string
* Data.clt
)
95 | TPlusFile
of (string * Data.clt
)
98 | TPathIsoFile
of (string)
100 | TPOEllipsis
of (Data.clt
)
101 | TPCEllipsis
of (Data.clt
)
102 | TPArob
of (Data.clt
)
103 | TOrLog
of (Data.clt
)
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
)
113 | TNotEq
of (Data.clt
)
117 | TMinusFile
of (string * Data.clt
)
118 | TMinus
of (Data.clt
)
119 | TMid0
of (Data.clt
)
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
)
145 | TLogOp
of (Ast_cocci.logicalOp
* Data.clt
)
147 | TLineEnd
of (Data.clt
)
148 | TIteratorId
of (string * Data.clt
)
152 | TIsoToTestExpression
160 | TInt
of (string * Data.clt
)
163 | TIncludeNL
of (string * Data.clt
)
164 | TIncludeL
of (string * Data.clt
)
168 | TIdent
of (string * Data.clt
)
170 | TGoto
of (Data.clt
)
173 | TFunDecl
of (Data.clt
)
177 | TFloat
of (string * Data.clt
)
185 | TEqEq
of (Data.clt
)
187 | TElse
of (Data.clt
)
188 | TEllipsis
of (Data.clt
)
189 | TDotDot
of (Data.clt
)
192 | TDmOp
of (Ast_cocci.arithOp
* Data.clt
)
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
)
203 | TContinue
of (Data.clt
)
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
)
216 | TBang
of (Data.clt
)
217 | TAssign
of (Ast_cocci.assignOp
* Data.clt
)
221 | TAndLog
of (Data.clt
)
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
)