Bernhard Fischer | 18 Jan 14:32 2008
Picon

Re: [Synopsis-changes] r1851 - in branches/Synopsis_0_8/Synopsis: Formatters dist/command

On Fri, Jan 18, 2008 at 12:27:39PM +0000, stefan <at> fresco.org wrote:
>Author: stefan
>Date: 2008-01-18 12:27:38 +0000 (Fri, 18 Jan 2008)
>New Revision: 1851
>
>Modified:
>   branches/Synopsis_0_8/Synopsis/Formatters/TOC.py
>   branches/Synopsis_0_8/Synopsis/dist/command/build_doc.py
>Log:
>Fix build_doc command.
>
>Modified: branches/Synopsis_0_8/Synopsis/Formatters/TOC.py
>===================================================================
>--- branches/Synopsis_0_8/Synopsis/Formatters/TOC.py	2008-01-18 04:43:04 UTC (rev 1850)
>+++ branches/Synopsis_0_8/Synopsis/Formatters/TOC.py	2008-01-18 12:27:38 UTC (rev 1851)
> <at>  <at>  -96,7 +96,7  <at>  <at> 
>             name = name[:-1] + [name[-1]+scopedname[param_index:]]
>          else:
>             name = scopedname.split('::')
>-         if len(url): link = [url, link].join('/')
>+         if len(url): link = '/'.join([url, link])

shouldn't this be os.path.join(url,link) or the like to be gentle to Windows?
>          entry = TOC.Entry(name, link, lang, "decl")
>          self.insert(entry)
>          line = fin.readline()
>
>Modified: branches/Synopsis_0_8/Synopsis/dist/command/build_doc.py
>===================================================================
>--- branches/Synopsis_0_8/Synopsis/dist/command/build_doc.py	2008-01-18 04:43:04 UTC (rev 1850)
(Continue reading)

Stefan Seefeld | 18 Jan 17:46 2008

Re: [Synopsis-changes] r1851 - in branches/Synopsis_0_8/Synopsis: Formatters dist/command

Bernhard Fischer wrote:

>> -         if len(url): link = [url, link].join('/')
>> +         if len(url): link = '/'.join([url, link])
> 
> shouldn't this be os.path.join(url,link) or the like to be gentle to Windows?

This is string.join, not os.path.join. It takes exactly one argument (a 
sequence). And luckily, URL syntax isn't OS dependent. :-)

>> +      # Copy examples output into installation directory
>>       if os.path.isdir(os.path.join(builddir, 'html/examples')):
>> -               rmtree(os.path.join(builddir, 'html/examples'), 1)
>> -               copy_tree(os.path.join(tempdir, 'html/examples'),
>> -                         os.path.join(builddir, 'html/examples'))
>> +         rmtree(os.path.join(builddir, 'html/examples'), 1)
>> +      copy_tree(os.path.join(tempdir, 'html/examples'),
>> +                os.path.join(builddir, 'html/examples'))
> 
> os.path.join(builddir, 'html', 'examples') which would use the proper
> os.sep ?

Possible, yes. Though it seems modern versions of Windows do in fact 
accept '/' as a path separator.

Thanks,
		Stefan

--

-- 

(Continue reading)

David Genest | 18 Jan 18:16 2008
Picon

Re: [Synopsis-changes] r1851 - in branches/Synopsis_0_8/Synopsis: Formatters dist/command


> os.path.join(builddir, 'html', 'examples') which would use the proper
> os.sep ?

Possible, yes. Though it seems modern versions of Windows do in fact
accept '/' as a path separator.


It has possibly changed, but on mac OSX, isn't the path separator a ":" ?

D.

_______________________________________________
Synopsis-devel mailing list
Synopsis-devel <at> lists.fresco.org
http://lists.fresco.org/cgi-bin/listinfo/synopsis-devel
Stefan Seefeld | 18 Jan 18:25 2008
Picon

Re: [Synopsis-changes] r1851 - in branches/Synopsis_0_8/Synopsis: Formatters dist/command

David Genest wrote:
> 
>      > os.path.join(builddir, 'html', 'examples') which would use the
>     proper
>      > os.sep ?
> 
>     Possible, yes. Though it seems modern versions of Windows do in fact
>     accept '/' as a path separator.
> 
> 
> It has possibly changed, but on mac OSX, isn't the path separator a ":" ?

Possibly so. Feel free to submit patches to make the code more portable. 
I would especially appreciate if people could actually test Synopsis 
(and the submitted patches) on such platforms, as it is hard to write 
portable code without the means to actually test it.

Thanks,
		Stefan

--

-- 

       ...ich hab' noch einen Koffer in Berlin...
Bernhard Fischer | 18 Jan 18:37 2008
Picon

