Skip to content
Snippets Groups Projects
Commit 9dd90260 authored by Radovan Červený's avatar Radovan Červený
Browse files

stringology fix, BDM fix

parent e41c9c0c
No related branches found
No related tags found
1 merge request!16BP_cervera3 - algorithms
......@@ -2,8 +2,8 @@
* Author: Radovan Cerveny
*/
 
#ifndef STRINGOLOGY_BACKWARD_ORACLE_MATCHING_HPP__
#define STRINGOLOGY_BACKWARD_ORACLE_MATCHING_HPP__
#ifndef STRINGOLOGY_BACKWARD_DAWG_MATCHING_HPP__
#define STRINGOLOGY_BACKWARD_DAWG_MATCHING_HPP__
 
#include <string/String.h>
#include <string/StringFeatures.h>
......@@ -40,4 +40,4 @@ public:
 
} /* namespace stringology */
 
#endif /* STRINGOLOGY_BACKWARD_ORACLE_MATCHING_HPP__ */
#endif /* STRINGOLOGY_BACKWARD_DAWG_MATCHING_HPP__ */
......@@ -25,6 +25,7 @@
#include <stringology/exact/DeadZoneUsingBadCharacterShift.h>
#include <stringology/exact/BackwardNondeterministicDAWGMatching.hpp>
#include <stringology/exact/BackwardOracleMatching.hpp>
#include <stringology/exact/BackwardDAWGMatching.hpp>
#include <stringology/exact/ExactMatchingAutomaton.h>
#include <stringology/exact/ExactFactorAutomaton.h>
#include <stringology/exact/ExactSubsequenceAutomaton.h>
......@@ -53,6 +54,7 @@ int main ( int argc, char * argv[] ) {
allowed.push_back ( "deadZoneUsingBadCharacterShift" );
allowed.push_back ( "backwardNondeterministicDAWGMatching" );
allowed.push_back ( "backwardOracleMatching" );
allowed.push_back ( "backwardDAWGMatching" );
allowed.push_back ( "borderArray" );
allowed.push_back ( "suffixTrie" );
TCLAP::ValuesConstraint < std::string > allowedVals ( allowed );
......@@ -159,6 +161,19 @@ int main ( int argc, char * argv[] ) {
measurements::end ( );
measurements::start ( "Output write", measurements::Type::AUXILIARY );
 
alib::XmlDataFactory::toStdout ( res );
} else if ( algorithm.getValue ( ) == "backwardDAWGMatching" ) {
string::String subject = alib::XmlDataFactory::fromTokens < string::String > ( std::move ( sax::FromXMLParserHelper::parseInput(true, subjectInput).front ( ) ) );
string::String pattern = alib::XmlDataFactory::fromTokens < string::String > ( std::move ( sax::FromXMLParserHelper::parseInput(true, patternInput).front ( ) ) );
measurements::end ( );
measurements::start ( "Algorithm", measurements::Type::MAIN );
std::set < unsigned > res = stringology::exact::BackwardDAWGMatching::match ( subject, pattern );
measurements::end ( );
measurements::start ( "Output write", measurements::Type::AUXILIARY );
alib::XmlDataFactory::toStdout ( res );
} else if ( algorithm.getValue ( ) == "exactMatchingAutomaton" ) {
string::String pattern = alib::XmlDataFactory::fromTokens < string::String > ( std::move ( sax::FromXMLParserHelper::parseInput(true, patternInput).front ( ) ) );
......
<?xml version="1.0"?>
<MeasurementProvisioner>
<Environment>
<PipelineIterations>3</PipelineIterations>
<PipelineIterations>10</PipelineIterations>
</Environment>
<InputData>
<InputBatch>
......@@ -28,5 +28,14 @@
<Pipeline>
<Command alias="deadzone" >./astringology2 -a deadZoneUsingBadCharacterShift -s $1 -p $2</Command>
</Pipeline>
<Pipeline>
<Command alias="bndm" >./astringology2 -a backwardNondeterministicDAWGMatching -s $1 -p $2</Command>
</Pipeline>
<Pipeline>
<Command alias="bdm" >./astringology2 -a backwardDAWGMatching -s $1 -p $2</Command>
</Pipeline>
<Pipeline>
<Command alias="bom" >./astringology2 -a backwardOracleMatching -s $1 -p $2</Command>
</Pipeline>
</Pipelines>
</MeasurementProvisioner>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment