diff --git a/CMakeLists.txt b/CMakeLists.txt index 6d5df836..c987a9da 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,5 +14,5 @@ if(Boost_FOUND) add_executable(langkit_test langkit/main.cpp langkit/langkit_lexer.cpp langkit/langkit_parser.cpp) target_link_libraries(langkit_test ${Boost_LIBRARIES}) - add_executable(boxedcpp_test boxedcpp/test.cpp) + #add_executable(boxedcpp_test boxedcpp/test.cpp) endif() diff --git a/langkit/langkit_parser.cpp b/langkit/langkit_parser.cpp index 5ddffa43..bfd3ced0 100644 --- a/langkit/langkit_parser.cpp +++ b/langkit/langkit_parser.cpp @@ -45,24 +45,22 @@ std::pair Or_Rule(Token_Iterator iter, Token_Iterator return std::pair(iter, *iter); } -/* -std::pair And_Rule(Token_Iterator iter, Token_Iterator end, const Rule &lhs, const Rule &rhs) { +std::pair And_Rule(Token_Iterator iter, Token_Iterator end, const Rule &lhs, const Rule &rhs) { Token_Iterator lhs_iter, rhs_iter; if (iter != end) { - lhs_iter = lhs.rule(iter, end); + lhs_iter = lhs.rule(iter, end).first; if (lhs_iter != iter) { - rhs_iter = rhs.rule(iter, end); + rhs_iter = rhs.rule(iter, end).first; if (rhs_iter != iter) { - return std::pair(rhs_iter, *iter); + return std::pair(rhs_iter, *iter); } } } - return std::pair(iter, *iter); + return std::pair(iter, *iter); } -*/ std::pair Rule::operator()(Token_Iterator iter, Token_Iterator end) { return this->rule(iter, end); diff --git a/langkit/langkit_parser.hpp b/langkit/langkit_parser.hpp index 9539638f..454b7d0a 100644 --- a/langkit/langkit_parser.hpp +++ b/langkit/langkit_parser.hpp @@ -23,7 +23,7 @@ struct Rule { std::pair String_Rule(Token_Iterator iter, Token_Iterator end, const std::string &val); std::pair Type_Rule(Token_Iterator iter, Token_Iterator end, const int val); std::pair Or_Rule(Token_Iterator iter, Token_Iterator end, const Rule &lhs, const Rule &rhs); - +std::pair And_Rule(Token_Iterator iter, Token_Iterator end, const Rule &lhs, const Rule &rhs); #endif /* LANGKIT_PARSER_HPP_ */