OpenMD 3.1
Molecular Dynamics in the Open
Loading...
Searching...
No Matches
ANTLRUtil.hpp
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
15namespace antlr {
16#endif
17
18/** Eat whitespace from the input stream
19 * @param is the stream to read from
20 */
21ANTLR_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 */
29ANTLR_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 */
34ANTLR_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 */
45void 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