ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/src/antlr/ANTLRUtil.hpp
Revision: 1465
Committed: Fri Jul 9 23:08:25 2010 UTC (14 years, 9 months ago) by chuckv
File size: 1670 byte(s)
Log Message:
Creating busticated version of OpenMD

File Contents

# Content
1 #ifndef INC_ANTLRUtil_hpp__
2 #define INC_ANTLRUtil_hpp__
3
4 /* ANTLR Translator Generator
5 * Project led by Terence Parr at http://www.jGuru.com
6 * Software rights: http://www.antlr.org/license.html
7 *
8 * $Id$
9 */
10
11 #include <antlr/config.hpp>
12 #include <iostream>
13
14 #ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
15 namespace antlr {
16 #endif
17
18 /** Eat whitespace from the input stream
19 * @param is the stream to read from
20 */
21 ANTLR_USE_NAMESPACE(std)istream& eatwhite( ANTLR_USE_NAMESPACE(std)istream& is );
22
23 /** Read a string enclosed by '"' from a stream. Also handles escaping of \".
24 * Skips leading whitespace.
25 * @param in the istream to read from.
26 * @returns the string read from file exclusive the '"'
27 * @throws ios_base::failure if string is badly formatted
28 */
29 ANTLR_USE_NAMESPACE(std)string read_string( ANTLR_USE_NAMESPACE(std)istream& in );
30
31 /* Read a ([A-Z][0-9][a-z]_)* kindoff thing. Skips leading whitespace.
32 * @param in the istream to read from.
33 */
34 ANTLR_USE_NAMESPACE(std)string read_identifier( ANTLR_USE_NAMESPACE(std)istream& in );
35
36 /** Read a attribute="value" thing. Leading whitespace is skipped.
37 * Between attribute and '=' no whitespace is allowed. After the '=' it is
38 * permitted.
39 * @param in the istream to read from.
40 * @param attribute string the attribute name is put in
41 * @param value string the value of the attribute is put in
42 * @throws ios_base::failure if something is fishy. E.g. malformed quoting
43 * or missing '='
44 */
45 void read_AttributeNValue( ANTLR_USE_NAMESPACE(std)istream& in,
46 ANTLR_USE_NAMESPACE(std)string& attribute,
47 ANTLR_USE_NAMESPACE(std)string& value );
48
49 #ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
50 }
51 #endif
52
53 #endif

Properties

Name Value
svn:keywords Author Id Revision Date