~npalix/coccinelle/upstream

« back to all changes in this revision

Viewing changes to docs/manual/cocci_syntax.tex

  • Committer: julia
  • Date: 2015-09-04 12:42:52 UTC
  • mfrom: (4123.2.8)
  • Revision ID: git-v1:c36ab65321db0871af7733582500a54615108bac
MergeĀ git+ssh://scm.gforge.inria.fr//gitroot/coccinelle/coccinelle

Show diffs side-by-side

added added

removed removed

Lines of Context:
221
221
  \CASE{\NT{id} \OPT{ = \NT{binop\_contraint}}}
222
222
 
223
223
  \RULE{\rt{binop\_contraint}}
224
 
  \CASE{\mth{\{}\NT{COMMA\_LIST}\mth{(}\NT{binary\_op}\mth{)}\mth{\}}}
225
 
  \CASE{\NT{binary\_op}}
 
224
  \CASE{\mth{\{}\NT{COMMA\_LIST}\mth{(}\NT{bin\_op}\mth{)}\mth{\}}}
 
225
  \CASE{\NT{bin\_op}}
226
226
\end{grammar}
227
227
 
228
228
A metavariable declaration local idexpression v means that v is restricted
285
285
 
286
286
Assignment (resp. binary) operator metavariables match any assignment
287
287
(resp. binary) operator. The list of operators that can be matched can
288
 
be restrected by adding an operator constraint, i.e. a list of accepted
 
288
be restricted by adding an operator constraint, i.e. a list of accepted
289
289
operators.
290
290
 
291
291
Other kinds of metavariables can also be attached using \texttt{@} to any
491
491
metavariable as {\tt coccinelle.\(x\)}.  Examples are in the files
492
492
\texttt{demos/pythontococci.cocci} and \texttt{demos/camltococci.cocci}.
493
493
 
494
 
In an ocaml script, the following extended form of \textit{script\_metadecl}
 
494
In an OCaml script, the following extended form of \textit{script\_metadecl}
495
495
may be used:
496
496
 
497
497
\begin{grammar}
498
 
  \RULE{\rt{script\_metadecl}}
 
498
  \RULE{\rt{script\_metadecl'}}
499
499
  \CASE{(\T{id},\T{id}) <{}< \T{rulename\_id}.\T{id} ;}
500
500
  \CASE{\T{id} <{}< \T{rulename\_id}.\T{id} ;}
501
501
  \CASE{\T{id} ;}