#include <iostream>
#include <fstream>
#include <set>
#include <time.h>
#include <cstdlib>
#include <errno.h>
#include "doc_notice.hh"
#include "doc_lang.hh"
#include "enrobage.hh"
#include "compatibility.hh"
Go to the source code of this file.
Functions | |
static void | initDocNoticeKeySet () |
Initialize gDocNoticeKeySet, a set containing all the keywords. | |
static void | initDocNoticeFlagMap () |
Initialize gDocNoticeFlagMap, a map containing all the flags. | |
static void | initCompilationDate () |
static void | printDocNoticeStringMapContent () |
Simple trace function. | |
static struct tm * | getCompilationDate () |
void | printDocNotice (const string &faustversion, ostream &docout) |
Print the content of the notice (a string map), as LaTeX items inside an itemize environment. | |
void | initDocNotice () |
Dispatch initialization of notice containers, after default notice file loading. | |
Variables | |
map< string, bool > | gDocNoticeFlagMap |
gDocNoticeFlagMap is public to let others turn to "true" flags that one want to print. | |
map< string, string > | gDocNoticeStringMap |
set< string > | gDocNoticeKeySet |
static struct tm | gCompilationDate |
static struct tm * getCompilationDate | ( | ) | [static, read] |
Definition at line 231 of file doc_notice.cpp.
References gCompilationDate, and initCompilationDate().
Referenced by printDocNotice().
00232 { 00233 initCompilationDate(); 00234 return &gCompilationDate; 00235 }
static void initCompilationDate | ( | ) | [static] |
Definition at line 238 of file doc_notice.cpp.
References gCompilationDate.
Referenced by getCompilationDate().
00239 { 00240 time_t now; 00241 00242 time(&now); 00243 gCompilationDate = *localtime(&now); 00244 }
void initDocNotice | ( | ) |
Dispatch initialization of notice containers, after default notice file loading.
Definition at line 140 of file doc_notice.cpp.
References initDocNoticeFlagMap(), and initDocNoticeKeySet().
Referenced by loadTranslationFile().
00141 { 00142 initDocNoticeKeySet(); 00143 initDocNoticeFlagMap(); 00144 }
static void initDocNoticeFlagMap | ( | ) | [static] |
Initialize gDocNoticeFlagMap, a map containing all the flags.
Definition at line 199 of file doc_notice.cpp.
References gDocNoticeFlagMap, and gDocNoticeKeySet.
Referenced by initDocNotice().
00199 { 00200 00201 for (set<string>::iterator it=gDocNoticeKeySet.begin(); it != gDocNoticeKeySet.end() ; ++it ) { 00202 gDocNoticeFlagMap[*it] = false; 00203 } 00204 00205 gDocNoticeFlagMap["compilstamp1"] = true; 00206 gDocNoticeFlagMap["compilstamp2"] = true; 00207 gDocNoticeFlagMap["compilstamp3"] = true; 00208 gDocNoticeFlagMap["causality"] = true; 00209 }
static void initDocNoticeKeySet | ( | ) | [static] |
Initialize gDocNoticeKeySet, a set containing all the keywords.
Definition at line 157 of file doc_notice.cpp.
References gDocNoticeKeySet.
Referenced by initDocNotice().
00157 { 00158 00159 gDocNoticeKeySet.insert("causality"); 00160 gDocNoticeKeySet.insert("compilstamp1"); 00161 gDocNoticeKeySet.insert("compilstamp2"); 00162 gDocNoticeKeySet.insert("compilstamp3"); 00163 gDocNoticeKeySet.insert("nameconflicts"); 00164 gDocNoticeKeySet.insert("svgdir"); 00165 00166 gDocNoticeKeySet.insert("fsamp"); 00167 gDocNoticeKeySet.insert("foreignfun"); 00168 gDocNoticeKeySet.insert("cdot"); 00169 gDocNoticeKeySet.insert("intcast"); 00170 00171 gDocNoticeKeySet.insert("intplus"); 00172 gDocNoticeKeySet.insert("intminus"); 00173 gDocNoticeKeySet.insert("intmult"); 00174 gDocNoticeKeySet.insert("intdiv"); 00175 00176 gDocNoticeKeySet.insert("inputsig"); 00177 gDocNoticeKeySet.insert("inputsigs"); 00178 gDocNoticeKeySet.insert("outputsig"); 00179 gDocNoticeKeySet.insert("outputsigs"); 00180 gDocNoticeKeySet.insert("constsigs"); 00181 gDocNoticeKeySet.insert("paramsigs"); 00182 gDocNoticeKeySet.insert("storedsigs"); 00183 gDocNoticeKeySet.insert("recursigs"); 00184 gDocNoticeKeySet.insert("prefixsigs"); 00185 gDocNoticeKeySet.insert("selectionsig"); 00186 gDocNoticeKeySet.insert("selectionsigs"); 00187 00188 gDocNoticeKeySet.insert("buttonsigs"); 00189 gDocNoticeKeySet.insert("checkboxsigs"); 00190 gDocNoticeKeySet.insert("slidersigs"); 00191 gDocNoticeKeySet.insert("nentrysigs"); 00192 gDocNoticeKeySet.insert("tablesigs"); 00193 }
void printDocNotice | ( | const string & | faustversion, | |
ostream & | docout | |||
) |
Print the content of the notice (a string map), as LaTeX items inside an itemize environment.
[in] | notice | The set containing the strings to print as items. |
[in] | faustversion | The current version of this Faust compiler. |
[out] | docout | The LaTeX output file to print into. |
Definition at line 68 of file doc_notice.cpp.
References gDocNoticeFlagMap, gDocNoticeStringMap, and getCompilationDate().
Referenced by printdoccontent().
00068 { 00069 00070 if (! gDocNoticeStringMap.empty() ) { 00071 00072 //cerr << "Documentator : printDocNotice : printing..." << endl; 00073 00074 docout << endl << "\\begin{itemize}" << endl; 00075 00076 /* Faust "compilation stamp" : version and date. */ 00077 if(gDocNoticeFlagMap["compilstamp1"] && gDocNoticeFlagMap["compilstamp2"] && gDocNoticeFlagMap["compilstamp3"]) { 00078 char datebuf [150]; 00079 strftime (datebuf, 150, "%B %d, %Y", getCompilationDate()); 00080 docout << "\t\\item " << gDocNoticeStringMap["compilstamp1"] << faustversion; 00081 docout << gDocNoticeStringMap["compilstamp2"] << datebuf; 00082 docout << gDocNoticeStringMap["compilstamp3"] << endl; 00083 } 00084 00085 /* Various warnings and remarks. */ 00086 if(gDocNoticeFlagMap["svgdir"]) docout << "\t\\item " << gDocNoticeStringMap["svgdir"] << endl; 00087 if(gDocNoticeFlagMap["nameconflicts"]) docout << "\t\\item " << gDocNoticeStringMap["nameconflicts"] << endl; 00088 if(gDocNoticeFlagMap["causality"]) docout << "\t\\item " << gDocNoticeStringMap["causality"] << endl; 00089 00090 /* Naming conventions of variables and functions. */ 00091 if(gDocNoticeFlagMap["fsamp"]) docout << "\t\\item " << gDocNoticeStringMap["fsamp"] << endl; 00092 if(gDocNoticeFlagMap["foreignfun"]) docout << "\t\\item " << gDocNoticeStringMap["foreignfun"] << endl; 00093 if(gDocNoticeFlagMap["intcast"]) docout << "\t\\item " << gDocNoticeStringMap["intcast"] << endl; 00094 if(gDocNoticeFlagMap["cdot"]) docout << "\t\\item " << gDocNoticeStringMap["cdot"] << endl; 00095 00096 /* Integer arithmetic. */ 00097 if(gDocNoticeFlagMap["intplus"] || 00098 gDocNoticeFlagMap["intminus"] || 00099 gDocNoticeFlagMap["intmult"] || 00100 gDocNoticeFlagMap["intdiv"]) 00101 { 00102 if(gDocNoticeFlagMap["intplus"]) docout << "\t\\item " << gDocNoticeStringMap["intplus"] << endl; 00103 if(gDocNoticeFlagMap["intminus"]) docout << "\t\\item " << gDocNoticeStringMap["intminus"] << endl; 00104 if(gDocNoticeFlagMap["intmult"]) docout << "\t\\item " << gDocNoticeStringMap["intmult"] << endl; 00105 if(gDocNoticeFlagMap["intdiv"]) docout << "\t\\item " << gDocNoticeStringMap["intdiv"] << endl; 00106 } 00107 00108 /* Signals naming conventions. */ 00109 if(gDocNoticeFlagMap["inputsig"]) docout << "\t\\item " << gDocNoticeStringMap["inputsig"] << endl; 00110 if(gDocNoticeFlagMap["inputsigs"]) docout << "\t\\item " << gDocNoticeStringMap["inputsigs"] << endl; 00111 if(gDocNoticeFlagMap["outputsig"]) docout << "\t\\item " << gDocNoticeStringMap["outputsig"] << endl; 00112 if(gDocNoticeFlagMap["outputsigs"]) docout << "\t\\item " << gDocNoticeStringMap["outputsigs"] << endl; 00113 if(gDocNoticeFlagMap["constsigs"]) docout << "\t\\item " << gDocNoticeStringMap["constsigs"] << endl; 00114 if(gDocNoticeFlagMap["paramsigs"]) docout << "\t\\item " << gDocNoticeStringMap["paramsigs"] << endl; 00115 if(gDocNoticeFlagMap["storedsigs"]) docout << "\t\\item " << gDocNoticeStringMap["storedsigs"] << endl; 00116 if(gDocNoticeFlagMap["buttonsigs"]) docout << "\t\\item " << gDocNoticeStringMap["buttonsigs"] << endl; 00117 if(gDocNoticeFlagMap["checkboxsigs"]) docout << "\t\\item " << gDocNoticeStringMap["checkboxsigs"] << endl; 00118 if(gDocNoticeFlagMap["slidersigs"]) docout << "\t\\item " << gDocNoticeStringMap["slidersigs"] << endl; 00119 if(gDocNoticeFlagMap["nentrysigs"]) docout << "\t\\item " << gDocNoticeStringMap["nentrysigs"] << endl; 00120 if(gDocNoticeFlagMap["tablesigs"]) docout << "\t\\item " << gDocNoticeStringMap["tablesigs"] << endl; 00121 if(gDocNoticeFlagMap["recursigs"]) docout << "\t\\item " << gDocNoticeStringMap["recursigs"] << endl; 00122 if(gDocNoticeFlagMap["prefixsigs"]) docout << "\t\\item " << gDocNoticeStringMap["prefixsigs"] << endl; 00123 if(gDocNoticeFlagMap["selectionsig"]) docout << "\t\\item " << gDocNoticeStringMap["selectionsig"] << endl; 00124 if(gDocNoticeFlagMap["selectionsigs"]) docout << "\t\\item " << gDocNoticeStringMap["selectionsigs"] << endl; 00125 00126 docout << "\\end{itemize}" << endl << endl; 00127 } 00128 //cerr << " ... Documentator : printDocNotice : end of printing." << endl; 00129 }
static void printDocNoticeStringMapContent | ( | ) | [static] |
Simple trace function.
Definition at line 215 of file doc_notice.cpp.
References gDocNoticeStringMap.
00215 { 00216 bool trace = false; 00217 if(trace) { 00218 cout << "gDocNoticeStringMap.size() = " << gDocNoticeStringMap.size() << endl; 00219 map<string,string>::iterator it; 00220 int i = 1; 00221 for(it = gDocNoticeStringMap.begin(); it!=gDocNoticeStringMap.end(); ++it) 00222 cout << i++ << ".\tgDocNoticeStringMap[" << it->first << "] \t= '" << it->second << "'" << endl; 00223 } 00224 }
struct tm gCompilationDate [static] |
Definition at line 47 of file doc_notice.cpp.
Referenced by getCompilationDate(), and initCompilationDate().
map<string, bool> gDocNoticeFlagMap |
gDocNoticeFlagMap is public to let others turn to "true" flags that one want to print.
Definition at line 36 of file doc_notice.cpp.
Referenced by DocCompiler::compileLateq(), DocCompiler::generateBinOp(), DocCompiler::generateButton(), DocCompiler::generateCacheCode(), DocCompiler::generateCheckbox(), DocCompiler::generateDocConstantTbl(), DocCompiler::generateDocWriteTbl(), DocCompiler::generateFConst(), DocCompiler::generateFFun(), DocCompiler::generateFVar(), DocCompiler::generateHSlider(), DocCompiler::generateInput(), DocCompiler::generateIntCast(), DocCompiler::generateNumber(), DocCompiler::generateNumEntry(), DocCompiler::generateOutput(), DocCompiler::generatePrefix(), DocCompiler::generateRec(), DocCompiler::generateSelect2(), DocCompiler::generateSelect3(), DocCompiler::generateVariableStore(), DocCompiler::generateVSlider(), initDocNoticeFlagMap(), printDocDgm(), and printDocNotice().
set<string> gDocNoticeKeySet |
Definition at line 39 of file doc_notice.cpp.
Referenced by initDocNoticeFlagMap(), initDocNoticeKeySet(), and storePair().
map<string, string> gDocNoticeStringMap |
Definition at line 38 of file doc_notice.cpp.
Referenced by importDocStrings(), printDocNotice(), printDocNoticeStringMapContent(), and storePair().