From: Jaskaran Singh <jaskaransingh7654321@gmail.com>
To: cocci@systeme.lip6.fr
Cc: julia.lawall@inria.fr, jaskaransingh7654321@gmail.com,
linux-kernel-mentees@lists.linuxfoundation.org
Subject: [Linux-kernel-mentees] [PATCH 21/30] parsing_c: parser_c: Reflect Macrodecl attributes
Date: Sun, 24 May 2020 22:49:26 +0530 [thread overview]
Message-ID: <20200524171935.2504-22-jaskaransingh7654321@gmail.com> (raw)
In-Reply-To: <20200524171935.2504-1-jaskaransingh7654321@gmail.com>
Macrodecl attributes are added to the C AST. Parse these attributes in
the C parser and place them in the C AST.
Signed-off-by: Jaskaran Singh <jaskaransingh7654321@gmail.com>
---
parsing_c/parser_c.mly | 23 ++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)
diff --git a/parsing_c/parser_c.mly b/parsing_c/parser_c.mly
index aedde179..dadf675f 100644
--- a/parsing_c/parser_c.mly
+++ b/parsing_c/parser_c.mly
@@ -1600,10 +1600,11 @@ decl2:
match $1 with
Some (sto,stoii) ->
MacroDecl
- ((sto, fst $2, $4, true), (snd $2::$3::$5::$6::fakeInfo()::stoii))
+ ((sto, fst $2, $4, [], true),
+ (snd $2::$3::$5::$6::fakeInfo()::stoii))
| None ->
MacroDecl
- ((NoSto, fst $2, $4, true), [snd $2;$3;$5;$6;fakeInfo()]) }
+ ((NoSto, fst $2, $4, [], true), [snd $2;$3;$5;$6;fakeInfo()]) }
| storage_const_opt TMacroDecl TOPar argument_list TCPar end_attributes
TPtVirg
@@ -1611,10 +1612,12 @@ decl2:
match $1 with
Some (sto,stoii) ->
MacroDecl
- ((sto, fst $2, $4, true), (snd $2::$3::$5::$7::fakeInfo()::stoii))
+ ((sto, fst $2, $4, $6, true),
+ (snd $2::$3::$5::$7::fakeInfo()::stoii))
| None ->
MacroDecl
- ((NoSto, fst $2, $4, true), [snd $2;$3;$5;$7;fakeInfo()]) }
+ ((NoSto, fst $2, $4, $6, true),
+ [snd $2;$3;$5;$7;fakeInfo()]) }
| storage_const_opt
TMacroDecl TOPar argument_list TCPar teq initialize TPtVirg
@@ -2265,7 +2268,9 @@ cpp_other:
($5::iistart::snd sto)))
else
Declaration
- (MacroDecl((NoSto, fst $1, $3, true), [snd $1;$2;$4;$5;fakeInfo()]))
+ (MacroDecl
+ ((NoSto, fst $1, $3, Ast_c.noattr, true),
+ [snd $1;$2;$4;$5;fakeInfo()]))
(* old: MacroTop (fst $1, $3, [snd $1;$2;$4;$5]) *)
}
@@ -2295,7 +2300,9 @@ cpp_other:
($6::iistart::snd sto)))
else
Declaration
- (MacroDecl((NoSto, fst $1, $3, true), [snd $1;$2;$4;$6;fakeInfo()]))
+ (MacroDecl
+ ((NoSto, fst $1, $3, $5, true),
+ [snd $1;$2;$4;$6;fakeInfo()]))
(* old: MacroTop (fst $1, $3, [snd $1;$2;$4;$5]) *)
}
@@ -2321,7 +2328,9 @@ cpp_other:
/*(* TCParEOL to fix the end-of-stream bug of ocamlyacc *)*/
| identifier TOPar argument_list TCParEOL
{ Declaration
- (MacroDecl ((NoSto, fst $1, $3, false), [snd $1;$2;$4;fakeInfo()])) }
+ (MacroDecl
+ ((NoSto, fst $1, $3, Ast_c.noattr, false),
+ [snd $1;$2;$4;fakeInfo()])) }
/*(* ex: EXPORT_NO_SYMBOLS; *)*/
| identifier TPtVirg { EmptyDef [snd $1;$2] }
--
2.21.1
_______________________________________________
Linux-kernel-mentees mailing list
Linux-kernel-mentees@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees
next prev parent reply other threads:[~2020-05-24 17:21 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-24 17:19 [Linux-kernel-mentees] [PATCH 00/30] cocci: Add macrodecl attributes to C and SmPL ASTs Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 01/30] parsing_cocci: ast0_cocci: Add Macrodecl attributes Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 02/30] parsing_cocci: parser: Parse " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 03/30] parsing_cocci: visitor_ast0: Visit " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 04/30] parsing_cocci: unparse_ast0: Reflect " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 05/30] parsing_cocci: index: " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 06/30] parsing_cocci: iso_pattern: " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 07/30] parsing_cocci: type_infer: " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 08/30] parsing_cocci: arity: " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 09/30] parsing_cocci: check_meta: " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 10/30] parsing_cocci: compute_lines: " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 11/30] parsing_cocci: context_neg: " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 12/30] parsing_cocci: single_statement: " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 13/30] parsing_cocci: ast_cocci: " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 14/30] parsing_cocci: visitor_ast: " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 15/30] parsing_cocci: pretty_print_cocci: " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 16/30] parsing_cocci: disjdistr: " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 17/30] parsing_cocci: adjust_pragmas: " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 18/30] parsing_cocci: unify_ast: " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 19/30] parsing_cocci: ast0toast: " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 20/30] parsing_c: ast_c: Add " Jaskaran Singh
2020-05-24 17:19 ` Jaskaran Singh [this message]
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 22/30] parsing_c: visitor_c: Reflect " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 23/30] parsing_c: pretty_print_c: " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 24/30] parsing_c: unparse_cocci: " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 25/30] engine: check_exhaustive_pattern: " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 26/30] engine: cocci_vs_c: Match " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 27/30] ocaml: coccilib: Reflect " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 28/30] tools: spgen: " Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 29/30] tests: Add test case to remove macrodecl attributes Jaskaran Singh
2020-05-24 17:19 ` [Linux-kernel-mentees] [PATCH 30/30] tests: Add test case to detect a macrodecl attribute Jaskaran Singh
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=20200524171935.2504-22-jaskaransingh7654321@gmail.com \
--to=jaskaransingh7654321@gmail.com \
--cc=cocci@systeme.lip6.fr \
--cc=julia.lawall@inria.fr \
--cc=linux-kernel-mentees@lists.linuxfoundation.org \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).