#include "tlib.hh"#include "eval.hh"Go to the source code of this file.
Functions | |
| Tree | docTxt (const char *) |
| Tree | docEqn (Tree x) |
| Tree | docDgm (Tree x) |
| Tree | docNtc () |
| Tree | docLst () |
| bool | isDocTxt (Tree t) |
| bool | isDocTxt (Tree t, const char **) |
| bool | isDocEqn (Tree t, Tree &x) |
| bool | isDocDgm (Tree t, Tree &x) |
| bool | isDocNtc (Tree t) |
| bool | isDocLst (Tree t) |
| void | printDoc (const char *projname, const char *docdev, const char *faustversion) |
| The entry point to generate faust doc files. | |
| Tree docLst | ( | ) |
| Tree docNtc | ( | ) |
| Tree docTxt | ( | const char * | ) |
Definition at line 181 of file doc.cpp.
References isTree().
Referenced by collectDocEqns(), and printdoccontent().
| bool isDocLst | ( | Tree | t | ) |
| bool isDocNtc | ( | Tree | t | ) |
| bool isDocTxt | ( | Tree | t, | |
| const char ** | ||||
| ) |
Definition at line 168 of file doc.cpp.
References isSym(), isTree(), name(), and CTree::node().
00169 { 00170 Tree t1; Sym s; 00171 if ( isTree(t0, DOCTXT, t1) && isSym(t1->node(), &s) ) { 00172 *str = name(s); 00173 return true; 00174 } else { 00175 return false; 00176 } 00177 }
| bool isDocTxt | ( | Tree | t | ) |
Definition at line 167 of file doc.cpp.
References CTree::node().
Referenced by printdoccontent().
| void printDoc | ( | const char * | projname, | |
| const char * | docdev, | |||
| const char * | faustversion | |||
| ) |
The entry point to generate faust doc files.
The entry point to generate the output LaTeX file, stored in the directory "<projname>-math/". This file eventually references images for diagrams, generated in SVG subdirectories. The device system was adapted from drawSchema's device system.
| [in] | projname | Basename of the new doc directory ("*-math"). |
| [in] | docdev | The doc device; only ".tex" is supported for the moment. |
| [in] | faustversion | The current version of this Faust compiler. |
File stuff : create doc directories and a tex file.
Create THE mathdoc tex file.
Init and load translation file.
Simulate a default doc if no <mdoc> tag detected.
Printing stuff : in the '.tex' ouptut file, eventually including SVG files.
< Faust version and compilation date (comment).
< Static LaTeX header (packages and setup).
< Dynamic visible header (maketitle).
< Generate math contents (main stuff!).
< Static LaTeX footer.
Definition at line 216 of file doc.cpp.
References cholddir(), copyFaustSources(), declareAutoDoc(), gDocDevSuffix, gDocLang, gDocName, gDocVector, gLatexheaderfilename, SourceReader::listSrcFiles(), loadTranslationFile(), makedir(), mkchdir(), openArchFile(), printdoccontent(), printdocheader(), printfaustdocstamp(), printlatexfooter(), printlatexheader(), and subst().
Referenced by main().
00217 { 00218 gDocDevSuffix = docdev; 00219 00221 //cerr << "Documentator : printDoc : gFaustDirectory = '" << gFaustDirectory << "'" << endl; 00222 //cerr << "Documentator : printDoc : gFaustSuperDirectory = '" << gFaustSuperDirectory << "'" << endl; 00223 //cerr << "Documentator : printDoc : gFaustSuperSuperDirectory = '" << gFaustSuperSuperDirectory << "'" << endl; 00224 //cerr << "Documentator : printDoc : gCurrentDir = '" << gCurrentDir << "'" << endl; 00225 00226 makedir(projname); // create a top directory to store files 00227 00228 string svgTopDir = subst("$0/svg", projname); 00229 makedir(svgTopDir.c_str()); // create a directory to store svg-* subdirectories. 00230 00231 string cppdir = subst("$0/cpp", projname); 00232 makedir(cppdir.c_str()); // create a cpp directory. 00233 00234 string pdfdir = subst("$0/pdf", projname); 00235 makedir(pdfdir.c_str()); // create a pdf directory. 00236 00237 /* Copy all Faust source files into an 'src' sub-directory. */ 00238 vector<string> pathnames = gReader.listSrcFiles(); 00239 copyFaustSources(projname, pathnames); 00240 00241 string texdir = subst("$0/tex", projname); 00242 mkchdir(texdir.c_str()); // create a directory and move into. 00243 00245 ofstream docout(subst("$0.$1", gDocName, docdev).c_str()); 00246 cholddir(); // return to current directory 00247 00249 loadTranslationFile(gDocLang); 00250 00252 if (gDocVector.empty()) { declareAutoDoc(); } 00253 00255 printfaustdocstamp(faustversion, docout); 00256 istream* latexheader = openArchFile(gLatexheaderfilename); 00257 printlatexheader(*latexheader, docout); 00258 printdocheader(docout); 00259 printdoccontent(svgTopDir.c_str(), gDocVector, faustversion, docout); 00260 printlatexfooter(docout); 00261 00262 }
1.6.3