diff options
| author | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2015-04-12 15:15:35 +0200 | 
|---|---|---|
| committer | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2016-04-25 22:24:15 +0200 | 
| commit | ae1b41524c89c29b47b189fd6741f3aeefeaeb50 (patch) | |
| tree | 28a8f4587de4522f6de83d05949e11e2f1b5f61a | |
| parent | c3c092e2ee64612b50dea010cc4e1ef54d27c31e (diff) | |
Add a new "greedy" flag as attribute to the "short" syntax descriptor
| -rw-r--r-- | src/core/parser/stack/OntologyHandler.cpp | 12 | ||||
| -rw-r--r-- | src/core/parser/stack/OntologyHandler.hpp | 1 | 
2 files changed, 11 insertions, 2 deletions
| diff --git a/src/core/parser/stack/OntologyHandler.cpp b/src/core/parser/stack/OntologyHandler.cpp index 0cd8140..c153316 100644 --- a/src/core/parser/stack/OntologyHandler.cpp +++ b/src/core/parser/stack/OntologyHandler.cpp @@ -337,7 +337,7 @@ enum class TokenType { OPEN, CLOSE, SHORT };  OntologyOpenCloseShortHandler::OntologyOpenCloseShortHandler(      const HandlerData &handlerData) -    : StaticHandler(handlerData), descr(nullptr) +    : StaticHandler(handlerData), descr(nullptr), greedy(true)  {  } @@ -464,6 +464,14 @@ bool OntologyOpenCloseShortHandler::startCommand(Variant::mapType &args)  			scope().push(new ParserSyntaxShortNode(manager(), descr));  			break;  	} + +	// Read the "greedy" attribute (default values is "true"). The +	// TokenDescriptor is updated accordingly in the "end()" method. +	auto it = args.find("greedy"); +	if (it != args.end()) { +		greedy = it->second.asBool(); +	} +  	return true;  } @@ -730,7 +738,7 @@ const State OntologySyntaxShort =          .parent(&OntologySyntax)          .createdNodeType(&RttiTypes::ParserSyntaxShortNode)          .elementHandler(OntologyOpenCloseShortHandler::create) -        .arguments(Arguments{}); +        .arguments({Argument::Bool("greedy", true)});  const State OntologySyntaxWhitespace =      StateBuilder() diff --git a/src/core/parser/stack/OntologyHandler.hpp b/src/core/parser/stack/OntologyHandler.hpp index b91e594..be3fae7 100644 --- a/src/core/parser/stack/OntologyHandler.hpp +++ b/src/core/parser/stack/OntologyHandler.hpp @@ -198,6 +198,7 @@ public:  class OntologyOpenCloseShortHandler : public StaticHandler {  public:  	TokenDescriptor *descr; +	bool greedy;  	OntologyOpenCloseShortHandler(const HandlerData &handlerData); | 
