Version 1.0.0-rc17 has been released. Some changes are:
[bpt/coccinelle.git] / parsing_cocci / ast_cocci.mli
index 4492379..bf2ad91 100644 (file)
@@ -118,6 +118,7 @@ and metavar =
   | MetaFuncDecl of arity * meta_name (* name *)
   | MetaLocalFuncDecl of arity * meta_name (* name *)
   | MetaPosDecl of arity * meta_name (* name *)
+  | MetaAnalysisDecl of string * meta_name (* name *)
   | MetaDeclarerDecl of arity * meta_name (* name *)
   | MetaIteratorDecl of arity * meta_name (* name *)
 
@@ -145,6 +146,7 @@ and base_ident =
   | MetaId        of meta_name mcode * idconstraint * keep_binding * inherited
   | MetaFunc      of meta_name mcode * idconstraint * keep_binding * inherited
   | MetaLocalFunc of meta_name mcode * idconstraint * keep_binding * inherited
+  | AsIdent       of ident * ident (* as ident, always metavar *)
 
   | DisjId        of ident list
   | OptIdent      of ident
@@ -243,7 +245,7 @@ and  fixOp = Dec | Inc
 
 and  binaryOp = Arith of arithOp | Logical of logicalOp
 and  arithOp =
-    Plus | Minus | Mul | Div | Mod | DecLeft | DecRight | And | Or | Xor
+    Plus | Minus | Mul | Div | Mod | DecLeft | DecRight | And | Or | Xor | Min | Max
 and  logicalOp = Inf | Sup | InfEq | SupEq | Eq | NotEq | AndLog | OrLog
 
 and constant =
@@ -370,6 +372,8 @@ and base_parameterTypeDef =
   | MetaParam     of meta_name mcode * keep_binding * inherited
   | MetaParamList of meta_name mcode * listlen * keep_binding * inherited
 
+  | AsParam       of parameterTypeDef * expression (* expr, always metavar *)
+
   | PComma        of string mcode
 
   | Pdots         of string mcode (* ... *)
@@ -442,7 +446,7 @@ and base_rule_elem =
                     expression * string mcode (* ) *) *
                      string mcode (* ; *)
   | ForHeader     of string mcode (* for *) * string mcode (* ( *) *
-                     expression option * string mcode (*;*) *
+                     forinfo *
                     expression option * string mcode (*;*) *
                      expression option * string mcode (* ) *)
   | IteratorHeader of ident (* name *) * string mcode (* ( *) *
@@ -474,6 +478,11 @@ and base_rule_elem =
   | Default       of string mcode (* default *) * string mcode (*:*)
   | DisjRuleElem  of rule_elem list
 
+and forinfo =
+    ForExp of expression option * string mcode (*;*)
+  | ForDecl of mcodekind (* before the decl *) *
+        bool (* true if all minus *) * declaration
+
 and fninfo =
     FStorage of storage mcode
   | FType of fullType
@@ -623,6 +632,7 @@ and anything =
   | IncFileTag          of inc_file
   | Rule_elemTag        of rule_elem
   | StatementTag        of statement
+  | ForInfoTag          of forinfo
   | CaseLineTag         of case_line
   | ConstVolTag         of const_vol
   | Token               of string * info option