diff --git a/aarbology2/src/aarbology.cpp b/aarbology2/src/aarbology.cpp index 40f838d0a98051b9aa4d7c7cc9af6394cbb62265..7116a1a1db271c9be135f7cc55e0fe0aef500480 100644 --- a/aarbology2/src/aarbology.cpp +++ b/aarbology2/src/aarbology.cpp @@ -13,6 +13,8 @@ #include <lexer/Lexer.h> #include <parser/Parser.h> +#include <factory/XmlDataFactory.hpp> + int main ( int argc, char * argv[] ) { try { common::GlobalData::argc = argc; diff --git a/acast2/src/acast.cpp b/acast2/src/acast.cpp index 357c92b93a921044d1ddc60aac1025da7b3b2496..c680c3807925f10ef3a7b016cb6f7c3244df0437 100644 --- a/acast2/src/acast.cpp +++ b/acast2/src/acast.cpp @@ -13,6 +13,8 @@ #include <lexer/Lexer.h> #include <parser/Parser.h> +#include <factory/XmlDataFactory.hpp> + // ----------------------------------------------------------------------------------------- int main(int argc, char** argv) { diff --git a/acompaction2/src/acompaction.cpp b/acompaction2/src/acompaction.cpp index a6b397d5756c1c64911bcf862e281e91c79c15dd..7988e0e8419a376da7a531d25f9f5756e0843575 100644 --- a/acompaction2/src/acompaction.cpp +++ b/acompaction2/src/acompaction.cpp @@ -13,6 +13,8 @@ #include <lexer/Lexer.h> #include <parser/Parser.h> +#include <factory/XmlDataFactory.hpp> + int main(int argc, char** argv) { try { common::GlobalData::argc = argc; diff --git a/aconversions2/src/aconversion.cpp b/aconversions2/src/aconversion.cpp index ddf86ad29660e4a4898c002d7c08b280e478c69e..ae63ccebd3f2d36b37fd8e839a26c46914e4f345 100644 --- a/aconversions2/src/aconversion.cpp +++ b/aconversions2/src/aconversion.cpp @@ -13,6 +13,8 @@ #include <lexer/Lexer.h> #include <parser/Parser.h> +#include <factory/XmlDataFactory.hpp> + #include "ConversionHandler.h" int main ( int argc, char * argv[] ) { diff --git a/aderivation2/src/aderivation.cpp b/aderivation2/src/aderivation.cpp index b6dd82e440c966f6be40440353896c30856c8f2b..658e249cdc7fdb255a0e1e49638759acd42489b5 100644 --- a/aderivation2/src/aderivation.cpp +++ b/aderivation2/src/aderivation.cpp @@ -13,6 +13,8 @@ #include <lexer/Lexer.h> #include <parser/Parser.h> +#include <factory/XmlDataFactory.hpp> + int main(int argc, char** argv) { try { common::GlobalData::argc = argc; diff --git a/adeterminize2/src/adeterminize.cpp b/adeterminize2/src/adeterminize.cpp index d03e68036754c2e37c65f0fd4b873d5be7ac0458..aa2be2e2b45d5b522ff0005259d2be3719495616 100644 --- a/adeterminize2/src/adeterminize.cpp +++ b/adeterminize2/src/adeterminize.cpp @@ -13,6 +13,8 @@ #include <lexer/Lexer.h> #include <parser/Parser.h> +#include <factory/XmlDataFactory.hpp> + int main ( int argc, char * * argv ) { try { common::GlobalData::argc = argc; diff --git a/aecho2/src/aecho.cpp b/aecho2/src/aecho.cpp index 935b7a3e8e554e975a1c9b1bb1e1f3999183645b..2acb4b3520efdffc83c572bfec503cdeb06ba15f 100644 --- a/aecho2/src/aecho.cpp +++ b/aecho2/src/aecho.cpp @@ -13,6 +13,8 @@ #include <lexer/Lexer.h> #include <parser/Parser.h> +#include <factory/XmlDataFactory.hpp> + int main(int argc, char** argv) { try { common::GlobalData::argc = argc; diff --git a/aepsilon2/src/aepsilon.cpp b/aepsilon2/src/aepsilon.cpp index bafcd33ce9f7b66c57fd779fba90825781bc8ffd..6757f8c1b0606f0c826e9c91b20714f75e5ca1b7 100644 --- a/aepsilon2/src/aepsilon.cpp +++ b/aepsilon2/src/aepsilon.cpp @@ -13,6 +13,8 @@ #include <lexer/Lexer.h> #include <parser/Parser.h> +#include <factory/XmlDataFactory.hpp> + int main(int argc, char** argv) { try { common::GlobalData::argc = argc; diff --git a/agenerate2/src/agenerate.cpp b/agenerate2/src/agenerate.cpp index d0e8271b9cd1e4fda68ffe1742eea1cc0fc3428e..633a890458332b91ddf5b7fa4dbe579c659fbf5a 100644 --- a/agenerate2/src/agenerate.cpp +++ b/agenerate2/src/agenerate.cpp @@ -13,6 +13,8 @@ #include <lexer/Lexer.h> #include <parser/Parser.h> +#include <factory/XmlDataFactory.hpp> + int main ( int argc, char * argv[] ) { try { common::GlobalData::argc = argc; diff --git a/aintegral2/src/aintegral.cpp b/aintegral2/src/aintegral.cpp index fae81777ecf3a8e7ce1bb545b77ec04d1b2030af..bda22e659fa59cf27b25f96dbdbf126572ad03ed 100644 --- a/aintegral2/src/aintegral.cpp +++ b/aintegral2/src/aintegral.cpp @@ -13,6 +13,8 @@ #include <lexer/Lexer.h> #include <parser/Parser.h> +#include <factory/XmlDataFactory.hpp> + int main(int argc, char** argv) { try { common::GlobalData::argc = argc; diff --git a/alangop2/src/alangop.cpp b/alangop2/src/alangop.cpp index a60085a6e407b7900380e6db5509217aa4bf2d15..ad6f226ae6239a0a19f919e9dbcbabf11fec176c 100644 --- a/alangop2/src/alangop.cpp +++ b/alangop2/src/alangop.cpp @@ -13,6 +13,8 @@ #include <lexer/Lexer.h> #include <parser/Parser.h> +#include <factory/XmlDataFactory.hpp> + int main(int argc, char* argv[]) { try { common::GlobalData::argc = argc; diff --git a/alib2cli/src/ast/params/FileParam.h b/alib2cli/src/ast/params/FileParam.h index 4c50a5e387941533682d30197669866e130c0a30..4a83ee066c073254e49a7aec35cfdccb4e2ffb26 100644 --- a/alib2cli/src/ast/params/FileParam.h +++ b/alib2cli/src/ast/params/FileParam.h @@ -16,7 +16,9 @@ public: virtual std::shared_ptr < abstraction::OperationAbstraction > translateAndEval ( const std::shared_ptr < abstraction::OperationAbstraction > &, Environment & environment ) const override { ext::deque < sax::Token > tokens = sax::FromXMLParserHelper::parseInput ( m_arg->eval ( environment ) ); std::string type = tokens [ 0 ].getData ( ); - return abstraction::Registry::getXmlParserAbstraction ( type, tokens ); + std::shared_ptr < abstraction::OperationAbstraction > res = abstraction::Registry::getXmlParserAbstraction ( type, tokens ); + res->eval ( ); + return res; } }; diff --git a/alib2cli/src/ast/statements/FileStatement.cpp b/alib2cli/src/ast/statements/FileStatement.cpp index 98a0ad940d18370dcebd53977bac4e8edcd782a0..15920e32ee0928ead1bd10082593652c7ec87a16 100644 --- a/alib2cli/src/ast/statements/FileStatement.cpp +++ b/alib2cli/src/ast/statements/FileStatement.cpp @@ -18,7 +18,9 @@ std::shared_ptr < abstraction::OperationAbstraction > FileStatement::translateAn if ( type == "" ) type = tokens [ 0 ].getData ( ); - return abstraction::Registry::getXmlParserAbstraction ( type, tokens ); + std::shared_ptr < abstraction::OperationAbstraction > res = abstraction::Registry::getXmlParserAbstraction ( type, std::move ( tokens ) ); + res->eval ( ); + return res; } } /* namespace cli */ diff --git a/alib2common/src/abstraction/CastRegistry.hpp b/alib2common/src/abstraction/CastRegistry.hpp index b685188769f823959a99a2f21253dd0909d4727f..ab4b03720b866b783e518eb511251325a6b2ae04 100644 --- a/alib2common/src/abstraction/CastRegistry.hpp +++ b/alib2common/src/abstraction/CastRegistry.hpp @@ -11,6 +11,7 @@ #include <memory> #include <string> #include <set> +#include <map> #include <exception/CommonException.h> #include <abstraction/OperationAbstraction.hpp> diff --git a/alib2common/src/abstraction/DowncastRegistry.hpp b/alib2common/src/abstraction/DowncastRegistry.hpp index 331f477e699a5a25063e343fd28991820290bfaa..a073e5788aad07655134f141c622345834eeeefb 100644 --- a/alib2common/src/abstraction/DowncastRegistry.hpp +++ b/alib2common/src/abstraction/DowncastRegistry.hpp @@ -10,6 +10,7 @@ #include <memory> #include <string> +#include <map> #include <exception/CommonException.h> #include <abstraction/OperationAbstraction.hpp> diff --git a/alib2common/src/abstraction/ImmediateRegistry.hpp b/alib2common/src/abstraction/ImmediateRegistry.hpp index 369995e00170859c4a54a23afd92355eabe736d1..a4e1d273fc4597d7e929c39994c48ed64dc1015c 100644 --- a/alib2common/src/abstraction/ImmediateRegistry.hpp +++ b/alib2common/src/abstraction/ImmediateRegistry.hpp @@ -8,10 +8,9 @@ #ifndef _IMMEDIATE_REGISTRY_HPP_ #define _IMMEDIATE_REGISTRY_HPP_ -#include <factory/XmlDataFactory.hpp> - #include <memory> #include <string> +#include <map> #include <exception/CommonException.h> #include <abstraction/OperationAbstraction.hpp> @@ -43,7 +42,7 @@ public: template < class ResultType > static void registerImmediate ( std::string result ) { if ( ! getEntries ( ).insert ( std::make_pair ( result, std::unique_ptr < Entry > ( new EntryImpl < ResultType > ( ) ) ) ).second ) - throw ::exception::CommonException ( "Entry " + result + " already registered." ); + throw exception::CommonException ( "Entry " + result + " already registered." ); } template < class ResultType > diff --git a/alib2common/src/abstraction/NormalizeRegistry.hpp b/alib2common/src/abstraction/NormalizeRegistry.hpp index a5791d6d000991d4bcf78a1b0cc2644eda553be9..fc5e768ff835318641d2cec761c1d119f5800334 100644 --- a/alib2common/src/abstraction/NormalizeRegistry.hpp +++ b/alib2common/src/abstraction/NormalizeRegistry.hpp @@ -10,6 +10,7 @@ #include <memory> #include <string> +#include <map> #include <exception/CommonException.h> #include <abstraction/OperationAbstraction.hpp> diff --git a/alib2common/src/abstraction/OperationAbstraction.hpp b/alib2common/src/abstraction/OperationAbstraction.hpp index 258d42e38feabecefbe9a066cc1fa625a33896fb..d37e9f12b2dc0ab14c2d2c6bfed83493b372bc5b 100644 --- a/alib2common/src/abstraction/OperationAbstraction.hpp +++ b/alib2common/src/abstraction/OperationAbstraction.hpp @@ -14,7 +14,6 @@ #include <functional> #include <exception/CommonException.h> -#include <factory/XmlDataFactory.hpp> namespace abstraction { diff --git a/alib2common/src/abstraction/ValuePrinterRegistry.hpp b/alib2common/src/abstraction/ValuePrinterRegistry.hpp index 8d797d1ec74337ec0386f11ec4315fe6e226e0a6..d3851708e77fc9d59cb5d9191f0adeafd981daf7 100644 --- a/alib2common/src/abstraction/ValuePrinterRegistry.hpp +++ b/alib2common/src/abstraction/ValuePrinterRegistry.hpp @@ -10,6 +10,7 @@ #include <memory> #include <string> +#include <map> #include <exception/CommonException.h> #include <abstraction/OperationAbstraction.hpp> diff --git a/alib2common/src/abstraction/XmlComposerAbstraction.hpp b/alib2common/src/abstraction/XmlComposerAbstraction.hpp index da4003dbccf15281d4369fa7f03302f5562fa988..d3cd659e2d01d9ceb78212704c038cb645c49ea2 100644 --- a/alib2common/src/abstraction/XmlComposerAbstraction.hpp +++ b/alib2common/src/abstraction/XmlComposerAbstraction.hpp @@ -10,6 +10,7 @@ #include <abstraction/UnaryOperationAbstraction.hpp> #include <tuple> +#include <factory/XmlDataFactory.hpp> namespace abstraction { diff --git a/alib2common/src/abstraction/XmlComposerRegistry.hpp b/alib2common/src/abstraction/XmlComposerRegistry.hpp index 7b85af772d2413b73d653baf1db6cb8b0cced7e6..89b4ed56d5fe14150c24d20ef80e22761ef43cdc 100644 --- a/alib2common/src/abstraction/XmlComposerRegistry.hpp +++ b/alib2common/src/abstraction/XmlComposerRegistry.hpp @@ -11,6 +11,7 @@ #include <memory> #include <string> #include <set> +#include <map> #include <exception/CommonException.h> #include <abstraction/OperationAbstraction.hpp> diff --git a/alib2common/src/abstraction/XmlFileWriterAbstraction.hpp b/alib2common/src/abstraction/XmlFileWriterAbstraction.hpp index c4283495b8389c9452c33cf2496fe1fc5d36db30..07a4f47f9a43595a4c71d55a762dbb914f6557ef 100644 --- a/alib2common/src/abstraction/XmlFileWriterAbstraction.hpp +++ b/alib2common/src/abstraction/XmlFileWriterAbstraction.hpp @@ -10,6 +10,7 @@ #include <abstraction/UnaryOperationAbstraction.hpp> #include <tuple> +#include <factory/XmlDataFactory.hpp> namespace abstraction { diff --git a/alib2common/src/abstraction/XmlFileWriterRegistry.hpp b/alib2common/src/abstraction/XmlFileWriterRegistry.hpp index bca003992ab765d5e867c41609c6a865963126d1..3bf2a054069c02f8d572378fde059f5d4308f49e 100644 --- a/alib2common/src/abstraction/XmlFileWriterRegistry.hpp +++ b/alib2common/src/abstraction/XmlFileWriterRegistry.hpp @@ -11,6 +11,7 @@ #include <memory> #include <string> #include <set> +#include <map> #include <exception/CommonException.h> #include <abstraction/OperationAbstraction.hpp> diff --git a/alib2common/src/abstraction/XmlParserAbstraction.hpp b/alib2common/src/abstraction/XmlParserAbstraction.hpp index 5011921ef84a5519f35d57468ebf7f86e4949a4b..90db4e526398542aa28003461f28abaea8345367 100644 --- a/alib2common/src/abstraction/XmlParserAbstraction.hpp +++ b/alib2common/src/abstraction/XmlParserAbstraction.hpp @@ -10,6 +10,8 @@ #include <abstraction/NullaryOperationAbstraction.hpp> #include <tuple> +#include <exception/CommonException.h> +#include <factory/XmlDataFactory.hpp> namespace abstraction { @@ -31,6 +33,12 @@ public: } }; +template < > +inline bool XmlParserAbstraction < exception::CommonException >::run ( ) { + exception::CommonException ex = alib::XmlDataFactory::fromTokens ( std::move ( m_tokens ) ); + throw ex; +} + } /* namespace abstraction */ #endif /* _XML_PARSER_ABSTRACTION_HPP_ */ diff --git a/alib2common/src/abstraction/XmlParserRegistry.hpp b/alib2common/src/abstraction/XmlParserRegistry.hpp index eef86abb62647fd8f3e7775df2feb8f24d815745..cce9aaf60bf02bd10dd7c488163fb7d5d19e5a74 100644 --- a/alib2common/src/abstraction/XmlParserRegistry.hpp +++ b/alib2common/src/abstraction/XmlParserRegistry.hpp @@ -10,9 +10,11 @@ #include <memory> #include <string> +#include <map> #include <exception/CommonException.h> #include <abstraction/OperationAbstraction.hpp> +#include <factory/XmlDataFactory.hpp> namespace abstraction { diff --git a/aminimize2/src/aminimize.cpp b/aminimize2/src/aminimize.cpp index f9686bfce8977bd1e53c5d189c2728f38d8f4942..80994a095edce7a6960fc84b48fbad9b3456003f 100644 --- a/aminimize2/src/aminimize.cpp +++ b/aminimize2/src/aminimize.cpp @@ -13,6 +13,8 @@ #include <lexer/Lexer.h> #include <parser/Parser.h> +#include <factory/XmlDataFactory.hpp> + int main(int argc, char** argv) { try { common::GlobalData::argc = argc; diff --git a/anormalize2/src/anormalize.cpp b/anormalize2/src/anormalize.cpp index 2afa35add081377d2c1876a1ecc429d7a231e520..f340f745c2bee91ab47dc9b7e9b7ca6740a81319 100644 --- a/anormalize2/src/anormalize.cpp +++ b/anormalize2/src/anormalize.cpp @@ -13,6 +13,8 @@ #include <lexer/Lexer.h> #include <parser/Parser.h> +#include <factory/XmlDataFactory.hpp> + int main ( int argc, char * * argv ) { try { common::GlobalData::argc = argc; diff --git a/aql2/src/aql.cpp b/aql2/src/aql.cpp index c5de390dc37620e1e5f1cdf42b43b4c400a413cf..1b7403027fdab4a6bb74faacfcf0e4feb053e7ee 100644 --- a/aql2/src/aql.cpp +++ b/aql2/src/aql.cpp @@ -34,6 +34,8 @@ std::istream& operator>> ( std::istream & in, std::pair < T, U > & value ) { #include "prompt/Prompt.h" +#include <factory/XmlDataFactory.hpp> + namespace TCLAP { template < class T, class U > diff --git a/aql2/src/prompt/Prompt.cpp b/aql2/src/prompt/Prompt.cpp index 144bdfc8323e9673230f85029f5480d1bccb41fc..5a4507b9bad0751264f728f99518b02e66e49053 100644 --- a/aql2/src/prompt/Prompt.cpp +++ b/aql2/src/prompt/Prompt.cpp @@ -17,6 +17,8 @@ #include <lexer/Lexer.h> #include <parser/Parser.h> +#include <factory/XmlDataFactory.hpp> + char * Prompt::stripwhite ( char * begin ) { while ( isspace ( * begin ) ) ++ begin; diff --git a/aquery2/src/aquery.cpp b/aquery2/src/aquery.cpp index 5dec9ad18a061ec239e388c809d4edd32608c644..ca1733ebfd7aa4b9aa3188c633d0e82fa3fb9b11 100644 --- a/aquery2/src/aquery.cpp +++ b/aquery2/src/aquery.cpp @@ -13,6 +13,8 @@ #include <lexer/Lexer.h> #include <parser/Parser.h> +#include <factory/XmlDataFactory.hpp> + int main ( int argc, char * argv[] ) { try { common::GlobalData::argc = argc; diff --git a/arand2/src/arand.cpp b/arand2/src/arand.cpp index 039b02d4432e171d35ea8e0af251ec278005e359..810466a114476adc4984b6bf46b6e4b6af96b947 100644 --- a/arand2/src/arand.cpp +++ b/arand2/src/arand.cpp @@ -14,6 +14,8 @@ #include <lexer/Lexer.h> #include <parser/Parser.h> +#include <factory/XmlDataFactory.hpp> + int main ( int argc, char * argv[] ) { try { common::GlobalData::argc = argc; diff --git a/arename2/src/arename.cpp b/arename2/src/arename.cpp index 18384e979d22c8ac3d447541d8635bb2cfc9ce8d..29da8c7f1d01a825331fd6dad8b8ce0d7bf62f2f 100644 --- a/arename2/src/arename.cpp +++ b/arename2/src/arename.cpp @@ -13,6 +13,8 @@ #include <lexer/Lexer.h> #include <parser/Parser.h> +#include <factory/XmlDataFactory.hpp> + int main ( int argc, char * * argv ) { try { common::GlobalData::argc = argc; diff --git a/areverse2/src/areverse.cpp b/areverse2/src/areverse.cpp index d2f39fe7c55fca2f17642bb449aff542a6d1987b..9d3249e0ac750c517652758afc9757932cdf3016 100644 --- a/areverse2/src/areverse.cpp +++ b/areverse2/src/areverse.cpp @@ -13,6 +13,8 @@ #include <lexer/Lexer.h> #include <parser/Parser.h> +#include <factory/XmlDataFactory.hpp> + int main(int argc, char** argv) { try { common::GlobalData::argc = argc; diff --git a/arun2/src/arun.cpp b/arun2/src/arun.cpp index 2b2d7f24be3a9156a6e9e5ae7f4241e78ae6a115..be4785f26027c1da063a4e0f80d975955ea75717 100644 --- a/arun2/src/arun.cpp +++ b/arun2/src/arun.cpp @@ -13,6 +13,8 @@ #include <lexer/Lexer.h> #include <parser/Parser.h> +#include <factory/XmlDataFactory.hpp> + int main(int argc, char* argv[]) { try { common::GlobalData::argc = argc; diff --git a/astringology2/src/astringology.cpp b/astringology2/src/astringology.cpp index 7e9ff82c57574dd1305d00b8bff679335bccf045..4a05c94f1c1edb972c4d6cb7cae11568d920932c 100644 --- a/astringology2/src/astringology.cpp +++ b/astringology2/src/astringology.cpp @@ -13,6 +13,8 @@ #include <lexer/Lexer.h> #include <parser/Parser.h> +#include <factory/XmlDataFactory.hpp> + int main ( int argc, char * argv[] ) { try { common::GlobalData::argc = argc; diff --git a/atrim2/src/atrim.cpp b/atrim2/src/atrim.cpp index 694eb4d140fea65f3afe913dbf1d5e264638449a..29c65c1e20e78c575c51ee0494c395079cf48769 100644 --- a/atrim2/src/atrim.cpp +++ b/atrim2/src/atrim.cpp @@ -13,6 +13,8 @@ #include <lexer/Lexer.h> #include <parser/Parser.h> +#include <factory/XmlDataFactory.hpp> + std::string trimGrammar ( bool del_unreachable, bool del_unproductive ) { if( del_unreachable && del_unproductive ) return "execute grammar::simplify::Trim $input > $output";