From: Benjamin M. <ben...@ce...> - 2006-10-16 16:58:29
|
Dear Cilers, The latest CVS version introduced the PAREN node in Cabs. Could any developer elaborate on the semantics of such a constructor at t= he=20 primary_expression level in the grammar ? In any case this broke cabs2cil for expressions like (*p)++ because an lv= al=20 might be hidden under a PAREN : Here is a patch : Add A.PAREN _ | at lines 3489, 3526, 2562, 3615, 3655 in cabs2cil.ml I am quite sure that this patch will break on incorrect C code like. Do you have any other suggestions ? Thanks in advance --=20 | Benjamin Monate | mailto:ben...@ce... | | Ing=E9nieur-Chercheur | CEA-LIST/DRT/DTSI/SOL/LSL | | B=E2t. 528 Pt. 115a | 91191 Gif-sur-Yvette CEDEX | | T=E9l. 01 69 08 94 09 | Fax : 01 69 08 83 95 | |
From: Matt H. <ma...@cs...> - 2006-10-16 20:58:01
|
Hi, This should be fixed now. The CVS repository is more brittle than usual right now because we haven't yet gotten the new server for regression testing. I'd stick with last month's version in CVS unless you specifically need something more recent. The PAREN node was added to enable Cabs to print a program formatted in the same way it was in the original file, complete with whitespace and comments. We want to start using Cabs for refactoring, although we haven't done any such thing yet. -- Matt Benjamin Monate wrote: >Dear Cilers, > >The latest CVS version introduced the PAREN node in Cabs. >Could any developer elaborate on the semantics of such a constructor at the >primary_expression level in the grammar ? > >In any case this broke cabs2cil for expressions like (*p)++ because an lval >might be hidden under a PAREN : > >Here is a patch : >Add >A.PAREN _ | >at lines 3489, 3526, 2562, 3615, 3655 in cabs2cil.ml > >I am quite sure that this patch will break on incorrect C code like. >Do you have any other suggestions ? > >Thanks in advance > > |
From: Benjamin M. <ben...@ce...> - 2006-10-17 09:03:38
|
Hi, Matt Harren a =E9crit : > This should be fixed now. The CVS repository is more brittle than usua= l=20 > right now because we haven't yet gotten the new server for regression=20 > testing. I'd stick with last month's version in CVS unless you=20 > specifically need something more recent. Ok, thanks a lot for the information. > The PAREN node was added to enable Cabs to print a program formatted in= =20 > the same way it was in the original file, complete with whitespace and=20 > comments. We want to start using Cabs for refactoring, although we=20 > haven't done any such thing yet. This sound very intersting : do you intend to keep this kind of informati= on in=20 Cil.file type after elaboration ? --=20 | Benjamin Monate | mailto:ben...@ce... | | Ing=E9nieur-Chercheur | CEA-LIST/DRT/DTSI/SOL/LSL | | B=E2t. 528 Pt. 115a | 91191 Gif-sur-Yvette CEDEX | | T=E9l. 01 69 08 94 09 | Fax : 01 69 08 83 95 | |
From: Matt H. <ma...@cs...> - 2006-10-17 14:59:50
|
Benjamin Monate wrote: >>The PAREN node was added to enable Cabs to print a program formatted in >>the same way it was in the original file, complete with whitespace and >>comments. We want to start using Cabs for refactoring, although we >>haven't done any such thing yet. >> >> > >This sound very intersting : do you intend to keep this kind of information in >Cil.file type after elaboration ? > > No, converting CIL code to the original C seems too difficult. The goal instead would be to run an analysis in CIL, port the analysis results back to CABS (using location info to establish the correspondence), and make modest changes directly to the CABS code, such as adding annotations. -- Matt |