Teuchos - Trilinos Tools Package  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Teuchos_XML.hpp
1 #ifndef TEUCHOS_XML_HPP
2 #define TEUCHOS_XML_HPP
3 
4 #include <Teuchos_Language.hpp>
5 
6 namespace Teuchos {
7 namespace XML {
8 
9 enum {
10  PROD_DOC,
11  PROD_TOPLEVEL,
12  PROD_TOPLEVELS,
13  PROD_TOPLEVELS_MISC,
14  PROD_TOPLEVEL_ELEMENT,
15  PROD_TOPLEVEL_XMLDECL,
16  PROD_ELEMENT_EMPTY,
17  PROD_ELEMENT,
18  PROD_XMLDECL,
19  PROD_STAG,
20  PROD_ETAG,
21  PROD_EMPTY_TAG,
22  PROD_CONTENT,
23  PROD_NO_CONTENT_ITEMS,
24  PROD_CONTENT_ITEMS,
25  PROD_CONTENT_ELEMENT,
26  PROD_CONTENT_REF,
27  PROD_CONTENT_COMMENT,
28  PROD_NO_CHARDATA,
29  PROD_CHARDATA,
30  PROD_TAGFILL,
31  PROD_NO_ATTS,
32  PROD_ATTS,
33  PROD_ATT,
34  PROD_EQ,
35  PROD_ATTVALUE_D,
36  PROD_ATTVALUE_S,
37  PROD_NO_DQUOTS,
38  PROD_DQUOTS,
39  PROD_DQUOT_CHAR,
40  PROD_DQUOT_REF,
41  PROD_NO_SQUOTS,
42  PROD_SQUOTS,
43  PROD_SQUOT_CHAR,
44  PROD_SQUOT_REF,
45  PROD_NAME,
46  PROD_NAME_FIRST_LETTER,
47  PROD_NAME_FIRST_UNDER,
48  PROD_NAME_FIRST_COLON,
49  PROD_NO_NAME_CHARS,
50  PROD_NAME_CHARS,
51  PROD_NAME_LETTER,
52  PROD_NAME_DIGIT,
53  PROD_NAME_DOT,
54  PROD_NAME_DASH,
55  PROD_NAME_UNDER,
56  PROD_NAME_COLON,
57  PROD_NO_MISCS,
58  PROD_MISCS,
59  PROD_MISC_COMMENT,
60  PROD_MISC_SPACE,
61  PROD_COMMENT,
62  PROD_NO_COMMENTED,
63  PROD_COMMENTED,
64  PROD_COMMENT_CHAR,
65  PROD_COMMENT_DASH,
66  PROD_ENT_REF,
67  PROD_CHAR_REF,
68  PROD_ONE_DIGIT,
69  PROD_DIGITS,
70  PROD_NO_SPACES,
71  PROD_YES_SPACES,
72  PROD_ONE_SPACE,
73  PROD_SPACES,
74  PROD_DQUOTED_COMMON,
75  PROD_DQUOTED_SQUOT,
76  PROD_DQUOTED_RSQUARE,
77  PROD_DQUOTED_DASH,
78  PROD_SQUOTED_CHAR,
79  PROD_SQUOTED_DQUOT,
80  PROD_SQUOTED_RSQUARE,
81  PROD_SQUOTED_DASH,
82  PROD_DATA_COMMON,
83  PROD_DATA_SQUOT,
84  PROD_DATA_DQUOT,
85  PROD_DATA_DASH,
86  PROD_COMMENT_COMMON,
87  PROD_COMMENT_LANGLE,
88  PROD_COMMENT_AMP,
89  PROD_COMMENT_SQUOT,
90  PROD_COMMENT_DQUOT,
91  PROD_COMMENT_RSQUARE,
92  PROD_COMMON_SPACE,
93  PROD_COMMON_LETTER,
94  PROD_COMMON_DIGIT,
95  PROD_COMMON_EXCL,
96  PROD_COMMON_POUND,
97  PROD_COMMON_DOT,
98  PROD_COMMON_SLASH,
99  PROD_COMMON_COLON,
100  PROD_COMMON_SEMICOLON,
101  PROD_COMMON_RANGLE,
102  PROD_COMMON_QUESTION,
103  PROD_COMMON_EQUAL,
104  PROD_COMMON_LSQUARE,
105  PROD_COMMON_UNDER,
106  PROD_COMMON_OTHER
107 };
108 
109 enum { NPRODS = PROD_COMMON_OTHER + 1 };
110 
111 enum {
112  TOK_SPACE,
113  TOK_LETTER,
114  TOK_DIGIT,
115  TOK_EXCL,
116  TOK_DQUOTE,
117  TOK_SQUOTE,
118  TOK_POUND,
119  TOK_AMP,
120  TOK_DASH,
121  TOK_DOT,
122  TOK_SLASH,
123  TOK_COLON,
124  TOK_SEMICOLON,
125  TOK_LANGLE,
126  TOK_RANGLE,
127  TOK_QUESTION,
128  TOK_EQUAL,
129  TOK_LSQUARE,
130  TOK_RSQUARE,
131  TOK_UNDER,
132  TOK_OTHER
133 };
134 
135 enum { NTOKS = TOK_OTHER + 1 };
136 
137 Language make_language();
138 LanguagePtr ask_language();
139 
140 ReaderTablesPtr ask_reader_tables();
141 
142 } // end namespace XML
143 } // end namespace Teuchos
144 
145 #endif
RCP< const ReaderTables > ReaderTablesPtr
an RCP to a const ReaderTables
RCP< const Language > LanguagePtr
an RCP to a const Language
Declares Teuchos::Language.