OpenWalnut
1.4.0
|
This namespace contains the WStructuredTextParser data types and the parser. More...
Classes | |
struct | KeyValueType |
KeyValueType - a tuple containing name and value. More... | |
struct | ObjectType |
An object is always a name and contains several further nodes. More... | |
Typedefs | |
typedef std::string | KeyType |
we use these quite often, so define some short alias for them: More... | |
typedef std::string | ValueType |
The type used for values. More... | |
typedef std::string | CommentType |
The type used for comments. More... | |
typedef boost::variant < boost::recursive_wrapper < ObjectType >, KeyValueType, CommentType > | MemberType |
A node inside the AST is either another object or a key-value pair. More... | |
typedef std::vector< MemberType > | FileType |
An object representing all objects and comments on file level. More... | |
Functions | |
FileType | parseFromString (std::string input) |
Parse the given input and return the syntax tree. More... | |
FileType | parseFromFile (boost::filesystem::path path) |
Parse the given input and return the syntax tree. More... | |
This namespace contains the WStructuredTextParser data types and the parser.
It builds up the abstract syntax tree (AST) for the given input which later can be traversed.
typedef std::string WStructuredTextParser::CommentType |
The type used for comments.
Definition at line 85 of file WStructuredTextParser.h.
typedef std::vector< MemberType > WStructuredTextParser::FileType |
An object representing all objects and comments on file level.
Definition at line 137 of file WStructuredTextParser.h.
typedef std::string WStructuredTextParser::KeyType |
we use these quite often, so define some short alias for them:
we use these quite often, so define some short alias for them: we use these quite often, so define some short alias for them: we use these quite often, so define some short alias for them: we use these quite often, so define some short alias for them: The type used for keys
Definition at line 75 of file WStructuredTextParser.h.
typedef boost::variant< boost::recursive_wrapper< ObjectType >, KeyValueType, CommentType > WStructuredTextParser::MemberType |
A node inside the AST is either another object or a key-value pair.
Definition at line 116 of file WStructuredTextParser.h.
typedef std::string WStructuredTextParser::ValueType |
The type used for values.
Definition at line 80 of file WStructuredTextParser.h.
FileType WStructuredTextParser::parseFromFile | ( | boost::filesystem::path | path | ) |
Parse the given input and return the syntax tree.
Throws an exception WParseError on error.
path | the file to parse |
WParseError | on parse error |
WFileNotFOund | in case the specified file could not be opened |
Definition at line 216 of file WStructuredTextParser.cpp.
References parseFromFile().
Referenced by parseFromFile(), and WStructuredTextParserTest::testParseFromFile().
FileType WStructuredTextParser::parseFromString | ( | std::string | input | ) |
Parse the given input and return the syntax tree.
Throws an exception WParseError on error.
input | the input to parse. |
WParseError | on parse error |
Definition at line 195 of file WStructuredTextParser.cpp.
References parseFromString().
Referenced by parseFromString().