From: Jaskaran Singh <jaskaran.singh@collabora.com> To: cocci@systeme.lip6.fr Subject: [Cocci] [PATCH 00/43] cocci: Add support for meta attributes to SmPL Date: Sun, 26 Jul 2020 18:20:58 +0530 Message-ID: <20200726125141.17787-1-jaskaran.singh@collabora.com> (raw) This patch series aims to add support for meta attributes in SmPL. Currently, only meta attributes in context and minus code are supported. Changes include adding the MetaAttribute and MetaAttributeDecl constructors to the SmPL ASTs and the MetaAttributeVal constructor to the C AST. Two test cases are included for detecting and removing meta attributes. Jaskaran Singh (43): parsing_cocci: ast0_cocci: Add MetaAttribute & MetaAttributeDecl parsing_cocci: parser: Parse meta attributes and metaattr decls parsing_cocci: parse_cocci: Reflect MetaAttribute & MetaAttributeDecl parsing_cocci: ast_cocci: Add MetaAttribute & MetaAttributeDecl parsing_cocci: iso_pattern: Reflect MetaAttribute & MetaAttributeDecl parsing_c: unparse_hrule: Reflect MetaAttribute & MetaAttributeDecl parsing_cocci: pretty_print_cocci: Reflect MetaAttribute & MetaAttributeDecl ocaml: coccilib: Reflect MetaAttribute & MetaAttributeDecl ocaml: yes_prepare_ocamlcocci: Reflect MetaAttribute & MetaAttributeDecl parsing_c: ast_c: Add MetaAttributeVal parsing_c: unparse_hrule: Reflect MetaAttributeVal engine: cocci_vs_c: Reflect MetaAttributeVal engine: pattern_c: Reflect MetaAttributeVal engine: pretty_print_engine: Add MetaAttributeVal ocaml: coccilib: Reflect MetaAttributeVal ocaml: ocamlcocci_aux: Reflect MetaAttributeVal ocaml: run_ocamlcocci: Reflect MetaAttributeVal python: pycocci_aux: Reflect MetaAttributeVal parsing_cocci: visitor_ast0: Reflect MetaAttribute parsing_cocci: check_meta: Reflect MetaAttribute parsing_cocci: adjust_pragmas: Reflect MetaAttribute parsing_cocci: context_neg: Reflect MetaAttribute parsing_cocci: compute_lines: Reflect MetaAttribute parsing_cocci: iso_pattern: Reflect MetaAttribute parsing_cocci: function_prototypes: Reflect MetaAttribute parsing_cocci: arity: Reflect MetaAttribute parsing_cocci: unitary_ast0: Reflect MetaAttribute parsing_cocci: unparse_ast0: Reflect MetaAttribute parsing_cocci: ast0toast: Reflect MetaAttribute parsing_cocci: visitor_ast: Reflect MetaAttribute parsing_cocci: cleanup_rules: Reflect MetaAttribute parsing_cocci: free_vars: Reflect MetaAttribute parsing_cocci: get_constants: Reflect MetaAttribute parsing_cocci: get_constants2: Reflect MetaAttribute parsing_cocci: index: Reflect MetaAttribute parsing_cocci: pretty_print_cocci: Reflect MetaAttribute parsing_cocci: safe_for_multi_decls: Reflect MetaAttribute parsing_cocci: unify_ast: Reflect MetaAttribute parsing_c: unparse_cocci: Reflect MetaAttribute engine: cocci_vs_c: Reflect MetaAttribute tools: spgen: Reflect MetaAttribute tests: Add test case to match meta attribute tests: Add test case to remove a meta attribute engine/cocci_vs_c.ml | 23 ++++++++++++++--- engine/pattern_c.ml | 6 ++++ engine/pretty_print_engine.ml | 1 ocaml/coccilib.ml | 1 ocaml/coccilib.mli | 7 +++++ ocaml/ocamlcocci_aux.ml | 2 + ocaml/run_ocamlcocci.ml | 1 ocaml/yes_prepare_ocamlcocci.ml | 1 parsing_c/ast_c.ml | 1 parsing_c/ast_c.mli | 1 parsing_c/lib_parsing_c.ml | 3 ++ parsing_c/lib_parsing_c.mli | 3 ++ parsing_c/pretty_print_c.ml | 12 ++++++++ parsing_c/pretty_print_c.mli | 5 +++ parsing_c/unparse_cocci.ml | 6 ++++ parsing_c/unparse_hrule.ml | 5 +++ parsing_cocci/adjust_pragmas.ml | 3 ++ parsing_cocci/arity.ml | 29 ++++++++++++++------- parsing_cocci/ast0_cocci.ml | 1 parsing_cocci/ast0_cocci.mli | 1 parsing_cocci/ast0toast.ml | 4 ++ parsing_cocci/ast_cocci.ml | 3 ++ parsing_cocci/ast_cocci.mli | 2 + parsing_cocci/check_meta.ml | 27 ++++++++++++++----- parsing_cocci/cleanup_rules.ml | 10 ++++++- parsing_cocci/compute_lines.ml | 14 ++++++---- parsing_cocci/context_neg.ml | 18 ++++++++----- parsing_cocci/data.ml | 1 parsing_cocci/data.mli | 1 parsing_cocci/free_vars.ml | 28 ++++++++++++++++++-- parsing_cocci/function_prototypes.ml | 10 ++++++- parsing_cocci/get_constants.ml | 7 ++++- parsing_cocci/get_constants2.ml | 9 +++--- parsing_cocci/index.ml | 3 +- parsing_cocci/iso_pattern.ml | 46 +++++++++++++++++++++++++++++----- parsing_cocci/lexer_cocci.mll | 12 ++++++++ parsing_cocci/parse_aux.ml | 4 ++ parsing_cocci/parse_cocci.ml | 11 ++++++-- parsing_cocci/parser_cocci_menhir.mly | 25 ++++++++++++------ parsing_cocci/pretty_print_cocci.ml | 3 ++ parsing_cocci/safe_for_multi_decls.ml | 1 parsing_cocci/unify_ast.ml | 2 + parsing_cocci/unitary_ast0.ml | 8 +++++ parsing_cocci/unparse_ast0.ml | 1 parsing_cocci/visitor_ast.ml | 7 +++-- parsing_cocci/visitor_ast0.ml | 5 ++- python/pycocci_aux.ml | 2 + tests/metaattr.c | 5 +++ tests/metaattr.cocci | 9 ++++++ tests/metaattr.res | 5 +++ tests/remove_metaattr.c | 5 +++ tests/remove_metaattr.cocci | 9 ++++++ tests/remove_metaattr.res | 5 +++ tools/spgen/source/meta_variable.ml | 8 +++++ 54 files changed, 357 insertions(+), 65 deletions(-) _______________________________________________ Cocci mailing list Cocci@systeme.lip6.fr https://systeme.lip6.fr/mailman/listinfo/cocci
next reply index Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-07-26 12:50 Jaskaran Singh [this message] 2020-07-26 12:50 ` [Cocci] [PATCH 01/43] parsing_cocci: ast0_cocci: Add MetaAttribute & MetaAttributeDecl Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 02/43] parsing_cocci: parser: Parse meta attributes and metaattr decls Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 03/43] parsing_cocci: parse_cocci: Reflect MetaAttribute & MetaAttributeDecl Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 04/43] parsing_cocci: ast_cocci: Add " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 05/43] parsing_cocci: iso_pattern: Reflect " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 06/43] parsing_c: unparse_hrule: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 07/43] parsing_cocci: pretty_print_cocci: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 08/43] ocaml: coccilib: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 09/43] ocaml: yes_prepare_ocamlcocci: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 10/43] parsing_c: ast_c: Add MetaAttributeVal Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 11/43] parsing_c: unparse_hrule: Reflect MetaAttributeVal Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 12/43] engine: cocci_vs_c: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 13/43] engine: pattern_c: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 14/43] engine: pretty_print_engine: Add MetaAttributeVal Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 15/43] ocaml: coccilib: Reflect MetaAttributeVal Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 16/43] ocaml: ocamlcocci_aux: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 17/43] ocaml: run_ocamlcocci: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 18/43] python: pycocci_aux: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 19/43] parsing_cocci: visitor_ast0: Reflect MetaAttribute Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 20/43] parsing_cocci: check_meta: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 21/43] parsing_cocci: adjust_pragmas: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 22/43] parsing_cocci: context_neg: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 23/43] parsing_cocci: compute_lines: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 24/43] parsing_cocci: iso_pattern: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 25/43] parsing_cocci: function_prototypes: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 26/43] parsing_cocci: arity: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 27/43] parsing_cocci: unitary_ast0: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 28/43] parsing_cocci: unparse_ast0: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 29/43] parsing_cocci: ast0toast: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 30/43] parsing_cocci: visitor_ast: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 31/43] parsing_cocci: cleanup_rules: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 32/43] parsing_cocci: free_vars: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 33/43] parsing_cocci: get_constants: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 34/43] parsing_cocci: get_constants2: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 35/43] parsing_cocci: index: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 36/43] parsing_cocci: pretty_print_cocci: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 37/43] parsing_cocci: safe_for_multi_decls: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 38/43] parsing_cocci: unify_ast: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 39/43] parsing_c: unparse_cocci: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 40/43] engine: cocci_vs_c: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 41/43] tools: spgen: " Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 42/43] tests: Add test case to match meta attribute Jaskaran Singh 2020-07-26 12:51 ` [Cocci] [PATCH 43/43] tests: Add test case to remove a " Jaskaran Singh 2020-08-01 20:36 ` [Cocci] [PATCH 00/43] cocci: Add support for meta attributes to SmPL Julia Lawall 2020-08-02 12:16 ` Jaskaran Singh [not found] <e4f3c4e8-03e8-dbc2-5871-0d111b3086a4@web.de> 2020-08-02 7:06 ` Julia Lawall [not found] ` <eead5e2a-da8d-83cd-eeb4-f193702b800f@web.de> 2020-08-02 11:48 ` Julia Lawall
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200726125141.17787-1-jaskaran.singh@collabora.com \ --to=jaskaran.singh@collabora.com \ --cc=cocci@systeme.lip6.fr \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Coccinelle Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/cocci/0 cocci/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 cocci cocci/ https://lore.kernel.org/cocci \ cocci@systeme.lip6.fr public-inbox-index cocci Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/fr.lip6.systeme.cocci AGPL code for this site: git clone https://public-inbox.org/public-inbox.git