+(*
+ * Copyright 2012, INRIA
+ * Julia Lawall, Gilles Muller
+ * Copyright 2010-2011, INRIA, University of Copenhagen
+ * Julia Lawall, Rene Rydhof Hansen, Gilles Muller, Nicolas Palix
+ * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen
+ * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix
+ * This file is part of Coccinelle.
+ *
+ * Coccinelle is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, according to version 2 of the License.
+ *
+ * Coccinelle is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Coccinelle. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * The authors reserve the right to distribute this or future versions of
+ * Coccinelle under other licenses.
+ *)
+
+
+# 0 "./parser_cocci_menhir.mli"
exception Error
type token =
| Ttypedef of (Data.clt)
| Tstruct of (Data.clt)
| Tstatic of (Data.clt)
+ | Tssize_t of (Data.clt)
+ | Tsize_t of (Data.clt)
| Tsigned of (Data.clt)
| Tshort of (Data.clt)
| Tregister of (Data.clt)
+ | Tptrdiff_t of (Data.clt)
| Tlong of (Data.clt)
| Tlist
| Tint of (Data.clt)
| TWhen of (Data.clt)
| TVirtual
| TUsing
+ | TUnderscore
+ | TUndef of (Data.clt * token)
| TTypedef
| TTypeId of (string * Data.clt)
| TType
| TTildeExclEq of (Data.clt)
| TTildeEq of (Data.clt)
| TTilde of (Data.clt)
+ | TSymbol
+ | TSymId of (string * Data.clt)
| TSwitch of (Data.clt)
+ | TSub of (Data.clt)
| TString of (string * Data.clt)
| TStrict of (Data.clt)
| TStatement
| TSizeof of (Data.clt)
- | TShOp of (Ast_cocci.arithOp * Data.clt)
+ | TShROp of (Ast_cocci.arithOp * Data.clt)
+ | TShLOp of (Ast_cocci.arithOp * Data.clt)
| TScriptData of (string)
| TScript
| TRuleName of (string)
| TPure
| TPtrOp of (Data.clt)
| TPtVirg of (Data.clt)
- | TPragma of (string * Data.clt)
+ | TPragma of (Ast_cocci.added_string * Data.clt)
| TPosition
| TPosAny
| TPlusFile of (string * Data.clt)
| TParameter
| TPOEllipsis of (Data.clt)
| TPCEllipsis of (Data.clt)
- | TPArob
+ | TPArob of (Data.clt)
| TOrLog of (Data.clt)
| TOr of (Data.clt)
| TOn
| TMinusFile of (string * Data.clt)
| TMinus of (Data.clt)
| TMid0 of (Data.clt)
+ | TMetavariable
| TMetaType of (Parse_aux.info)
| TMetaStmList of (Parse_aux.info)
| TMetaStm of (Parse_aux.info)
| TMetaLocalIdExp of (Parse_aux.typed_expinfo)
| TMetaLocalFunc of (Parse_aux.idinfo)
| TMetaIterator of (Parse_aux.idinfo)
+ | TMetaInitList of (Parse_aux.list_info)
| TMetaInit of (Parse_aux.info)
| TMetaIdExp of (Parse_aux.typed_expinfo)
- | TMetaId of (Parse_aux.idinfo)
+ | TMetaId of (Parse_aux.midinfo)
| TMetaFunc of (Parse_aux.idinfo)
+ | TMetaFieldList of (Parse_aux.list_info)
+ | TMetaField of (Parse_aux.info)
| TMetaExpList of (Parse_aux.list_info)
| TMetaExp of (Parse_aux.typed_expinfo)
| TMetaErr of (Parse_aux.expinfo)
| TMetaDeclarer of (Parse_aux.idinfo)
+ | TMetaDecl of (Parse_aux.info)
| TMetaConst of (Parse_aux.typed_expinfo)
+ | TMeta of (Parse_aux.info)
| TMPtVirg
| TLogOp of (Ast_cocci.logicalOp * Data.clt)
| TLocal
| TIterator
| TIsoType
| TIsoTopLevel
+ | TIsoToTestExpression
| TIsoTestExpression
| TIsoStatement
| TIsoExpression
| TFor of (Data.clt)
| TFloat of (string * Data.clt)
| TFinalize
+ | TField
| TExtends
| TExpression
| TExists
| TDefault of (Data.clt)
| TDeclarerId of (string * Data.clt)
| TDeclarer
+ | TDeclaration
| TDec of (Data.clt)
| TCppConcatOp
| TContinue of (Data.clt)
| TAny of (Data.clt)
| TAndLog of (Data.clt)
| TAnd of (Data.clt)
+ | TAnalysis
| EOF
-val script_meta_main: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (string * Ast_cocci.meta_name)
+val script_meta_main: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
val rule_name: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (Ast_cocci.rulename)
val reinit: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (unit)
val plus_main: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (Ast0_cocci.rule)