permit multiline comments and strings in macros
[bpt/coccinelle.git] / parsing_cocci / parser_cocci_menhir.mli
index 3b440b6..b6bee3a 100644 (file)
@@ -1,3 +1,30 @@
+(*
+ * 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 = 
@@ -8,9 +35,12 @@ 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)
@@ -33,18 +63,24 @@ type token =
   | 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)
@@ -53,7 +89,7 @@ type token =
   | 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)
@@ -63,7 +99,7 @@ type token =
   | TParameter
   | TPOEllipsis of (Data.clt)
   | TPCEllipsis of (Data.clt)
-  | TPArob
+  | TPArob of (Data.clt)
   | TOrLog of (Data.clt)
   | TOr of (Data.clt)
   | TOn
@@ -81,6 +117,7 @@ type token =
   | 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)
@@ -90,15 +127,20 @@ type token =
   | 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
@@ -107,6 +149,7 @@ type token =
   | TIterator
   | TIsoType
   | TIsoTopLevel
+  | TIsoToTestExpression
   | TIsoTestExpression
   | TIsoStatement
   | TIsoExpression
@@ -133,6 +176,7 @@ type token =
   | TFor of (Data.clt)
   | TFloat of (string * Data.clt)
   | TFinalize
+  | TField
   | TExtends
   | TExpression
   | TExists
@@ -153,6 +197,7 @@ type token =
   | TDefault of (Data.clt)
   | TDeclarerId of (string * Data.clt)
   | TDeclarer
+  | TDeclaration
   | TDec of (Data.clt)
   | TCppConcatOp
   | TContinue of (Data.clt)
@@ -175,10 +220,11 @@ type token =
   | 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)