Noweb
noweb, գրագետ ծրագրավորման գործիքներից է, որը ստեղծել է Նորման Րամսին[1] 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