2 Aesalon, a tool to visualize a program's behaviour at run-time.
3 Copyright (C) 2010, Aesalon Development Team.
5 Aesalon is distributed under the terms of the GNU GPLv3. For more
6 licensing information, see the file LICENSE included with the distribution.
8 @file include/monitor/config/Parser.h
12 #ifndef AesalonMonitor_Config_Parser_H
13 #define AesalonMonitor_Config_Parser_H
26 std::ifstream
*m_stream
;
35 /** Parses a single configuration file.
36 @note Assumes @a configFile is an absolute path.
38 void parse(ConcreteVault
*vault
, const std::string
&configFile
);
39 /** Parses a directory's worth of module configuration files.
40 @note Assumes @a directory is absolute.
42 void parseDirectory(ConcreteVault
*vault
, const std::string
&directory
);
44 void openFile(const std::string
&configFile
);
45 std::string
nextToken(TokenType
&type
);
46 std::string
expectNextToken(TokenType expected
);
47 void expectNextSymbol(const std::string
&symbol
);
48 void skipWhitespace();
51 const char *nameOf(TokenType type
) const;
55 } // namespace Monitor