Nested vectors are implemented, including parser and class nstio.
[Faustine.git] / interpreter / preprocessor / faust-0.9.47mr3 / compiler / documentator / doc_metadatas.cpp
1 /************************************************************************
2 ************************************************************************
3 FAUST compiler
4 Copyright (C) 2003-2004 GRAME, Centre National de Creation Musicale
5 ---------------------------------------------------------------------
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 ************************************************************************
20 ************************************************************************/
21
22
23 #include <iostream>
24 #include <string>
25 #include <set>
26 #include <map>
27 #include <cstdlib>
28
29 #include "doc_metadatas.hh"
30 #include "doc.hh"
31
32
33 extern SourceReader gReader;
34
35 map<string, string> gDocMetadatasStringMap;
36 set<string> gDocMetadatasKeySet;
37
38 static void initDocMetadatasKeySet();
39
40
41
42
43 /*****************************************************************************
44 Public functions
45 *****************************************************************************/
46
47
48 /**
49 * Dispatch initialization of metadatas container.
50 */
51 void initDocMetadatas()
52 {
53 initDocMetadatasKeySet();
54 }
55
56
57
58 /*****************************************************************************
59 Static functions
60 *****************************************************************************/
61
62
63 /**
64 * Initialize gDocMetadatasKeySet, a set containing all the keywords.
65 */
66 static void initDocMetadatasKeySet() {
67
68 gDocMetadatasKeySet.insert("name");
69 gDocMetadatasKeySet.insert("author");
70 gDocMetadatasKeySet.insert("copyright");
71 gDocMetadatasKeySet.insert("license");
72 gDocMetadatasKeySet.insert("version");
73 }
74
75
76 ///**
77 // * Simple trace function.
78 // */
79 //static void printDocMetadatasStringMapContent() {
80 // bool trace = false;
81 // if(trace) {
82 // cout << "gDocMetadatasStringMap.size() = " << gDocMetadatasStringMap.size() << endl;
83 // map<string,string>::iterator it;
84 // int i = 1;
85 // for(it = gDocMetadatasStringMap.begin(); it!=gDocMetadatasStringMap.end(); ++it)
86 // cout << i++ << ".\tgDocNoticeStringMap[" << it->first << "] \t= '" << it->second << "'" << endl;
87 // }
88 //}
89