Re: [Synopsis-changes] r1851 - in branches/Synopsis_0_8/Synopsis: Formatters dist/command

On Fri, Jan 18, 2008 at 12:16:44PM -0500, David Genest wrote:
>> > os.path.join(builddir, 'html', 'examples') which would use the proper
>> > os.sep ?
>>
>> Possible, yes. Though it seems modern versions of Windows do in fact
>> accept '/' as a path separator.
>>
>It has possibly changed, but on mac OSX, isn't the path separator a ":" ?

The docs say that mac OS9 had ':'
http://docs.python.org/lib/os-path.html#l2h-2796
Stefan Seefeld | 30 Jan 17:55 2008
Picon

Status update

Hi there,

despite the silence on this list, I have spent some considerable time on 
Synopsis over the last couple of months, and I'm looking forward to wrap 
up this work into a new release.

Here are the most important changes:

* I refactored Synopsis.AST and Synopsis.Type into Synopsis.ASG (some 
will remember our discussion about 'Syntactic Tree' vs. 'Semantic Graph')

* I enhanced the ASG.Declaration hierarchy to better support class and 
function templates. (There are now references from primary templates to 
their specializations and vice versa.)

* I modified the HTML formatter to display this new information.

* I completely rewrote the DocBook formatter, which is starting to be 
useful now.

* I adjusted the Python parser to better support Python 2.5.

* I integrated boost.wave as an alternative Cpp processor backend.
   (This will be most useful when building with the upcoming boost 1.35, 
as wave contains a number of important enhancements there.)

* I added more examples to show Synopsis' capabilities.

Here is a reference manual I just produced for Boost.Python, using 
Synopsis: http://synopsis.fresco.org/boost/

As always, I encourage everybody to help, either by providing bug 
reports, enhancements requests, or even patches.

Right now I'm planning to roll out the new release in the Easter 
timeframe. There are a number of things I want to wrap up, but I'm open 
to new things, too, if they fit in.

Thanks,
		Stefan

--

-- 

       ...ich hab' noch einen Koffer in Berlin...
Roman Yakovenko | 30 Jan 18:50 2008
Picon

Re: Status update

On Jan 30, 2008 6:55 PM, Stefan Seefeld <seefeld <at> sympatico.ca> wrote:
> Hi there,
>
> despite the silence on this list, I have spent some considerable time on
> Synopsis over the last couple of months, and I'm looking forward to wrap
> up this work into a new release.
>
> Here are the most important changes:
>
> * I refactored Synopsis.AST and Synopsis.Type into Synopsis.ASG (some
> will remember our discussion about 'Syntactic Tree' vs. 'Semantic Graph')
>
> * I enhanced the ASG.Declaration hierarchy to better support class and
> function templates. (There are now references from primary templates to
> their specializations and vice versa.)
>
> * I modified the HTML formatter to display this new information.
>
> * I completely rewrote the DocBook formatter, which is starting to be
> useful now.
>
> * I adjusted the Python parser to better support Python 2.5.
>
> * I integrated boost.wave as an alternative Cpp processor backend.
>    (This will be most useful when building with the upcoming boost 1.35,
> as wave contains a number of important enhancements there.)
>
>
> * I added more examples to show Synopsis' capabilities.
>
> Here is a reference manual I just produced for Boost.Python, using
> Synopsis: http://synopsis.fresco.org/boost/
>
>
> As always, I encourage everybody to help, either by providing bug
> reports, enhancements requests, or even patches.
>
> Right now I'm planning to roll out the new release in the Easter
> timeframe. There are a number of things I want to wrap up, but I'm open
> to new things, too, if they fit in.

Good news. I have few questions:
* Will you provide setup for Windows?
* Did you improve the quality of C++ parser?

Thanks

--

-- 
Roman Yakovenko
C++ Python language binding
http://www.language-binding.net/
Stefan Seefeld | 30 Jan 19:12 2008
Picon

Re: Status update

Roman Yakovenko wrote:

> Good news. I have few questions:
> * Will you provide setup for Windows?

Yes, though nothing changed there (other than bug fixes):
You run 'python setup.py bdist' and get a binary package.

Doing this with cygwin Python will give you a cygwin package,
doing this on cygwin, but with a native python, will give you a mingw 
package.
It should be possible to build with other compilers (such as msvc), but 
I haven't tried that. Any help is welcome.

> * Did you improve the quality of C++ parser?

The C++ parser that is in the release branch hasn't changed much (it's 
the one based on OpenC++).

The new C++ parser (or rather, C++ frontend, as there is much more going 
on than only parsing), is unfortunately not yet ready to be useful with 
real-world C++ code, so its development happens on a separate branch.

Regards,
		Stefan

--

-- 

       ...ich hab' noch einen Koffer in Berlin...

Gmane