summaryrefslogtreecommitdiff
path: root/src/formats
diff options
context:
space:
mode:
authorAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2015-03-02 00:33:32 +0100
committerAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2015-03-02 00:33:32 +0100
commit8197dc488926e8645efb47e60d0988a6a65fc15f (patch)
treeb08def75afc5c06386d43aca79e14321982525bb /src/formats
parent3bdc30e0798d6b356782da430e93b72b4303e963 (diff)
Adapted OsmlParser to new Stack interface, reenabled OsmlParser code in CMakeLists
Diffstat (limited to 'src/formats')
-rw-r--r--src/formats/osml/OsmlParser.cpp28
-rw-r--r--src/formats/osml/OsmlStreamParser.cpp10
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);
}
}