1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
#ifndef _EnumParser_h_
#define _EnumParser_h_
#include "Lexer.h"
#include "ParseImpl.h"
#include "../universe/ValueRef.h"
#include "../universe/EnumsFwd.h"
#include <boost/spirit/include/qi.hpp>
struct UnlockableItem;
namespace parse {
struct empire_affiliation_enum_grammar : public detail::enum_grammar<EmpireAffiliationType> {
empire_affiliation_enum_grammar(const parse::lexer& tok);
detail::enum_rule<EmpireAffiliationType> rule;
};
struct unlockable_item_enum_grammar : public detail::enum_grammar<UnlockableItemType> {
unlockable_item_enum_grammar(const parse::lexer& tok);
detail::enum_rule<UnlockableItemType> rule;
};
struct give_empire_unlockable_item_enum_grammar : public detail::enum_grammar<UnlockableItemType> {
give_empire_unlockable_item_enum_grammar(const parse::lexer& tok);
detail::enum_rule<UnlockableItemType> rule;
};
struct ship_slot_enum_grammar : public detail::enum_grammar<ShipSlotType> {
ship_slot_enum_grammar(const parse::lexer& tok);
detail::enum_rule<ShipSlotType> rule;
};
struct ship_part_class_enum_grammar : public detail::enum_grammar<ShipPartClass> {
ship_part_class_enum_grammar(const parse::lexer& tok);
detail::enum_rule<ShipPartClass> rule;
};
struct capture_result_enum_grammar : public detail::enum_grammar<CaptureResult> {
capture_result_enum_grammar(const parse::lexer& tok);
detail::enum_rule<CaptureResult> rule;
};
struct statistic_enum_grammar : public detail::enum_grammar<ValueRef::StatisticType> {
statistic_enum_grammar(const parse::lexer& tok);
detail::enum_rule<ValueRef::StatisticType> rule;
};
struct resource_type_grammar : public detail::enum_grammar<ResourceType> {
resource_type_grammar(const parse::lexer& tok);
detail::enum_rule<ResourceType> rule;
};
struct non_ship_part_meter_enum_grammar : public detail::enum_grammar<MeterType> {
non_ship_part_meter_enum_grammar(const parse::lexer& tok);
detail::enum_rule<MeterType> rule;
};
struct ship_part_meter_enum_grammar : public detail::enum_grammar<MeterType> {
ship_part_meter_enum_grammar(const parse::lexer& tok);
detail::enum_rule<MeterType> rule;
};
struct set_non_ship_part_meter_enum_grammar : public detail::enum_grammar<MeterType> {
set_non_ship_part_meter_enum_grammar(const parse::lexer& tok);
detail::enum_rule<MeterType> rule;
};
struct set_ship_part_meter_enum_grammar : public detail::enum_grammar<MeterType> {
set_ship_part_meter_enum_grammar(const parse::lexer& tok);
detail::enum_rule<MeterType> rule;
};
namespace detail {
using unlockable_item_rule_type = rule<UnlockableItem ()>;
using unlockable_item_grammar_type = grammar<UnlockableItem ()>;
struct unlockable_item_grammar : public unlockable_item_grammar_type {
unlockable_item_grammar(const parse::lexer& tok, Labeller& label);
parse::unlockable_item_enum_grammar unlockable_item_type_enum;
unlockable_item_rule_type start;
};
}
}
#endif
|