Noweb

noweb, գրագետ ծրագրավորման գործիքներից է, որը ստեղծել է Նորման Րամսին 1989–1999 թվականներին։ Այն նախատեսված է որպես պարզ և լեզվից անկախ գործիք։ Ինչպես WEB-ում և CWEB-ում noweb-ի գլխավոր բաղադրիչները նույնպես երկուսն են. "notangle", որը սկզբնական տեքստից ստանում է մեքենայական կոդ, և "noweave", որը պատրաստում է գեղեցիկ, տպելու համար պատրաստ փաստափուղթ։ noweb-ը ապահովում է TeX, LaTeX, HTML, և troff «վերջնահատված» (back ends), և աշխատում է ցանկացած ծրագրավորման լեզվի հետ։

noweb-ի մուտքային տվյալները 

noweb-ի մուտքային տվյալը կազմված է սկզբնական կոդից, որը պարունակում է կոդի փաստաթղթավորումը։ Այն պարունակում է այսպես կոչված «կտորներ», որոնք կա՛մ փաստաթղթավորումից են կա՛մ կոդից։ Փաստաթղթավորման կտորի տողը սկսում է (@) նշանով, որին հետևում է նոր տող կամ բացատ։ Փաստաթղթավորման կտորը անուն չունի։ Այն հիմնականում պարունակում է LaTeX, բայց noweb-ը օգտագործում է նաև HTML, plain TeX, և troff.
Կոդի կտորը անվանակոչված է։ Այն սկսում է հետևյալ ձևով.
 «կտորի անուն»= 
Կրկնակի անկյունաձև («) փակագծերը պետք է լինեն առաջին սյունակում։ Յուրաքանչյուր կտորի ավարտին հաջորդում է մյուսի սկիզբը։

Պարզ noweb ծրագրի օրինակ 
Սա noweb ծրագրի օրինակ է իր փաստաթղթավորման հետ.

\section{Բարև Աշխարհ}

«hello.c»=
/*
 «license»
*/
#include <stdio.h>

int main(int argc, char *argv[]) {
 printf("Բարև Աշխարհ!\n");
 return 0;
}
@
\noindent \ldots then I did the same in PHP.

«hello.php»=
<?php
 /*
 «license»
 */
 echo "Բարև Աշխարհ!\n";
?>
@
\section{License}

Այս կոդը գրվում է 'hello.nw' ֆայլում, իսկ մարդու համար հասկանալի կոդի հատվածը HTML կոդով հետևյալն է.
<source lang="bash">noweave -filter l2h -index -html hello.nw | htmltoc > hello.html

... LaTeX ֆորմատով այն հետևյալն է.

noweave -index -latex hello.nw > hello.tex

Մեքենայական կոդն է.

notangle -Rhello.c hello.nw > hello.c

notangle -Rhello.php hello.nw > hello.php

Արտաքին հղումներ 
 Noweb home page
 Norman Ramsey's home page
 notangle online man page 
 noweb.py – an open-source noweb clone written in Python
 noweb.php – noweb clone in PHP

Troff
Literate programming
Free documentation generators