csjark module

bezenchu at gmail.com bezenchu at gmail.com
Wed Sep 21 13:59:12 EDT 2016


On Wednesday, September 21, 2016 at 5:15:38 PM UTC+3, Peter Otten wrote:
> bezenchu at gmail.com wrote:
> 
> > On Wednesday, September 21, 2016 at 3:17:11 PM UTC+3, Peter Otten wrote:
> >> bezenchu at gmail.com wrote:
> >> 
> >> > On Wednesday, September 21, 2016 at 1:14:14 PM UTC+3, Peter Otten
> >> > wrote:
> >> >> bezenchu at gmail.com wrote:
> >> >> 
> >> >> > After setting up csjark (http://csjark.readthedocs.io/), I'm trying
> >> >> > to test on of my C header files which has following statements:
> >> >> > 
> >> >> > typedef struct {
> >> >> >    unsigned long X;
> >> >> >    __int64 Y;
> >> >> > } abc;
> >> >> > 
> >> >> > 
> >> >> > If I'm changing __int64 to unsigned long I'm not getting this error
> >> >> > For the __int64 i'm getting the mention error. Am I missing
> >> >> > something?
> >> >> > 
> >> >> > 
> >> >> > In addition, I'm getting following error:
> >> >> > Attribute error("'tuple object has no attibute 'children'",)
> >> >> > 
> >> >> > I'd be glad to have some assistance.
> >> >> 
> >> >> It looks like development of csjark has stopped in 2011. Try
> >> >> installing a pycparser version from that time frame -- 2.05 should be
> >> >> a good candidate according to
> >> >> <https://github.com/eliben/pycparser/blob/master/CHANGES> so if you
> >> >> are using pip after
> >> >> 
> >> >> $ pip install pycparser==2.05
> >> >> 
> >> >> csjark might work.
> >> > 
> >> > I've installed all the required SW, but still getting the same error
> >> 
> >> When you invoke the interactive interpreter what does
> >> 
> >> >>> import pycparser
> >> >>> pycparser.__version__
> >> '2.05'
> >> 
> >> produce on your system?
> > 
> > I have version 2.07 (which is the one used for the development)
> 
> For cjshark to work (or at least not fail in the way you observed) you need 
> 2.5.
> 
> 2.7 returns 2-tuples where 2.5 does not. Compare for example:
> 
> https://github.com/eliben/pycparser/blob/release_v2.07/pycparser/c_ast.py#L149
> 
>     def children(self):
>         nodelist = []
>         if self.name is not None: nodelist.append(("name", self.name))
>         if self.subscript is not None: nodelist.append(("subscript", 
> self.subscript))
>         return tuple(nodelist)
> 
> and
> 
> https://github.com/eliben/pycparser/blob/release_v2.05/pycparser/c_ast.py#L136
> 
>     def children(self):
>         nodelist = []
>         if self.name is not None: nodelist.append(self.name)
>         if self.subscript is not None: nodelist.append(self.subscript)
>         return tuple(nodelist)
> 
> I wonder why you didn't just try what I suggested...

Thanks.

I've tried it @home on the test files of csjark.
It worked fine for the 2nd issue (while at my work computer, there was error).
For the first one, still have to check



More information about the Python-list mailing list