]> git.saurik.com Git - apple/icu.git/blob - icuSources/tools/genrb/read.h
e5b8d155dad2e519922f876222ef85bd4fbf8c5a
[apple/icu.git] / icuSources / tools / genrb / read.h
1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4 *******************************************************************************
5 *
6 * Copyright (C) 1998-2011, International Business Machines
7 * Corporation and others. All Rights Reserved.
8 *
9 *******************************************************************************
10 *
11 * File read.h
12 *
13 * Modification History:
14 *
15 * Date Name Description
16 * 05/26/99 stephen Creation.
17 * 5/10/01 Ram removed ustdio dependency
18 *******************************************************************************
19 */
20
21 #ifndef READ_H
22 #define READ_H 1
23
24 #include "unicode/utypes.h"
25 #include "ustr.h"
26 #include "ucbuf.h"
27
28 /* The types of tokens which may be returned by getNextToken.
29 NOTE: Keep these in sync with tokenNames in parse.c */
30 enum ETokenType
31 {
32 TOK_STRING, /* A string token, such as "MonthNames" */
33 TOK_OPEN_BRACE, /* An opening brace character */
34 TOK_CLOSE_BRACE, /* A closing brace character */
35 TOK_COMMA, /* A comma */
36 TOK_COLON, /* A colon */
37
38 TOK_EOF, /* End of the file has been reached successfully */
39 TOK_ERROR, /* An error, such an unterminated quoted string */
40 TOK_TOKEN_COUNT /* Number of "real" token types */
41 };
42
43 U_CFUNC UChar32 unescape(UCHARBUF *buf, UErrorCode *status);
44
45 U_CFUNC void resetLineNumber(void);
46
47 U_CFUNC enum ETokenType
48 getNextToken(UCHARBUF *buf,
49 struct UString *token,
50 uint32_t *linenumber, /* out: linenumber of token */
51 struct UString *comment,
52 UErrorCode *status);
53
54 #endif