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