Skip to content
Snippets Groups Projects
Commit 3e8a7658 authored by Jan Trávníček's avatar Jan Trávníček
Browse files

rethrow parsed exception in abstraction

parent f7a58637
No related branches found
No related tags found
No related merge requests found
Showing
with 35 additions and 6 deletions
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
#include <lexer/Lexer.h> #include <lexer/Lexer.h>
#include <parser/Parser.h> #include <parser/Parser.h>
   
#include <factory/XmlDataFactory.hpp>
int main ( int argc, char * argv[] ) { int main ( int argc, char * argv[] ) {
try { try {
common::GlobalData::argc = argc; common::GlobalData::argc = argc;
......
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
#include <lexer/Lexer.h> #include <lexer/Lexer.h>
#include <parser/Parser.h> #include <parser/Parser.h>
   
#include <factory/XmlDataFactory.hpp>
// ----------------------------------------------------------------------------------------- // -----------------------------------------------------------------------------------------
   
int main(int argc, char** argv) { int main(int argc, char** argv) {
......
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
#include <lexer/Lexer.h> #include <lexer/Lexer.h>
#include <parser/Parser.h> #include <parser/Parser.h>
   
#include <factory/XmlDataFactory.hpp>
int main(int argc, char** argv) { int main(int argc, char** argv) {
try { try {
common::GlobalData::argc = argc; common::GlobalData::argc = argc;
......
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
#include <lexer/Lexer.h> #include <lexer/Lexer.h>
#include <parser/Parser.h> #include <parser/Parser.h>
   
#include <factory/XmlDataFactory.hpp>
#include "ConversionHandler.h" #include "ConversionHandler.h"
   
int main ( int argc, char * argv[] ) { int main ( int argc, char * argv[] ) {
......
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
#include <lexer/Lexer.h> #include <lexer/Lexer.h>
#include <parser/Parser.h> #include <parser/Parser.h>
   
#include <factory/XmlDataFactory.hpp>
int main(int argc, char** argv) { int main(int argc, char** argv) {
try { try {
common::GlobalData::argc = argc; common::GlobalData::argc = argc;
......
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
#include <lexer/Lexer.h> #include <lexer/Lexer.h>
#include <parser/Parser.h> #include <parser/Parser.h>
   
#include <factory/XmlDataFactory.hpp>
int main ( int argc, char * * argv ) { int main ( int argc, char * * argv ) {
try { try {
common::GlobalData::argc = argc; common::GlobalData::argc = argc;
......
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
#include <lexer/Lexer.h> #include <lexer/Lexer.h>
#include <parser/Parser.h> #include <parser/Parser.h>
   
#include <factory/XmlDataFactory.hpp>
int main(int argc, char** argv) { int main(int argc, char** argv) {
try { try {
common::GlobalData::argc = argc; common::GlobalData::argc = argc;
......
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
#include <lexer/Lexer.h> #include <lexer/Lexer.h>
#include <parser/Parser.h> #include <parser/Parser.h>
   
#include <factory/XmlDataFactory.hpp>
int main(int argc, char** argv) { int main(int argc, char** argv) {
try { try {
common::GlobalData::argc = argc; common::GlobalData::argc = argc;
......
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
#include <lexer/Lexer.h> #include <lexer/Lexer.h>
#include <parser/Parser.h> #include <parser/Parser.h>
   
#include <factory/XmlDataFactory.hpp>
int main ( int argc, char * argv[] ) { int main ( int argc, char * argv[] ) {
try { try {
common::GlobalData::argc = argc; common::GlobalData::argc = argc;
......
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
#include <lexer/Lexer.h> #include <lexer/Lexer.h>
#include <parser/Parser.h> #include <parser/Parser.h>
   
#include <factory/XmlDataFactory.hpp>
int main(int argc, char** argv) { int main(int argc, char** argv) {
try { try {
common::GlobalData::argc = argc; common::GlobalData::argc = argc;
......
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
#include <lexer/Lexer.h> #include <lexer/Lexer.h>
#include <parser/Parser.h> #include <parser/Parser.h>
   
#include <factory/XmlDataFactory.hpp>
int main(int argc, char* argv[]) { int main(int argc, char* argv[]) {
try { try {
common::GlobalData::argc = argc; common::GlobalData::argc = argc;
......
...@@ -16,7 +16,9 @@ public: ...@@ -16,7 +16,9 @@ public:
virtual std::shared_ptr < abstraction::OperationAbstraction > translateAndEval ( const std::shared_ptr < abstraction::OperationAbstraction > &, Environment & environment ) const override { 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 ) ); ext::deque < sax::Token > tokens = sax::FromXMLParserHelper::parseInput ( m_arg->eval ( environment ) );
std::string type = tokens [ 0 ].getData ( ); 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;
} }
}; };
   
......
...@@ -18,7 +18,9 @@ std::shared_ptr < abstraction::OperationAbstraction > FileStatement::translateAn ...@@ -18,7 +18,9 @@ std::shared_ptr < abstraction::OperationAbstraction > FileStatement::translateAn
if ( type == "" ) if ( type == "" )
type = tokens [ 0 ].getData ( ); 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 */ } /* namespace cli */
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include <memory> #include <memory>
#include <string> #include <string>
#include <set> #include <set>
#include <map>
   
#include <exception/CommonException.h> #include <exception/CommonException.h>
#include <abstraction/OperationAbstraction.hpp> #include <abstraction/OperationAbstraction.hpp>
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
   
#include <memory> #include <memory>
#include <string> #include <string>
#include <map>
   
#include <exception/CommonException.h> #include <exception/CommonException.h>
#include <abstraction/OperationAbstraction.hpp> #include <abstraction/OperationAbstraction.hpp>
......
...@@ -8,10 +8,9 @@ ...@@ -8,10 +8,9 @@
#ifndef _IMMEDIATE_REGISTRY_HPP_ #ifndef _IMMEDIATE_REGISTRY_HPP_
#define _IMMEDIATE_REGISTRY_HPP_ #define _IMMEDIATE_REGISTRY_HPP_
   
#include <factory/XmlDataFactory.hpp>
#include <memory> #include <memory>
#include <string> #include <string>
#include <map>
   
#include <exception/CommonException.h> #include <exception/CommonException.h>
#include <abstraction/OperationAbstraction.hpp> #include <abstraction/OperationAbstraction.hpp>
...@@ -43,7 +42,7 @@ public: ...@@ -43,7 +42,7 @@ public:
template < class ResultType > template < class ResultType >
static void registerImmediate ( std::string result ) { static void registerImmediate ( std::string result ) {
if ( ! getEntries ( ).insert ( std::make_pair ( result, std::unique_ptr < Entry > ( new EntryImpl < ResultType > ( ) ) ) ).second ) 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 > template < class ResultType >
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
   
#include <memory> #include <memory>
#include <string> #include <string>
#include <map>
   
#include <exception/CommonException.h> #include <exception/CommonException.h>
#include <abstraction/OperationAbstraction.hpp> #include <abstraction/OperationAbstraction.hpp>
......
...@@ -14,7 +14,6 @@ ...@@ -14,7 +14,6 @@
#include <functional> #include <functional>
   
#include <exception/CommonException.h> #include <exception/CommonException.h>
#include <factory/XmlDataFactory.hpp>
   
namespace abstraction { namespace abstraction {
   
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
   
#include <memory> #include <memory>
#include <string> #include <string>
#include <map>
   
#include <exception/CommonException.h> #include <exception/CommonException.h>
#include <abstraction/OperationAbstraction.hpp> #include <abstraction/OperationAbstraction.hpp>
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
   
#include <abstraction/UnaryOperationAbstraction.hpp> #include <abstraction/UnaryOperationAbstraction.hpp>
#include <tuple> #include <tuple>
#include <factory/XmlDataFactory.hpp>
   
namespace abstraction { namespace abstraction {
   
......
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