Qual è il modo migliore per leggere il codice in formato CWEB in Windows?
-
13-09-2019 - |
Domanda
un gran numero di programmi per leggere sulla sua pagina. Ma sono per lo più in un formato CWEB "strano" ...
Quale potrebbe essere il modo migliore per fare in modo appropriato leggibile in Windows?
Soluzione
A meno di cinque minuti di Googling porta questo in su: http://www.literateprogramming.com/cweb_download .html
Altri suggerimenti
Il modo in cui mi trovo più comodo per leggere un programma CWEB
è quello di eseguire cweave
( pagina di manuale ) sul file sorgente .w
per generare un file .tex
, e poi correre pdfetex
di ottenere un bel collegamento ipertestuale PDF. Pittoricamente:
`.W SOURCE ----(cweave)----> .TEX ----(pdfetex)----> PDF`
Come ci si può essere a conoscenza, la struttura di un programma di CWEB
è di per sé una sorta di collegamento ipertestuale (con le sezioni riferendosi altre sezioni). Avere una bella, PDF collegato è un puro piacere di leggere, specialmente se i programmi sono stati scritti da Don Knuth se stesso!
La configurazione che segue comporterebbe un certo sforzo da parte vostra (e MB di scaricare), ma spero che ti piacerà il risultato finale:
- Cygwin (per ogni programmatore serio di Windows, credo che l'installazione di Cygwin è un gioco da ragazzi). Assicurarsi di installare il Composizione pacchetti correlati (tex, pdfetex, amstex e tutto il resto). Se Cygwin ti dà la possibilità di installare CWEB, fare anche questo.
- Se non si ottiene
cweave
ectangle
con Cygwin, scaricare i sorgenti e costruire / install quelli.
Una volta Cygwin e CWEB sono stati installati, effettuare le seguenti operazioni a qualsiasi programma .w
si desidera studiare (sto prendendo un esempio di bdd12.w
):
- Esegui
cweave
in questo modo:cweave bdd12.w
Questo dovrebbe generare un filebdd12.tex
. - Quindi eseguire
pdfetex
in questo modo:pdfetex bdd12.tex
Questo dovrebbe farti un modo accurato, con riferimenti incrociati PDF. Il PDF generato ha anche un indice di simboli alla fine (e alcuni dati più crossreferencing), in modo da poter passare velocemente alle loro definizioni.