interscript:developers needed to take over project

J

John Max Skaller

please reply to (e-mail address removed)
(I don't read this newsgroup, and the reply-to address is fake)

For some time now -- over 5 years -- I have been using the
interscript literate programming and document generation tool

http://interscript.sourceforge.net

for all my programming tasks, both commercial and personal.

I no longer have time to do more than cursorary maintenance
on this project, and I'm looking for some developers to take it over.
This program is written entirely in Python.
If you're interested please mail me.

WHAT IT DOES.
-------------

Interscript allows you to package several program files in
a single file, for example C header and implementation files.
You can also include documentation. The basic operation
is called tangling, which just extracts the program files,
whilst the advanced operation is called weaving, which typesets
all the documentation .. including a full listing of the program
sources.

Interscript is unique in that the typesetting and extraction
commands are arbitrary Python scripts. It can therefore be used
to generate both code and documentation. You can view an interscript
source as a Python program with very long embedded strings
that's used to print out program and documentation files.

Interscript has dedicated tanglers for typesetting Python and
a number of other languages (including C, C++, Java, Perl ..).
Tanglers are plug-and-play .. you can make new ones by just dropping
a file into the right directory.

It also has plug-and-play weavers for plain text, LaTeX2e, flat HTML, and
a cross linked HTML multipage web. All formats can be generated
simultaneously, and in addition for any set of native languages.

I personally make good use of the facilities to integrate
test suites with source codes, as well as embedding all
make scripts in interscript, usually as Python script.
[Make sucks .. Python is better :]

The basic packaging feature is that you can distribute complex
program sources as a small number of plain text files, and then
extract sources, build directories, run tests, etc, all with
a uniform distribution format. Yes I know Python has distutils,
but this system is language and platform independent -- its for
C and C++ codes as well as Python (for example).

The central core of this system has been executed millions
of times without problem. In addition I recently made a few mods
so it now works with the psyco accelerator. There are a couple of bugs
in the dependency checker, but the major work now required is:

* upgraded support for syntax colouring non-python codes
* upgraded widget/format controls (it does simple
tables, but can't include pictures ..)
* rewrite of the codes to be more efficient and more modern
* a comprehensible manual
* anything else you want

In addition, with a little design, the weaver and tangler modules
could become part of the standard Python distribution, as general
purpose typesetting components (with a common interface ..).

The whole program is built as a Python package with a 10 line
program harness to call the main subroutine.
 
T

Tim

Hi,

Been looking around for any pointers to this but although mentioned in a
few places, can't see any answers (python.org, Vaults of Parnassus,
Google etc).

What i'd like to be able to do is parse a file statement block by
statement block, rather than line by line. The files I usually see have
a large number of not very deep conditional blocks, and a (potentially)
huge number of single (possibly broken over numerous lines) statements.

Is there some way to parse these into a number of /top level statement
blocks/ to then execute..

eg.

foo()
bar()

if var :
quux()
if not other var :
wibble()
malarky()

egg()
if egg : chicken()

becomes (top level block statements numbered)

/---- 1
foo()
/---- 2
bar()
/---- 3
if var :
quux()
if not other var :
wibble()
malarky()
/---- 4
egg()
/---- 5
if egg : chicken()
/---- end

don't really want to compile the statement until have a top level block
- have seen some scripts that do incremental command_compiles() on
readlines until they get back non-None but these obviously balls up on
statements like

for i in range(n) :
foo(i)
bar(i)

Could use eg. the paser module and a bunch of logic, but just thought
someone, somewhere might have down this before ?

Hope some of this makes sense and I haven't missed some bleedin obvious
link..

Cheers
Tim
 
D

Duncan Booth

Tim said:
don't really want to compile the statement until have a top level block
- have seen some scripts that do incremental command_compiles() on
readlines until they get back non-None but these obviously balls up on
statements like

for i in range(n) :
foo(i)
bar(i)

code.compile_command handles this like the interactive interpreter, the
trick is to make sure you have newlines separating the lines, but no
trailing newline. This simulates the interactive thing of needing a blank
line to terminate the block.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,057
Latest member
KetoBeezACVGummies

Latest Threads

Top