1 #ifndef ASNTOKENS_HPP
2 #define ASNTOKENS_HPP
3 
4 /*  $Id: tokens.hpp 547822 2017-10-04 15:45:27Z gouriano $
5 * ===========================================================================
6 *
7 *                            PUBLIC DOMAIN NOTICE
8 *               National Center for Biotechnology Information
9 *
10 *  This software/database is a "United States Government Work" under the
11 *  terms of the United States Copyright Act.  It was written as part of
12 *  the author's official duties as a United States Government employee and
13 *  thus cannot be copyrighted.  This software/database is freely available
14 *  to the public for use. The National Library of Medicine and the U.S.
15 *  Government have not placed any restriction on its use or reproduction.
16 *
17 *  Although all reasonable efforts have been taken to ensure the accuracy
18 *  and reliability of the software and data, the NLM and the U.S.
19 *  Government do not and cannot warrant the performance or results that
20 *  may be obtained by using this software or data. The NLM and the U.S.
21 *  Government disclaim all warranties, express or implied, including
22 *  warranties of performance, merchantability or fitness for any particular
23 *  purpose.
24 *
25 *  Please cite the author in any work or product based on this material.
26 *
27 * ===========================================================================
28 *
29 * Author: Eugene Vasilchenko
30 *
31 * File Description:
32 *   ASN.1 tokens
33 *
34 */
35 
36 BEGIN_NCBI_SCOPE
37 
38 enum TToken {
39     T_EOF = -1,
40     T_SYMBOL = 0,
41 
42     T_IDENTIFIER = 1,
43     T_TYPE_REFERENCE = 2,
44     T_STRING = 3,
45     T_NUMBER = 4,
46     T_BINARY_STRING = 5,
47     T_HEXADECIMAL_STRING = 6,
48     T_DEFINE = 7,
49     T_TAG = 8,
50     T_DOUBLE = 9,
51 
52     K_DEFINITIONS = 101,
53     K_BEGIN = 102,
54     K_END = 103,
55     K_IMPORTS = 104,
56     K_EXPORTS = 105,
57     K_FROM = 106,
58     K_NULL = 107,
59     K_BOOLEAN = 108,
60     K_INTEGER = 109,
61     K_ENUMERATED = 110,
62     K_REAL = 111,
63     K_VisibleString = 112,
64     K_StringStore = 113,
65     K_BIT = 114,
66     K_OCTET = 115,
67     K_STRING = 116,
68     K_SET = 117,
69     K_SEQUENCE = 118,
70     K_OF = 119,
71     K_CHOICE = 120,
72     K_FALSE = 121,
73     K_TRUE = 122,
74     K_OPTIONAL = 123,
75     K_DEFAULT = 124,
76     K_BIGINT = 125,
77     K_UTF8String = 126,
78 
79     T_TAG_BEGIN   = 128,
80     T_TAG_END     = 129,
81     K_EXPLICIT    = 130,
82     K_IMPLICIT    = 131,
83     K_TAGS        = 132,
84     K_AUTOMATIC   = 133,
85     K_UNIVERSAL   = 134,
86     K_APPLICATION = 135,
87     K_PRIVATE     = 136,
88     K_COMPONENTS  = 137,
89 
90 
91     T_ENTITY            =  11,
92     T_IDENTIFIER_END    =  12,
93     T_CONDITIONAL_BEGIN =  13,
94     T_CONDITIONAL_END   =  14,
95     T_NMTOKEN           =  15,
96 
97     K_ELEMENT  = 201,
98     K_ATTLIST  = 202,
99     K_ENTITY   = 203,
100     K_PCDATA   = 204,
101     K_ANY      = 205,
102     K_EMPTY    = 206,
103     K_SYSTEM   = 207,
104     K_PUBLIC   = 208,
105 
106     K_CDATA    = 209,
107     K_ID       = 210,
108     K_IDREF    = 211,
109     K_IDREFS   = 212,
110     K_NMTOKEN  = 213,
111     K_NMTOKENS = 214,
112     K_ENTITIES = 215,
113     K_NOTATION = 216,
114 
115     K_REQUIRED = 217,
116     K_IMPLIED  = 218,
117     K_FIXED    = 219,
118 
119     K_INCLUDE  = 220,
120     K_IGNORE   = 221,
121     K_IMPORT   = 222,
122 
123     K_CLOSING        = 300,
124     K_ENDOFTAG       = 301,
125     K_XML            = 302,
126     K_SCHEMA         = 303,
127     K_ATTPAIR        = K_ATTLIST,
128     K_XMLNS          = 304,
129     K_COMPLEXTYPE    = 305,
130     K_COMPLEXCONTENT = 306,
131     K_SIMPLETYPE     = 307,
132     K_SIMPLECONTENT  = 308,
133     K_EXTENSION      = 309,
134     K_RESTRICTION    = 310,
135     K_ATTRIBUTE      = 311,
136     K_ENUMERATION    = 312,
137     K_ANNOTATION     = 313,
138     K_DOCUMENTATION  = 314,
139     K_ATTRIBUTEGROUP = 315,
140     K_GROUP          = 316,
141     K_APPINFO        = 317,
142     K_UNION          = 318,
143     K_LIST           = 319,
144     K_MINLENGTH      = 320,
145     K_MAXLENGTH      = 321,
146     K_LENGTH         = 322,
147     K_PATTERN        = 323,
148     K_INCMIN         = 324,
149     K_EXCMIN         = 325,
150     K_INCMAX         = 326,
151     K_EXCMAX         = 327,
152 
153     K_TYPES          = 401,
154     K_MESSAGE        = 402,
155     K_PART           = 403,
156     K_PORTTYPE       = 404,
157     K_OPERATION      = 405,
158     K_INPUT          = 406,
159     K_OUTPUT         = 407,
160     K_BINDING        = 408,
161     K_SERVICE        = 409,
162     K_PORT           = 410,
163     K_ADDRESS        = 411,
164     K_BODY           = 412,
165     K_HEADER         = 413,
166 
167     K_BEGIN_OBJECT   = 501,
168     K_END_OBJECT     = 502,
169     K_BEGIN_ARRAY    = 503,
170     K_END_ARRAY      = 504,
171     K_KEY            = 505,
172     K_VALUE          = 506
173 };
174 
175 END_NCBI_SCOPE
176 
177 #endif
178