On Sun, 26 Jul 2020, Jaskaran Singh wrote:

> 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.

Applied.

Is this the end of atributes?

julia

>
> 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

Reply via email to