diff options
author | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2015-03-02 00:33:32 +0100 |
---|---|---|
committer | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2015-03-02 00:33:32 +0100 |
commit | 8197dc488926e8645efb47e60d0988a6a65fc15f (patch) | |
tree | b08def75afc5c06386d43aca79e14321982525bb /src/formats | |
parent | 3bdc30e0798d6b356782da430e93b72b4303e963 (diff) |
Adapted OsmlParser to new Stack interface, reenabled OsmlParser code in CMakeLists
Diffstat (limited to 'src/formats')
-rw-r--r-- | src/formats/osml/OsmlParser.cpp | 28 | ||||
-rw-r--r-- | src/formats/osml/OsmlStreamParser.cpp | 10 |
2 files changed, 18 insertions, 20 deletions
diff --git a/src/formats/osml/OsmlParser.cpp b/src/formats/osml/OsmlParser.cpp index a24f091..c25974f 100644 --- a/src/formats/osml/OsmlParser.cpp +++ b/src/formats/osml/OsmlParser.cpp @@ -88,7 +88,7 @@ public: OsmlStreamParser::State state = parser.parse(); logger.setDefaultLocation(parser.getLocation()); switch (state) { - case OsmlStreamParser::State::COMMAND: { + case OsmlStreamParser::State::COMMAND_START: { // Implicitly create a "document" element if the first // command is not any other top-level command if (needsDocument) { @@ -96,23 +96,23 @@ public: parser.getCommandName().asString(); if (cmd != "typesystem" && cmd != "document" && cmd != "domain") { - stack.command("document", Variant::mapType{}); + stack.commandStart("document", Variant::mapType{}, + false); } needsDocument = false; } - stack.command(parser.getCommandName(), - parser.getCommandArguments().asMap()); + stack.commandStart(parser.getCommandName(), + parser.getCommandArguments().asMap(), + parser.inRangeCommand()); break; } - case OsmlStreamParser::State::DATA: - stack.data(parser.getData()); - break; - case OsmlStreamParser::State::ENTITY: - // TODO + case OsmlStreamParser::State::RANGE_END: + stack.rangeEnd(); break; case OsmlStreamParser::State::ANNOTATION_START: stack.annotationStart(parser.getCommandName(), - parser.getCommandArguments().asMap()); + parser.getCommandArguments().asMap(), + parser.inRangeCommand()); break; case OsmlStreamParser::State::ANNOTATION_END: { Variant elementName = Variant::fromString(std::string{}); @@ -130,11 +130,9 @@ public: case OsmlStreamParser::State::FIELD_END: stack.fieldEnd(); break; - case OsmlStreamParser::State::NONE: - case OsmlStreamParser::State::ERROR: - // Internally used in OsmlStreamParser, these states should - // never occur. Just contiunue. - continue; + case OsmlStreamParser::State::DATA: + stack.data(parser.getData()); + break; case OsmlStreamParser::State::END: return; } diff --git a/src/formats/osml/OsmlStreamParser.cpp b/src/formats/osml/OsmlStreamParser.cpp index 823075a..64a489d 100644 --- a/src/formats/osml/OsmlStreamParser.cpp +++ b/src/formats/osml/OsmlStreamParser.cpp @@ -409,7 +409,7 @@ public: State parse(); TokenId registerToken(const std::string &token); - void unregisterToken(TokenId token); + void unregisterToken(TokenId id); const TokenizedData &getData() const { return data; } const Variant &getCommandName() const { return cmd().getName(); } @@ -928,9 +928,9 @@ TokenId OsmlStreamParserImpl::registerToken(const std::string &token) return tokenizer.registerToken(token, false); } -void OsmlStreamParserImpl::unregisterToken(TokenId token) +void OsmlStreamParserImpl::unregisterToken(TokenId id) { - assert(tokenizer.unregisterToken(token)); + assert(tokenizer.unregisterToken(id)); } /* Class OsmlStreamParser */ @@ -979,8 +979,8 @@ TokenId OsmlStreamParser::registerToken(const std::string &token) return impl->registerToken(token); } -void OsmlStreamParser::unregisterToken(TokenId token) +void OsmlStreamParser::unregisterToken(TokenId id) { - impl->unregisterToken(token); + impl->unregisterToken(id); } } |