pygccxml-development Mailing List for C++ Python language bindings (Page 64)
Brought to you by:
mbaas,
roman_yakovenko
You can subscribe to this list here.
2006 |
Jan
|
Feb
(6) |
Mar
(160) |
Apr
(96) |
May
(152) |
Jun
(72) |
Jul
(99) |
Aug
(189) |
Sep
(161) |
Oct
(110) |
Nov
(9) |
Dec
(3) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(13) |
Feb
(48) |
Mar
(35) |
Apr
(7) |
May
(37) |
Jun
(8) |
Jul
(15) |
Aug
(8) |
Sep
(2) |
Oct
(1) |
Nov
(2) |
Dec
(38) |
2008 |
Jan
(11) |
Feb
(29) |
Mar
(17) |
Apr
(3) |
May
|
Jun
(64) |
Jul
(49) |
Aug
(51) |
Sep
(18) |
Oct
(22) |
Nov
(9) |
Dec
(9) |
2009 |
Jan
(28) |
Feb
(15) |
Mar
(2) |
Apr
(11) |
May
(6) |
Jun
(2) |
Jul
(3) |
Aug
(34) |
Sep
(5) |
Oct
(7) |
Nov
(13) |
Dec
(14) |
2010 |
Jan
(39) |
Feb
(3) |
Mar
(3) |
Apr
(14) |
May
(11) |
Jun
(8) |
Jul
(9) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
(7) |
Apr
|
May
|
Jun
(3) |
Jul
(3) |
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(2) |
2016 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
2021 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(1) |
Nov
|
Dec
|
From: Roman Y. <rom...@gm...> - 2006-04-18 11:14:00
|
On 4/18/06, Neal Becker <ndb...@gm...> wrote: > > I replaced scanner.py in pygccxml source, ran python setup.py build + ins= tall, > but the same problem is still there. I confirmed that scanner.py is upda= ted. > parsing files - started I run all tests I have. Can you run unittests? You have unittests dir. Within this directory there is file "autoconfig.py" Please adjust the settings and run next command: python test_all.py Only 2 tests should fail. Also can you debug the problem? Thanks -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |
From: Neal B. <ndb...@gm...> - 2006-04-18 10:56:56
|
On Tuesday 18 April 2006 4:10 am, Roman Yakovenko wrote: > Neal, I found the problem. > Description: GCC-XML changed serialization of unnamed declarations ( > enums + namespaces ) > In previous version of GCC-XML, an element, that describes the > declaration has attribute "name" with some content. Now it does not > have this attribute. > > By the way, it was nothing wrong with SAX, but with my code. pygccxml > uses SAX to > parse XML files. It gaves huge speed improvement. > > The fix is simple: > file pygccxml/parser/scanner.py > > search and replace next string > attrs[ XML_AN_NAME ] > with > attrs.get( XML_AN_NAME, '' ) > > Or you can replace the file with one I attach with this mail. > Thanks! I replaced scanner.py in pygccxml source, ran python setup.py build + install, but the same problem is still there. I confirmed that scanner.py is updated. parsing files - started Reading project files: file by file Reading source file: [hello_world.hpp]. File has not been found in cache, parsing... Command line for GCC-XML: /usr/bin/gccxml -I"." -I"/usr/local/src/boost.cvs" "hello_world.hpp" -fxml="/tmp/tmpDRYXEY.xml" Traceback (most recent call last): File "<stdin>", line 1, in ? File "/usr/tmp/python-4tAz49.py", line 17, in ? mb = module_builder.module_builder_t( File "/usr/lib/python2.4/site-packages/pyplusplus/module_builder/builder.py", line 76, in __init__ , cache ) File "/usr/lib/python2.4/site-packages/pyplusplus/module_builder/builder.py", line 101, in __parse_declarations decls = reader.read_files( files, compilation_mode ) File "/usr/lib/python2.4/site-packages/pygccxml/parser/project_reader.py", line 149, in read_files return self.__parse_file_by_file(files) File "/usr/lib/python2.4/site-packages/pygccxml/parser/project_reader.py", line 172, in __parse_file_by_file decls = reader.read_file( header ) File "/usr/lib/python2.4/site-packages/pygccxml/parser/source_reader.py", line 164, in read_file raise error KeyError: 'name' |
From: Roman Y. <rom...@gm...> - 2006-04-18 08:11:06
|
Neal, I found the problem. Description: GCC-XML changed serialization of unnamed declarations ( enums + namespaces ) In previous version of GCC-XML, an element, that describes the declaration has attribute "name" with some content. Now it does not have this attribute. By the way, it was nothing wrong with SAX, but with my code. pygccxml uses SAX to parse XML files. It gaves huge speed improvement. The fix is simple: file pygccxml/parser/scanner.py search and replace next string attrs[ XML_AN_NAME ] with attrs.get( XML_AN_NAME, '' ) Or you can replace the file with one I attach with this mail. -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |
From: Neal B. <ndb...@gm...> - 2006-04-17 21:47:10
|
On Monday 17 April 2006 5:41 pm, Roman Yakovenko wrote: > On 4/18/06, Neal Becker <ndb...@gm...> wrote: > > OK, back to my previous test. gccxml cvs is now updated so the problem I > > reported last week is fixed (thanks!) > > > > But still no luck. Any hints? (I have to say pyplusplus error messages > > could probably be more helpful) > > Well, you are right messages could be much better. In most cases they are. > In your case, I did not expect this code to fail. I guess this is > because of your > version of GCCXML. I will look at it. > > Thanks for bug reporting. > > -- It is a problem in (Pdb) n > /usr/lib64/python2.4/site-packages/_xmlplus/sax/__init__.py(31)parse() -> parser.parse(filename_or_stream) (Pdb) n KeyError: <exceptions.KeyError instance at 0x2aaab05c7dd0> Something sax doesn't like. Not sure how to debug it, one thing does look strange in the xml file: <File id="f55" name="/usr/include/c++/4.1.0/cstring"/> <File id="f56" name="<internal>"/> <File id="f57" name="/usr/include/c++/4.1.0/ext/new_allocator.h"/> Anyway I put the xml here: http://nbecker.dyndns.org:8080/tmpTHoLWR.xml.gz |
From: Roman Y. <rom...@gm...> - 2006-04-17 21:41:34
|
On 4/18/06, Neal Becker <ndb...@gm...> wrote: > OK, back to my previous test. gccxml cvs is now updated so the problem I > reported last week is fixed (thanks!) > > But still no luck. Any hints? (I have to say pyplusplus error messages = could > probably be more helpful) Well, you are right messages could be much better. In most cases they are. In your case, I did not expect this code to fail. I guess this is because of your version of GCCXML. I will look at it. Thanks for bug reporting. -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |
From: Neal B. <ndb...@gm...> - 2006-04-17 21:12:00
|
OK, back to my previous test. gccxml cvs is now updated so the problem I reported last week is fixed (thanks!) But still no luck. Any hints? (I have to say pyplusplus error messages could probably be more helpful) gccxml now runs without errors. But I get this: parsing files - started Reading project files: file by file Reading source file: [hello_world.hpp]. File has not been found in cache, parsing... Command line for GCC-XML: /usr/bin/gccxml -I"." -I"/usr/local/src/boost.cvs" "hello_world.hpp" -fxml="/tmp/tmp_TUhxm.xml" Traceback (most recent call last): File "<stdin>", line 1, in ? File "/usr/tmp/python-W1AaN3.py", line 17, in ? mb = module_builder.module_builder_t( File "/usr/lib/python2.4/site-packages/pyplusplus/module_builder/builder.py", line 76, in __init__ , cache ) File "/usr/lib/python2.4/site-packages/pyplusplus/module_builder/builder.py", line 101, in __parse_declarations decls = reader.read_files( files, compilation_mode ) File "/usr/lib/python2.4/site-packages/pygccxml/parser/project_reader.py", line 149, in read_files return self.__parse_file_by_file(files) File "/usr/lib/python2.4/site-packages/pygccxml/parser/project_reader.py", line 172, in __parse_file_by_file decls = reader.read_file( header ) File "/usr/lib/python2.4/site-packages/pygccxml/parser/source_reader.py", line 164, in read_file raise error KeyError: 'name' This is from 'generate_code.py', which is this: import os #from environment import settings from pyplusplus import module_builder mb = module_builder.module_builder_t( files=['hello_world.hpp'],include_paths=['/usr/local/src/boost.cvs'],compilation_verbose=True ) Here is hello_world.hpp: |
From: Roman Y. <rom...@gm...> - 2006-04-17 12:33:53
|
Hi. As decided, development of pyplusplus is going to switch to SVN. Here is a proposed phisical design for the packages. Please comment it. The main goal of redesign is to use Python distutils package. pygccxml_dev/ | |----setup.py | |----docs/ | | |----apidocs/ | |----pygccxml/ | | |----declarations/ | | |----parser/ | | |----utils/ | |----unittests/ | | |----data/ pyplusplus_dev/ | |----environment.py #containes paths to boost and pygccxml | |----setup.py | |----docs/ | | |----apidocs/ | | |----examples/ | | |----tutorials/ | |----pyplusplus/ | | |----code_creators/ | | |----code_repository/ | | |----decl_wrappers/ | | |----file_writers/ | | |----gui/ | | |----_logging_/ | | |----module_builder/ | | |----module_creator/ | | |----scripts/ | | |----utils/ | |----unittests/ | | |----data/ | | |----generated/ | |----examples/ | | |----pyboost_dev/ | | | |----setup.py | | | |----pyboost/ | | | | |----date_time/ | | | | | |----generated/ | | | | |----.... | | |----pyeasybmp_dev/ | | | |----setup.py | | | |----environment.py | | | |----pyeasybmp/ | | | | |----generated/ | | |----custom_code_creator/ | | |----unittests/ | |----tutorials/ | | |----module_builder/ | | |----... What do you think? -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |
From: Roman Y. <rom...@gm...> - 2006-04-16 20:07:51
|
Good evening. First of all it is really good, because I just uploaded to SourceForge the final version of pygccxml-0.7.2 and pyplusplus-0.7.1. Second, I want to say "thank you" to Matthias Baas. He contributed so much = to both projects! Here is some short list of what he did: 1. He created high level API design! 2. He wrote a lot of documentation strings! 3. He improved pygccxml cache performance! 4. He added logging functionality in some places! 5. ... ( I am sure he did something else, I just don't remember ) Third, I want to say "thank you" to Allen Bierbaum, too. He also contribute= d for both projects: documentation, performance turning and ideas. Changes: 1. Code released IS NOT different from last release ( pygccxml - 0.7.1 and pyplusplus - 0.7.0 ) This release adds documentation, tutorials. 2. What has been changed from pyplusplus 0.6.0 http://www.language-binding.net/pygccxml/history/history.html http://www.language-binding.net/pyplusplus/history/history.html The short version: pyplusplus is now much user friendly! It has documentation and tutorials: http://www.language-binding.net/pyplusplus/tutorials/tutorials.html Future: 1. TODO list is open 2. Wishes, comments, spell fixes, ideas, FAQs, examples and ... are welcome. 3. This is last release we use CVS. I hope, that before next release we will switch to SVN. Enjoy. -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |
From: Roman Y. <rom...@gm...> - 2006-04-14 04:17:08
|
On 4/14/06, Neal Becker <ndb...@gm...> wrote: > I removed gccxml got a fresh copy from cvs, rebuilt, and re-installed. S= ame > problem: > ... I saw your posting on GCCXML development list. I think you are right, the problem is with GCCXML. -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |
From: Neal B. <ndb...@gm...> - 2006-04-13 23:52:16
|
I removed gccxml got a fresh copy from cvs, rebuilt, and re-installed. Same problem: gccxml hello_world.hpp -fxml=/dev/null --debug -I /usr/local/src/boost.cvs Using "/usr/bin/gccxml_cc1plus" as GCC-XML executable. Using the following arguments to GCC-XML executable: "-quiet" "-fsyntax-only" "-w" "-o" "/dev/null" "-nostdinc" "-D__GCCXML__=700" "-D__GCCXML_GNUC__=3" "-D__GCCXML_GNUC_MINOR__=3" "-D__GCCXML_GNUC_PATCHLEVEL__=2" "hello_world.hpp" "-fxml=/dev/null" "-I" "/usr/local/src/boost.cvs" "-D__DBL_MIN_EXP__=(-1021)" "-D__FLT_MIN__=1.17549435e-38F" "-D__CHAR_BIT__=8" "-D__WCHAR_MAX__=2147483647" "-D__DBL_DENORM_MIN__=4.9406564584124654e-324" "-D__FLT_EVAL_METHOD__=0" "-D__DBL_MIN_10_EXP__=(-307)" "-D__FINITE_MATH_ONLY__=0" "-D__LP64__=1" "-D__SHRT_MAX__=32767" "-D__LDBL_MAX__=1.18973149535723176502e+4932L" "-D__UINTMAX_TYPE__=long unsigned int" "-D__linux=1" "-D__unix=1" "-D__linux__=1" "-D__SCHAR_MAX__=127" "-D__USER_LABEL_PREFIX__=" "-D__STDC_HOSTED__=1" "-D__DBL_DIG__=15" "-D__FLT_EPSILON__=1.19209290e-7F" "-D__GXX_WEAK__=1" "-D__LDBL_MIN__=3.36210314311209350626e-4932L" "-D__unix__=1" "-D__DECIMAL_DIG__=21" "-D__gnu_linux__=1" "-D__LDBL_HAS_QUIET_NAN__=1" "-D__GNUC__=4" "-D__MMX__=1" "-D__DBL_MAX__=1.7976931348623157e+308" "-D__DBL_HAS_INFINITY__=1" "-D__cplusplus=1" "-D__DEPRECATED=1" "-D__DBL_MAX_EXP__=1024" "-D__SSE2_MATH__=1" "-D__amd64=1" "-D__GNUG__=4" "-D__LONG_LONG_MAX__=9223372036854775807LL" "-D__GXX_ABI_VERSION=1002" "-D__FLT_MIN_EXP__=(-125)" "-D__x86_64=1" "-D__DBL_MIN__=2.2250738585072014e-308" "-D__FLT_MIN_10_EXP__=(-37)" "-D__DBL_HAS_QUIET_NAN__=1" "-D__REGISTER_PREFIX__=" "-D__NO_INLINE__=1" "-D__FLT_MANT_DIG__=24" "-D__VERSION__="4.1.0 20060304 (Red Hat 4.1.0-3)"" "-Dunix=1" "-D__SIZE_TYPE__=long unsigned int" "-D__ELF__=1" "-D__FLT_RADIX__=2" "-D__LDBL_EPSILON__=1.08420217248550443401e-19L" "-D__GNUC_RH_RELEASE__=3" "-D__k8=1" "-D__LDBL_DIG__=18" "-D__x86_64__=1" "-D__FLT_HAS_QUIET_NAN__=1" "-D__FLT_MAX_10_EXP__=38" "-D__LONG_MAX__=9223372036854775807L" "-D__FLT_HAS_INFINITY__=1" "-Dlinux=1" "-D__EXCEPTIONS=1" "-D__LDBL_MANT_DIG__=64" "-D__k8__=1" "-D__WCHAR_TYPE__=int" "-D__FLT_DIG__=6" "-D__INT_MAX__=2147483647" "-D__FLT_MAX_EXP__=128" "-D__DBL_MANT_DIG__=53" "-D__WINT_TYPE__=unsigned int" "-D__SSE__=1" "-D__LDBL_MIN_EXP__=(-16381)" "-D__amd64__=1" "-D__LDBL_MAX_EXP__=16384" "-D__LDBL_MAX_10_EXP__=4932" "-D__DBL_EPSILON__=2.2204460492503131e-16" "-D_LP64=1" "-D__GNUC_PATCHLEVEL__=0" "-D__LDBL_HAS_INFINITY__=1" "-D__INTMAX_MAX__=9223372036854775807L" "-D__FLT_DENORM_MIN__=1.40129846e-45F" "-D__FLT_MAX__=3.40282347e+38F" "-D__SSE2__=1" "-D__INTMAX_TYPE__=long int" "-D__GNUC_MINOR__=1" "-D__DBL_MAX_10_EXP__=308" "-D__LDBL_DENORM_MIN__=3.64519953188247460253e-4951L" "-D__STDC__=1" "-D__PTRDIFF_TYPE__=long int" "-D__LDBL_MIN_10_EXP__=(-4931)" "-D__SSE_MATH__=1" "-D_GNU_SOURCE=1" "-iwrapper/usr/share/gccxml-0.7/GCC/4.1" "-I/usr/lib/gcc/x86_64-redhat-linux/4.1.0/../../../../include/c++/4.1.0" "-I/usr/lib/gcc/x86_64-redhat-linux/4.1.0/../../../../include/c++/4.1.0/x86_64-redhat-linux" "-I/usr/lib/gcc/x86_64-redhat-linux/4.1.0/../../../../include/c++/4.1.0/backward" "-I/usr/local/include" "-I/usr/lib/gcc/x86_64-redhat-linux/4.1.0/include" "-I/usr/include" "-include" "/usr/share/gccxml-0.7/GCC/4.1/gccxml_builtins.h" xml_find_template_parm encountered unsupported type bound_template_template_parm |
From: Neal B. <ndb...@gm...> - 2006-04-13 23:20:37
|
OK. I am using gccxml from cvs as of today. gccxml hello_world.hpp -fxml=/dev/null xml_find_template_parm encountered unsupported type bound_template_template_parm Problem is with gccxml I guess. Again, here is hello_world.hpp: |
From: Roman Y. <rom...@gm...> - 2006-04-13 21:13:32
|
On 4/14/06, Neal Becker <ndb...@gm...> wrote: > A simple test: > > g++ -fsyntax-only -xc++ hello_world.hpp produces no error. > > parsing files - started > Traceback (most recent call last): > File "<stdin>", line 1, in ? > File "/usr/tmp/python-ByATVu.py", line 17, in ? > mb =3D module_builder.module_builder_t( > File > "/usr/lib/python2.4/site-packages/pyplusplus/module_builder/builder.py", = line > 52, in __init__ > , cache ) > File > "/usr/lib/python2.4/site-packages/pyplusplus/module_builder/builder.py", = line > 72, in __parse_declarations > decls =3D reader.read_files( files, compilation_mode ) > File "/usr/lib/python2.4/site-packages/pygccxml/parser/project_reader.p= y", > line 149, in read_files > return self.__parse_file_by_file(files) > File "/usr/lib/python2.4/site-packages/pygccxml/parser/project_reader.p= y", > line 172, in __parse_file_by_file > decls =3D reader.read_file( header ) > File "/usr/lib/python2.4/site-packages/pygccxml/parser/source_reader.py= ", > line 164, in read_file > raise error > pygccxml.parser.source_reader.gccxml_runtime_error_t: Error occured while > running GCC-XML: xml_find_template_parm encountered unsupported type > bound_template_template_parm > xml_find_template_parm encountered unsupported type > bound_template_template_parm > [repeat...] Lets start. I am using Debian 3.1. Almost latests CVS version of boost. I think this o= ne will become next release. I am using GCC-XML cvs version month or two month old. Current version of cvs( =3D=3D preview ) pygccxml/pyplusplus. I run GUI version of pypluspus, where I added to include paths boost locati= on. And here is the code generated by pyplusplus: // std directories: [] // user defined directories: ['/home/roman/boost_cvs', '/home/roman/tmp'] #include "boost/python.hpp" #include "hw.hpp" namespace bp =3D boost::python; BOOST_PYTHON_MODULE(pyplusplus){ bp::def( "Copy_int" , &Copy_int , ( bp::arg("in") ) , bp::default_call_policies() ); bp::def( "Copy" , &Copy , ( bp::arg("in") ) , bp::default_call_policies() ); } So, can you try to describe your problem, one more time? Thanks. -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |
From: Neal B. <ndb...@gm...> - 2006-04-13 21:00:35
|
A simple test: g++ -fsyntax-only -xc++ hello_world.hpp produces no error. parsing files - started Traceback (most recent call last): File "<stdin>", line 1, in ? File "/usr/tmp/python-ByATVu.py", line 17, in ? mb = module_builder.module_builder_t( File "/usr/lib/python2.4/site-packages/pyplusplus/module_builder/builder.py", line 52, in __init__ , cache ) File "/usr/lib/python2.4/site-packages/pyplusplus/module_builder/builder.py", line 72, in __parse_declarations decls = reader.read_files( files, compilation_mode ) File "/usr/lib/python2.4/site-packages/pygccxml/parser/project_reader.py", line 149, in read_files return self.__parse_file_by_file(files) File "/usr/lib/python2.4/site-packages/pygccxml/parser/project_reader.py", line 172, in __parse_file_by_file decls = reader.read_file( header ) File "/usr/lib/python2.4/site-packages/pygccxml/parser/source_reader.py", line 164, in read_file raise error pygccxml.parser.source_reader.gccxml_runtime_error_t: Error occured while running GCC-XML: xml_find_template_parm encountered unsupported type bound_template_template_parm xml_find_template_parm encountered unsupported type bound_template_template_parm [repeat...] |
From: Roman Y. <rom...@gm...> - 2006-04-13 17:17:49
|
On 4/13/06, Janes, Matthias <mat...@si...> wrote: > hi all, > > As I wrote on the 7th it seems that the CVS is not updating correctly. > > Neal Becker also mentioned it. > > > I think in the meantime we can just stay with the official file releases = from the April 8, 2006. > This is what I'm using. Yes, this release is latest good release. > I think after the next release roman might switch to SVN. Maybe this can = solve some of the problems (and create others ;-) I already discussed this move with Matthias Baas. He does not have objectio= n. So I think that after this release we will move to SVN. > Greetings > > MJ -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |
From: Roman Y. <rom...@gm...> - 2006-04-13 17:14:07
|
On 4/13/06, Neal Becker <ndb...@gm...> wrote: > I'm confused. Is the pygccxml cvs up-to-date or not? CVS that provides anonymous access is not up-to-date. If I understood right= , this is due to SF hardware failure. You can find more information here: https://sourceforge.net/docs/A04/ Also here you can download latest sources of pygccxml and pyplusplus. http://sourceforge.net/project/showfiles.php?group_id=3D118209 Please use *-preview packages. They contains same source as in CVS, the onl= y difference is documentation. CVS has much more doc string. Enjoy. -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |
From: Janes, M. <mat...@si...> - 2006-04-13 16:15:13
|
hi all, As I wrote on the 7th it seems that the CVS is not updating correctly. Neal Becker also mentioned it. I think in the meantime we can just stay with the official file releases = from the April 8, 2006. This is what I'm using. I think after the next release roman might switch to SVN. Maybe this can = solve some of the problems (and create others ;-) Greetings MJ > -----Urspr=FCngliche Nachricht----- > Von: Roman Yakovenko [mailto:rom...@gm...]=20 > Gesendet: Freitag, 07. April 2006 19:24 > An: Janes, Matthias > Cc: rom...@us...;=20 > pyg...@li... > Betreff: Re: MJ: not sure about CVS - see just old versions >=20 > On 4/7/06, Janes, Matthias <mat...@si...> wrote: > > > > > > > > hi roman, > > > > I noticed today that in the CVS tree (Browse CVS =20 > Repository) I see just old > versions. >=20 > It could take few days before CVS is updated and every=20 > developer can see same > source code. Same is applied on CVS from web >=20 > Any way thanks >=20 >=20 >=20 >=20 > -- > Roman Yakovenko > C++ Python language binding > http://www.language-binding.net/ >=20 |
From: Neal B. <ndb...@gm...> - 2006-04-13 11:21:49
|
I'm confused. Is the pygccxml cvs up-to-date or not? |
From: Roman Y. <rom...@gm...> - 2006-04-11 17:52:10
|
On 4/11/06, Matthias Baas <ba...@ir...> wrote: > Roman Yakovenko wrote: > >> I'm wrapping a method that takes one single argument of type "double > >> scale[3]". In the argument list of the corresponding declaration objec= t > >> this appears as a pointer_t object with a double_t object as base. Wha= t > >> I'm missing is the '3'. > >> I noticed that pyplusplus defines a type array_t. Shouldn't the above > >> argument be an array_t instead of a pointer_t to a double? Is this a b= ug > >> in pyplusplus, in gccxml or something else? > > > > I could be wrong, but this is how C/C++ works. Array is passed by point= ers. > > Am I wrong? Even if I wrong, GCC-XML reports this. > > That's too bad. :( The array size would have been a valuable piece of > information for creating the wrappers. Without them I have to wade > through ~250 methods manually to check if the arguments are really plain > pointers or fixed size arrays as above (which seems to be the majority > of cases in the Maya SDK)... :-(. First of all I will ask on GCC-XML list what could be done. Second it is possible to implement solution using pygccxml only. We can implement it and see how well it will work. Description: 1. Please take a look on declarations/call_invocation.py module. ( There is some doc strings within it ) 2. Please take a look on parser/patcher.py module. Basically GCC-XML has few bugs/features that pygccxml corrects. patch_it function is invoked from source_reader_t.__parse_gccxml_created_file method for every parsed file. The idea is next: you can create your own patcher and rewrite/replace patch= _it with an other one. Every calldef declaration has location property initiali= zed. Thus you can get file path and line of declaration. Using type_traits you can find whether function has relevant type of arguments or not. After this you can = go to file, read original declaration, using call_invocation parser to split it's arguments and then find out whether it is array or not. After this you can replace ty= pe of argument to be an array of relevant type. I don't say that this is a perfect method. But I think it will work in most cases. An other way to solve this issue is to create small parser, that will parse= all header files and will create table with relevant information. Then you can just use that information from your script. I use this trick with tnfox. Take a look= on examples/tnfox/declarations_to_exclude.py/find_deprecated function. > In which case does pygccxml create an array_t object then? When you have member/free variable declared as array: const int items[23]; > - Matthias - Hope this will help you. -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |
From: Roman Y. <rom...@gm...> - 2006-04-11 17:11:13
|
On 4/11/06, Matthias Baas <ba...@ir...> wrote: > Roman Yakovenko wrote: > > Can you start some to do list to next release? Small text file under > > pyplusplus/docs will be good enough. > > Done. Thanks. > Well, I had a look at _logging_ and noticed that it's not quite true > that one cannot set the verbosity level. As the standard logging module > is used I can obtain the logger and adjust the level (I don't know if > setting the level to DEBUG by default is such a good idea...). I did not think about this a lot. But I prefer to leave it as is. You are an experience user of pyplusplus, other developers are not. So I think they will be glad to see so many log messages at least one week. After this they will increas= e log messages level. > The presence of the _logging_ module suggests that you already have some > plans concerning log messages in pygccxml/pyplusplus. What plans do you > have how logging should be done? (or if there are no plans, why didn't > you use the logging module directly?) Tool chain. I would like to see people start integrate code generation with= in their build process. Thus dedicating some logger to pygccxml/pyplusplus wil= l allow them better control on process. As I already said, in future we will add under main/root project logger, loggers for some specific packages. Thus you will have only one point to configure all loggers for whole code generator. Does it make sense? Do you agree with this. If so, I will add to "todo.txt"= this explanation. So someone will be ale to implement this. > - Matthias - -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |
From: Matthias B. <ba...@ir...> - 2006-04-11 15:47:16
|
Roman Yakovenko wrote: >> I'm wrapping a method that takes one single argument of type "double >> scale[3]". In the argument list of the corresponding declaration object >> this appears as a pointer_t object with a double_t object as base. What >> I'm missing is the '3'. >> I noticed that pyplusplus defines a type array_t. Shouldn't the above >> argument be an array_t instead of a pointer_t to a double? Is this a bug >> in pyplusplus, in gccxml or something else? > > I could be wrong, but this is how C/C++ works. Array is passed by pointers. > Am I wrong? Even if I wrong, GCC-XML reports this. That's too bad. :( The array size would have been a valuable piece of information for creating the wrappers. Without them I have to wade through ~250 methods manually to check if the arguments are really plain pointers or fixed size arrays as above (which seems to be the majority of cases in the Maya SDK)... In which case does pygccxml create an array_t object then? - Matthias - |
From: Matthias B. <ba...@ir...> - 2006-04-11 15:42:20
|
Roman Yakovenko wrote: > Can you start some to do list to next release? Small text file under > pyplusplus/docs will be good enough. Done. > Okay. Right now you can not. Well, I had a look at _logging_ and noticed that it's not quite true that one cannot set the verbosity level. As the standard logging module is used I can obtain the logger and adjust the level (I don't know if setting the level to DEBUG by default is such a good idea...). The presence of the _logging_ module suggests that you already have some plans concerning log messages in pygccxml/pyplusplus. What plans do you have how logging should be done? (or if there are no plans, why didn't you use the logging module directly?) - Matthias - |
From: Roman Y. <rom...@gm...> - 2006-04-11 12:58:54
|
On 4/11/06, Matthias Baas <ba...@ir...> wrote: > Hi again, > > I'm wrapping a method that takes one single argument of type "double > scale[3]". In the argument list of the corresponding declaration object > this appears as a pointer_t object with a double_t object as base. What > I'm missing is the '3'. > I noticed that pyplusplus defines a type array_t. Shouldn't the above > argument be an array_t instead of a pointer_t to a double? Is this a bug > in pyplusplus, in gccxml or something else? I could be wrong, but this is how C/C++ works. Array is passed by pointers. Am I wrong? Even if I wrong, GCC-XML reports this. I will think what can be done. > - Matthias - -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |
From: Roman Y. <rom...@gm...> - 2006-04-11 12:56:24
|
On 4/11/06, Matthias Baas <ba...@ir...> wrote: > Hi, > > how can I customize the log messages generated by pyplusplus? Is there a > switch somewhere to set the verbosity level? Currently, when writing the > files I get a lot of output for each single file which prevents me from > noticing the "important" messages. Can I disable those messages (and > maybe only get a summary) or can I customize the actual log message (so > that I could replace the newline with a linefeed?). :-) Can you start some to do list to next release? Small text file under pyplusplus/docs will be good enough. Okay. Right now you can not. For next release we can create different loggers for different components. Also we( I mean you :-) ) will define for every message type: ( debug, info ... ) Thus you will be able to trigger messages that you want to see or even disable whole components. > - Matthias - -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |
From: Matthias B. <ba...@ir...> - 2006-04-11 12:31:20
|
Hi again, I'm wrapping a method that takes one single argument of type "double scale[3]". In the argument list of the corresponding declaration object this appears as a pointer_t object with a double_t object as base. What I'm missing is the '3'. I noticed that pyplusplus defines a type array_t. Shouldn't the above argument be an array_t instead of a pointer_t to a double? Is this a bug in pyplusplus, in gccxml or something else? - Matthias - |
From: Matthias B. <ba...@ir...> - 2006-04-11 12:27:09
|
Hi, how can I customize the log messages generated by pyplusplus? Is there a switch somewhere to set the verbosity level? Currently, when writing the files I get a lot of output for each single file which prevents me from noticing the "important" messages. Can I disable those messages (and maybe only get a summary) or can I customize the actual log message (so that I could replace the newline with a linefeed?). - Matthias - |