1 /*
2  * Copyright (c) 2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef OHOS_IDL_TOKEN_H
17 #define OHOS_IDL_TOKEN_H
18 
19 namespace OHOS {
20 namespace Idl {
21 enum class Token {
22     UNKNOWN              = 0,
23     // types
24     BOOLEAN,
25     CHAR,
26     BYTE,
27     SHORT,
28     INTEGER,
29     LONG,
30     FLOAT,
31     DOUBLE,
32     STRING,
33     LIST,
34     MAP,
35     // keywords
36     IN,
37     INTERFACE,
38     ONEWAY,
39     OUT,
40     INOUT,
41     SEQUENCEABLE,
42     CACHEABLE,
43     // symbols
44     DOT,   // '.'
45     COMMA,   // ','
46     SEMICOLON,   // ';'
47     BRACES_LEFT,   // '{'
48     BRACES_RIGHT,   // '}'
49     BRACKETS_LEFT,   // '['
50     BRACKETS_RIGHT,   // ']'
51     PARENTHESES_LEFT,   // '('
52     PARENTHESES_RIGHT,   // ')'
53     ANGLE_BRACKETS_LEFT,   // '<'
54     ANGLE_BRACKETS_RIGHT,   // '>'
55     // others
56     IDENTIFIER,
57     COMMENT_BLOCK,
58     COMMENT_LINE,
59     END_OF_FILE,
60 };
61 } // namespace Idl
62 } // namespace OHOS
63 #endif // OHOS_IDL_TOKEN_H
64