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