Web es un sistema de programación de computadoras creado por Donald E. Knuth como la primera implementación de lo que él llamó " programación alfabetizada ": la idea de que uno podría crear software como obras de literatura , incrustando el código fuente dentro del texto descriptivo, en lugar de lo contrario ( como es práctica común en la mayoría de los lenguajes de programación ), en un orden que sea conveniente para su exposición a los lectores humanos, en lugar de en el orden exigido por el compilador. [1]
Web consta de dos programas secundarios: TANGLE, que produce código Pascal compilable a partir de los textos fuente, y WEAVE, que produce documentación imprimible con un formato agradable utilizando TeX .
CWEB es una versión de Web para el lenguaje de programación C , mientras que noweb es una herramienta de programación alfabetizada separada, que está inspirada en Web (como se refleja en el nombre) y que es independiente del lenguaje .
Los programas más importantes escritos en Web son TeX y Metafont . Las distribuciones modernas de TeX utilizan otro programa Web2C para convertir la fuente web a C.
Filosofía
A diferencia de la mayoría de los otros generadores de documentación que relegan la documentación a comentarios, el enfoque WEB es escribir un artículo para documentar la creación del código fuente. Al igual que los artículos de TeX, la fuente se divide en secciones de acuerdo con el flujo de documentación. Por ejemplo, en CWEB, las secciones de código se entremezclan a la perfección en la línea de argumentación. [2]
CWEB
Paradigma | Alfabetizado , imperativo ( procedimental ), estructurado |
---|---|
Diseñada por | Donald Knuth |
Desarrollador | Donald Knuth y Silvio Levy |
Apareció por primera vez | 1987 |
Lanzamiento estable | 3.67 / 24 de octubre de 2006 |
Disciplina de mecanografía | Estático , débil , manifiesto , nominal |
SO | Multiplataforma (multiplataforma) |
Licencia | licencia de software libre personalizada |
Extensiones de nombre de archivo | .w |
Sitio web | www-cs-faculty |
Influenciado por | |
WEB , TeX | |
Influenciado | |
noweb |
CWEB es un sistema de programación de computadoras creado por Donald Knuth y Silvio Levy como seguimiento del sistema de programación literaria WEB de Knuth , utilizando el lenguaje de programación C (y en menor medida los lenguajes de programación C ++ y Java ) en lugar de Pascal .
Al igual que WEB, consta de dos programas principales: CTANGLE, que produce código C compilable a partir de los textos fuente, y CWEAVE, que produce documentación imprimible con un formato agradable utilizando TeX .
Características
- Puede ingresar código TeX manual y automático.
- Realice el formateo del código C para una impresión bonita .
- Puede definir secciones y puede contener documentación y códigos, que luego se pueden incluir en otras secciones.
- Escriba el código de encabezado y el código C principal en un archivo, y puede reutilizar las mismas secciones, y luego puede enredarse en varios archivos para compilar.
- Use
#line
pragmas para que cualquier advertencia o error se refiera a la fuente .w. - Incluir archivos.
- Cambie los archivos, que se pueden combinar automáticamente en el código al compilar / imprimir.
- Produce un índice de identificadores y nombres de secciones en la impresión.
Referencias
- ^ Knuth, Donald E. (1992). Programación alfabetizada . Notas de la conferencia CSLI. 27 . Stanford, California: Centro para el estudio del lenguaje y la información.
- ^ Silvio Levy (12 de junio de 2004). "Un ejemplo de CWEB" (PDF) .
enlaces externos
- La entrada de TeX Catalog para Web
- Página de inicio de CWEB