Hi Bill, hello Gaby,
Look at this...
http://lists.gnu.org/archive/html/axiom-developer/2005-12/msg00262.html
I would even say: Throw away the noweb sources, throw away this awk
script and rather go to the Axiom sources and correct a usage of an
undefined chunk. Why would one want to have undefined chunks in the
first place?
See also
http://lists.gnu.org/archive/html/axiom-developer/2005-12/msg00247.html
That is a bug. Ahm, was a bug, because "noweb 2.11 - released 6 April
2006" (http://www.eecs.harvard.edu/~nr/noweb/dist/noweb/CHANGES) seems
to have corrected it. I've not yet time to check 2.11, though.
Ralf
On 05/04/2006 03:34 AM, Page, Bill wrote:
Gaby,
Thanks for your continuing work on the Axiom Silver branch! :)
On Wednesday, May 03, 2006 4:36 PM you wrote:
...
Tim Daly (root) wrote:
| modules.c is one way to fix the noweb bug. i've submitted it
| as a patch to norman ramsey but he rejected it saying that i
| should use sed/awk to fix the problem rather than patch the
| C code. unfortunately i'm not a sed/awk programmer so rather
| than learn two new tools i simply kept the patch (which works).
Can you give me a test for detecting the problem, or at least
a detailed description of how to reproduce it? Did Norman
Ramsey suggest on which file you should use the sed/awk fix?
Again, I'm willing to help out that issue: It stands in my
way of making progress on the build machinery stuff.
Please forgive my irritation but this issue *has* been discussed
repeatedly on this list. Most recently see:
http://lists.gnu.org/archive/html/axiom-developer/2005-12/msg00226.html
Here is the awk script again since the version stored in the
axiom-developer archive is mangled because it confuses some of
script with an email address:
axiom-noweb:
------------
#!/bin/sh
awk '
/@use / { uses [substr($0, 6)] = 1 }
/@defn / { defns[substr($0, 7)] = 1 }
{ print }
END {
for (i in uses)
if (!defns[i])
printf "@begin [EMAIL PROTECTED] [EMAIL PROTECTED]@text <<%s>>[EMAIL
PROTECTED] code\n", i,
i
}'
exit 0
# test with
sed '1,/test with/d' $0 | notangle -filter $0
<<*>>=
return x << 2 >> 2;
@
--------
All we have to do is include this script with the Axiom
distribution and call it as a filter as he shows.
% notangle -filter axiom-noweb
Really, this script is not so hard to understand is it? The
documentation for noweb filters is here:
http://www.literateprogramming.com/noweb_hacker.pdf
--------
Regards,
Bill Page.
_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer
_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer