From 86da8139bfb4cb83c5a9bf452acf0699d0eb4a16 Mon Sep 17 00:00:00 2001 From: WrinklyNinja Date: Wed, 24 Jul 2013 19:25:56 +0100 Subject: [PATCH] Issue #28 work. Legacy parser now converted and compiles, untested. --- src/backend/legacy-parser.h | 362 +++++++++++++++++++----------------- 1 file changed, 190 insertions(+), 172 deletions(-) diff --git a/src/backend/legacy-parser.h b/src/backend/legacy-parser.h index e1dbbb2b..78efd0b6 100644 --- a/src/backend/legacy-parser.h +++ b/src/backend/legacy-parser.h @@ -1,25 +1,25 @@ /* BOSS - - A "one-click" program for users that quickly optimises and avoids - detrimental conflicts in their TES IV: Oblivion, Nehrim - At Fate's Edge, + + A "one-click" program for users that quickly optimises and avoids + detrimental conflicts in their TES IV: Oblivion, Nehrim - At Fate's Edge, TES V: Skyrim, Fallout 3 and Fallout: New Vegas mod load orders. Copyright (C) 2009-2012 BOSS Development Team. This file is part of BOSS. - BOSS is free software: you can redistribute - it and/or modify it under the terms of the GNU General Public License - as published by the Free Software Foundation, either version 3 of + BOSS is free software: you can redistribute + it and/or modify it under the terms of the GNU General Public License + as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - BOSS is distributed in the hope that it will + BOSS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with BOSS. If not, see + along with BOSS. If not, see . $Revision: 2188 $, $Date: 2011-01-20 10:05:16 +0000 (Thu, 20 Jan 2011) $ @@ -29,7 +29,7 @@ #define __BOSS_GRAMMAR_H__ #ifndef BOOST_SPIRIT_UNICODE -#define BOOST_SPIRIT_UNICODE +#define BOOST_SPIRIT_UNICODE #endif #include "metadata.h" @@ -52,49 +52,20 @@ #include namespace boss { - namespace fs = boost::filesystem; namespace qi = boost::spirit::qi; namespace unicode = boost::spirit::unicode; namespace phoenix = boost::phoenix; - using namespace qi::labels; - using boost::algorithm::to_lower_copy; - - using qi::skip; - using qi::eol; - using qi::eoi; - using qi::lexeme; - using qi::on_error; - using qi::fail; - using qi::lit; - using qi::omit; - using qi::eps; - using qi::hex; - using qi::bool_; - using qi::uint_; - - using unicode::char_; - using unicode::no_case; - using unicode::space; - using unicode::xdigit; - - using namespace std; - - using qi::grammar; - using boost::spirit::info; - - //typedef boost::u8_to_u32_iterator iterator_type; - //typedef iterator_type grammarIter; - typedef string::const_iterator grammarIter; /////////////////////////////// // Keyword structures /////////////////////////////// - + struct masterlistMsgKey_ : qi::symbols { - masterlistMsgKey_::masterlistMsgKey_() { + masterlistMsgKey_() { add //New Message keywords. ("say",g_message_say) + ("tag",g_message_tag) ("req",g_message_say) ("inc", g_message_say) ("dirty",g_message_warn) @@ -105,46 +76,45 @@ namespace boss { }; - /////////////////////////////// //Skipper Grammar /////////////////////////////// - - //Skipper for userlist, modlist and ini parsers. -