]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#3502] Addressed comments
authorFrancis Dupont <fdupont@isc.org>
Wed, 21 Aug 2024 13:12:28 +0000 (15:12 +0200)
committerFrancis Dupont <fdupont@isc.org>
Wed, 21 Aug 2024 13:12:38 +0000 (15:12 +0200)
src/lib/eval/eval_context.h
src/lib/eval/evaluate.h
src/lib/eval/lexer.cc
src/lib/eval/lexer.ll
src/lib/eval/parser.cc
src/lib/eval/parser.yy
src/lib/eval/tests/boolean_unittest.cc
src/lib/eval/tests/context_unittest.cc
src/lib/eval/tests/evaluate_unittest.cc

index 75d2066bca9bb397f7e5d2df106194952b3afb48..9a086e44322aad049fd6ef50f1a39d0f9e70e1d5 100644 (file)
@@ -65,13 +65,13 @@ public:
     static bool acceptAll(const ClientClass& client_class);
 
     /// @brief Parsed expression (output tokens are stored here)
-    isc::dhcp::Expression expression;
+    isc::dhcp::Expression expression_;
 
     /// @brief Label counter.
-    unsigned label;
+    unsigned label_;
 
     /// @brief Label stack.
-    std::vector<unsigned> labels;
+    std::vector<unsigned> labels_;
 
     /// @brief Method called before scanning starts on a string.
     ///
index ea2a0ed72e603f600df4425f9559386069bbce61..c572debbf215c345e90160d90437ea2755b6dd42 100644 (file)
@@ -20,7 +20,7 @@ namespace dhcp {
 /// @param expr   the RPN expression, i.e., a vector of parsed tokens
 /// @param pkt    The v4 or v6 packet
 /// @param values The stack of values
-/// @throw EvalBadLabel if there is a foreard branch to a not found target.
+/// @throw EvalBadLabel if there is a forward branch to a not found target.
 void evaluateRaw(const Expression& expr, Pkt& pkt, ValueStack& values);
 
 /// @brief Evaluate a RPN expression for a v4 or v6 packet and return
@@ -33,7 +33,7 @@ void evaluateRaw(const Expression& expr, Pkt& pkt, ValueStack& values);
 ///        stack at the end of the evaluation
 /// @throw EvalTypeError if the value at the top of the stack at the
 ///        end of the evaluation is not "false" or "true"
-/// @throw EvalBadLabel if there is a foreard branch to a not found target.
+/// @throw EvalBadLabel if there is a forward branch to a not found target.
 bool evaluateBool(const Expression& expr, Pkt& pkt);
 
 
@@ -47,7 +47,7 @@ bool evaluateBool(const Expression& expr, Pkt& pkt);
 ///        stack at the end of the evaluation
 /// @throw EvalTypeError if the value at the top of the stack at the
 ///        end of the evaluation is not "false" or "true"
-/// @throw EvalBadLabel if there is a foreard branch to a not found target.
+/// @throw EvalBadLabel if there is a forward branch to a not found target.
 std::string evaluateString(const Expression& expr, Pkt& pkt);
 
 }; // end of isc::dhcp namespace
index 24a6bfc5a5b692e532283774b34e6fe4f0cb8c93..1c9707c03bfd4e2c3246b3a16444e83ea2c98140 100644 (file)
@@ -3012,7 +3012,7 @@ EvalContext::scanStringBegin(ParserType type)
     start_token_flag = true;
     start_token_value = type;
 
-    label = 0;
+    label_ = 0;
     loc.initialize(&file_);
     eval_flex_debug = trace_scanning_;
     YY_BUFFER_STATE buffer;
index a4292fbd9b98c33575e1442514b485b3b6ef29f5..43c2eadf36a9e6b7fb2dc4deb260696361f2b250 100644 (file)
@@ -257,7 +257,7 @@ EvalContext::scanStringBegin(ParserType type)
     start_token_flag = true;
     start_token_value = type;
 
-    label = 0;
+    label_ = 0;
     loc.initialize(&file_);
     eval_flex_debug = trace_scanning_;
     YY_BUFFER_STATE buffer;
index 2faa1aaedd2ab9ea4a4b8d81cd4a592e0decfb48..d4b5ff8cdb5cfefd42c7cb70cae5dd4bc4f18b40 100644 (file)
@@ -845,7 +845,7 @@ namespace isc { namespace eval {
 #line 155 "parser.yy"
                 {
                     TokenPtr neg(new TokenNot());
-                    ctx.expression.push_back(neg);
+                    ctx.expression_.push_back(neg);
                 }
 #line 851 "parser.cc"
     break;
@@ -853,10 +853,10 @@ namespace isc { namespace eval {
   case 7: // $@1: %empty
 #line 160 "parser.yy"
                 {
-                    unsigned target = ++ctx.label;
-                    ctx.labels.push_back(target);
+                    unsigned target = ++ctx.label_;
+                    ctx.labels_.push_back(target);
                     TokenPtr pobf(new TokenPopOrBranchFalse(target));
-                    ctx.expression.push_back(pobf);
+                    ctx.expression_.push_back(pobf);
                 }
 #line 862 "parser.cc"
     break;
@@ -864,10 +864,10 @@ namespace isc { namespace eval {
   case 8: // bool_expr: bool_expr "and" $@1 bool_expr
 #line 165 "parser.yy"
                             {
-                    unsigned target = ctx.labels.back();
-                    ctx.labels.pop_back();
+                    unsigned target = ctx.labels_.back();
+                    ctx.labels_.pop_back();
                     TokenPtr lab(new TokenLabel(target));
-                    ctx.expression.push_back(lab);
+                    ctx.expression_.push_back(lab);
                 }
 #line 873 "parser.cc"
     break;
@@ -876,7 +876,7 @@ namespace isc { namespace eval {
 #line 172 "parser.yy"
                 {
                     TokenPtr neg(new TokenAnd());
-                    ctx.expression.push_back(neg);
+                    ctx.expression_.push_back(neg);
                 }
 #line 882 "parser.cc"
     break;
@@ -884,10 +884,10 @@ namespace isc { namespace eval {
   case 10: // $@2: %empty
 #line 177 "parser.yy"
                 {
-                    unsigned target = ++ctx.label;
-                    ctx.labels.push_back(target);
+                    unsigned target = ++ctx.label_;
+                    ctx.labels_.push_back(target);
                     TokenPtr pobt(new TokenPopOrBranchTrue(target));
-                    ctx.expression.push_back(pobt);
+                    ctx.expression_.push_back(pobt);
                 }
 #line 893 "parser.cc"
     break;
@@ -895,10 +895,10 @@ namespace isc { namespace eval {
   case 11: // bool_expr: bool_expr "or" $@2 bool_expr
 #line 182 "parser.yy"
                             {
-                    unsigned target = ctx.labels.back();
-                    ctx.labels.pop_back();
+                    unsigned target = ctx.labels_.back();
+                    ctx.labels_.pop_back();
                     TokenPtr lab(new TokenLabel(target));
-                    ctx.expression.push_back(lab);
+                    ctx.expression_.push_back(lab);
                 }
 #line 904 "parser.cc"
     break;
@@ -907,7 +907,7 @@ namespace isc { namespace eval {
 #line 189 "parser.yy"
                 {
                     TokenPtr neg(new TokenOr());
-                    ctx.expression.push_back(neg);
+                    ctx.expression_.push_back(neg);
                 }
 #line 913 "parser.cc"
     break;
@@ -916,7 +916,7 @@ namespace isc { namespace eval {
 #line 194 "parser.yy"
                 {
                     TokenPtr eq(new TokenEqual());
-                    ctx.expression.push_back(eq);
+                    ctx.expression_.push_back(eq);
                 }
 #line 922 "parser.cc"
     break;
@@ -925,7 +925,7 @@ namespace isc { namespace eval {
 #line 199 "parser.yy"
                 {
                     TokenPtr opt(new TokenOption(yystack_[3].value.as < uint16_t > (), TokenOption::EXISTS));
-                    ctx.expression.push_back(opt);
+                    ctx.expression_.push_back(opt);
                 }
 #line 931 "parser.cc"
     break;
@@ -934,7 +934,7 @@ namespace isc { namespace eval {
 #line 204 "parser.yy"
                 {
                     TokenPtr opt(new TokenSubOption(yystack_[8].value.as < uint16_t > (), yystack_[3].value.as < uint16_t > (), TokenOption::EXISTS));
-                    ctx.expression.push_back(opt);
+                    ctx.expression_.push_back(opt);
                 }
 #line 940 "parser.cc"
     break;
@@ -946,7 +946,7 @@ namespace isc { namespace eval {
                    case Option::V4:
                    {
                        TokenPtr opt(new TokenRelay4Option(yystack_[3].value.as < uint16_t > (), TokenOption::EXISTS));
-                       ctx.expression.push_back(opt);
+                       ctx.expression_.push_back(opt);
                        break;
                    }
                    case Option::V6:
@@ -970,7 +970,7 @@ namespace isc { namespace eval {
                     case Option::V6:
                     {
                         TokenPtr opt(new TokenRelay6Option(yystack_[8].value.as < int8_t > (), yystack_[3].value.as < uint16_t > (), TokenOption::EXISTS));
-                        ctx.expression.push_back(opt);
+                        ctx.expression_.push_back(opt);
                         break;
                     }
                     case Option::V4:
@@ -989,7 +989,7 @@ namespace isc { namespace eval {
                   // This token will find option 124 (DHCPv4) or 16 (DHCPv6),
                   // and will check if enterprise-id equals specified value.
                   TokenPtr exist(new TokenVendorClass(ctx.getUniverse(), yystack_[3].value.as < uint32_t > (), TokenOption::EXISTS));
-                  ctx.expression.push_back(exist);
+                  ctx.expression_.push_back(exist);
               }
 #line 995 "parser.cc"
     break;
@@ -1002,7 +1002,7 @@ namespace isc { namespace eval {
                   // This token will find option 125 (DHCPv4) or 17 (DHCPv6),
                   // and will check if enterprise-id equals specified value.
                   TokenPtr exist(new TokenVendor(ctx.getUniverse(), yystack_[3].value.as < uint32_t > (), TokenOption::EXISTS));
-                  ctx.expression.push_back(exist);
+                  ctx.expression_.push_back(exist);
               }
 #line 1008 "parser.cc"
     break;
@@ -1016,7 +1016,7 @@ namespace isc { namespace eval {
                   // exists, has specified enterprise-id and if has
                   // specified suboption.
                   TokenPtr exist(new TokenVendor(ctx.getUniverse(), yystack_[8].value.as < uint32_t > (), TokenOption::EXISTS, yystack_[3].value.as < uint16_t > ()));
-                  ctx.expression.push_back(exist);
+                  ctx.expression_.push_back(exist);
                }
 #line 1022 "parser.cc"
     break;
@@ -1035,7 +1035,7 @@ namespace isc { namespace eval {
                       error(yystack_[1].location, "Not defined client class '" + cc + "'");
                   }
                   TokenPtr member(new TokenMember(cc));
-                  ctx.expression.push_back(member);
+                  ctx.expression_.push_back(member);
               }
 #line 1041 "parser.cc"
     break;
@@ -1048,7 +1048,7 @@ namespace isc { namespace eval {
                   // This token will check if the regular expression matches
                   // the string expression.
                   TokenPtr match(new TokenMatch(yystack_[3].value.as < std::string > ()));
-                  ctx.expression.push_back(match);
+                  ctx.expression_.push_back(match);
               }
 #line 1054 "parser.cc"
     break;
@@ -1057,7 +1057,7 @@ namespace isc { namespace eval {
 #line 297 "parser.yy"
                   {
                       TokenPtr str(new TokenString(yystack_[0].value.as < std::string > ()));
-                      ctx.expression.push_back(str);
+                      ctx.expression_.push_back(str);
                   }
 #line 1063 "parser.cc"
     break;
@@ -1066,7 +1066,7 @@ namespace isc { namespace eval {
 #line 302 "parser.yy"
                   {
                       TokenPtr hex(new TokenHexString(yystack_[0].value.as < std::string > ()));
-                      ctx.expression.push_back(hex);
+                      ctx.expression_.push_back(hex);
                   }
 #line 1072 "parser.cc"
     break;
@@ -1075,7 +1075,7 @@ namespace isc { namespace eval {
 #line 307 "parser.yy"
                   {
                       TokenPtr ip(new TokenIpAddress(yystack_[0].value.as < std::string > ()));
-                      ctx.expression.push_back(ip);
+                      ctx.expression_.push_back(ip);
                   }
 #line 1081 "parser.cc"
     break;
@@ -1084,7 +1084,7 @@ namespace isc { namespace eval {
 #line 312 "parser.yy"
                   {
                       TokenPtr opt(new TokenOption(yystack_[3].value.as < uint16_t > (), yystack_[0].value.as < TokenOption::RepresentationType > ()));
-                      ctx.expression.push_back(opt);
+                      ctx.expression_.push_back(opt);
                   }
 #line 1090 "parser.cc"
     break;
@@ -1093,7 +1093,7 @@ namespace isc { namespace eval {
 #line 317 "parser.yy"
                   {
                       TokenPtr opt(new TokenSubOption(yystack_[8].value.as < uint16_t > (), yystack_[3].value.as < uint16_t > (), yystack_[0].value.as < TokenOption::RepresentationType > ()));
-                      ctx.expression.push_back(opt);
+                      ctx.expression_.push_back(opt);
                   }
 #line 1099 "parser.cc"
     break;
@@ -1105,7 +1105,7 @@ namespace isc { namespace eval {
                      case Option::V4:
                      {
                          TokenPtr opt(new TokenRelay4Option(yystack_[3].value.as < uint16_t > (), yystack_[0].value.as < TokenOption::RepresentationType > ()));
-                         ctx.expression.push_back(opt);
+                         ctx.expression_.push_back(opt);
                          break;
                      }
                      case Option::V6:
@@ -1129,7 +1129,7 @@ namespace isc { namespace eval {
                      case Option::V6:
                      {
                          TokenPtr opt(new TokenRelay6Option(yystack_[8].value.as < int8_t > (), yystack_[3].value.as < uint16_t > (), yystack_[0].value.as < TokenOption::RepresentationType > ()));
-                         ctx.expression.push_back(opt);
+                         ctx.expression_.push_back(opt);
                          break;
                      }
                      case Option::V4:
@@ -1144,7 +1144,7 @@ namespace isc { namespace eval {
 #line 358 "parser.yy"
                   {
                       TokenPtr pkt_metadata(new TokenPkt(yystack_[0].value.as < TokenPkt::MetadataType > ()));
-                      ctx.expression.push_back(pkt_metadata);
+                      ctx.expression_.push_back(pkt_metadata);
                   }
 #line 1150 "parser.cc"
     break;
@@ -1156,7 +1156,7 @@ namespace isc { namespace eval {
                      case Option::V4:
                      {
                          TokenPtr pkt4_field(new TokenPkt4(yystack_[0].value.as < TokenPkt4::FieldType > ()));
-                         ctx.expression.push_back(pkt4_field);
+                         ctx.expression_.push_back(pkt4_field);
                          break;
                      }
                      case Option::V6:
@@ -1174,7 +1174,7 @@ namespace isc { namespace eval {
                      case Option::V6:
                      {
                          TokenPtr pkt6_field(new TokenPkt6(yystack_[0].value.as < TokenPkt6::FieldType > ()));
-                         ctx.expression.push_back(pkt6_field);
+                         ctx.expression_.push_back(pkt6_field);
                          break;
                      }
                      case Option::V4:
@@ -1192,7 +1192,7 @@ namespace isc { namespace eval {
                      case Option::V6:
                      {
                          TokenPtr relay6field(new TokenRelay6Field(yystack_[3].value.as < int8_t > (), yystack_[0].value.as < TokenRelay6Field::FieldType > ()));
-                         ctx.expression.push_back(relay6field);
+                         ctx.expression_.push_back(relay6field);
                          break;
                      }
                      case Option::V4:
@@ -1207,7 +1207,7 @@ namespace isc { namespace eval {
 #line 406 "parser.yy"
                   {
                       TokenPtr sub(new TokenSubstring());
-                      ctx.expression.push_back(sub);
+                      ctx.expression_.push_back(sub);
                   }
 #line 1213 "parser.cc"
     break;
@@ -1216,7 +1216,7 @@ namespace isc { namespace eval {
 #line 411 "parser.yy"
                   {
                       TokenPtr split(new TokenSplit());
-                      ctx.expression.push_back(split);
+                      ctx.expression_.push_back(split);
                   }
 #line 1222 "parser.cc"
     break;
@@ -1225,7 +1225,7 @@ namespace isc { namespace eval {
 #line 416 "parser.yy"
                   {
                       TokenPtr conc(new TokenConcat());
-                      ctx.expression.push_back(conc);
+                      ctx.expression_.push_back(conc);
                   }
 #line 1231 "parser.cc"
     break;
@@ -1234,7 +1234,7 @@ namespace isc { namespace eval {
 #line 421 "parser.yy"
                   {
                       TokenPtr conc(new TokenConcat());
-                      ctx.expression.push_back(conc);
+                      ctx.expression_.push_back(conc);
                   }
 #line 1240 "parser.cc"
     break;
@@ -1243,7 +1243,7 @@ namespace isc { namespace eval {
 #line 426 "parser.yy"
                   {
                       TokenPtr lcase(new TokenLowerCase());
-                      ctx.expression.push_back(lcase);
+                      ctx.expression_.push_back(lcase);
                   }
 #line 1249 "parser.cc"
     break;
@@ -1252,7 +1252,7 @@ namespace isc { namespace eval {
 #line 431 "parser.yy"
                   {
                       TokenPtr ucase(new TokenUpperCase());
-                      ctx.expression.push_back(ucase);
+                      ctx.expression_.push_back(ucase);
                   }
 #line 1258 "parser.cc"
     break;
@@ -1260,10 +1260,10 @@ namespace isc { namespace eval {
   case 40: // $@3: %empty
 #line 436 "parser.yy"
                   {
-                      unsigned target = ++ctx.label;
-                      ctx.labels.push_back(target);
+                      unsigned target = ++ctx.label_;
+                      ctx.labels_.push_back(target);
                       TokenPtr pabf(new TokenPopAndBranchFalse(target));
-                      ctx.expression.push_back(pabf);
+                      ctx.expression_.push_back(pabf);
                   }
 #line 1269 "parser.cc"
     break;
@@ -1271,14 +1271,14 @@ namespace isc { namespace eval {
   case 41: // $@4: %empty
 #line 441 "parser.yy"
                                     {
-                      unsigned target = ctx.labels.back();
-                      ctx.labels.pop_back();
-                      unsigned target2 = ++ctx.label;
-                      ctx.labels.push_back(target2);
+                      unsigned target = ctx.labels_.back();
+                      ctx.labels_.pop_back();
+                      unsigned target2 = ++ctx.label_;
+                      ctx.labels_.push_back(target2);
                       TokenPtr branch(new TokenBranch(target2));
-                      ctx.expression.push_back(branch);
+                      ctx.expression_.push_back(branch);
                       TokenPtr lab(new TokenLabel(target));
-                      ctx.expression.push_back(lab);
+                      ctx.expression_.push_back(lab);
                   }
 #line 1284 "parser.cc"
     break;
@@ -1286,10 +1286,10 @@ namespace isc { namespace eval {
   case 42: // string_expr: "ifelse" "(" bool_expr "," $@3 string_expr "," $@4 string_expr ")"
 #line 450 "parser.yy"
                                     {
-                      unsigned target = ctx.labels.back();
-                      ctx.labels.pop_back();
+                      unsigned target = ctx.labels_.back();
+                      ctx.labels_.pop_back();
                       TokenPtr lab(new TokenLabel(target));
-                      ctx.expression.push_back(lab);
+                      ctx.expression_.push_back(lab);
                   }
 #line 1295 "parser.cc"
     break;
@@ -1298,7 +1298,7 @@ namespace isc { namespace eval {
 #line 457 "parser.yy"
                   {
                       TokenPtr cond(new TokenIfElse());
-                      ctx.expression.push_back(cond);
+                      ctx.expression_.push_back(cond);
                   }
 #line 1304 "parser.cc"
     break;
@@ -1307,7 +1307,7 @@ namespace isc { namespace eval {
 #line 462 "parser.yy"
                   {
                       TokenPtr tohex(new TokenToHexString());
-                      ctx.expression.push_back(tohex);
+                      ctx.expression_.push_back(tohex);
                   }
 #line 1313 "parser.cc"
     break;
@@ -1316,7 +1316,7 @@ namespace isc { namespace eval {
 #line 467 "parser.yy"
                   {
                       TokenPtr addrtotext(new TokenIpAddressToText());
-                      ctx.expression.push_back(addrtotext);
+                      ctx.expression_.push_back(addrtotext);
                   }
 #line 1322 "parser.cc"
     break;
@@ -1325,7 +1325,7 @@ namespace isc { namespace eval {
 #line 472 "parser.yy"
                   {
                       TokenPtr int8totext(new TokenInt8ToText());
-                      ctx.expression.push_back(int8totext);
+                      ctx.expression_.push_back(int8totext);
                   }
 #line 1331 "parser.cc"
     break;
@@ -1334,7 +1334,7 @@ namespace isc { namespace eval {
 #line 477 "parser.yy"
                   {
                       TokenPtr int16totext(new TokenInt16ToText());
-                      ctx.expression.push_back(int16totext);
+                      ctx.expression_.push_back(int16totext);
                   }
 #line 1340 "parser.cc"
     break;
@@ -1343,7 +1343,7 @@ namespace isc { namespace eval {
 #line 482 "parser.yy"
                   {
                       TokenPtr int32totext(new TokenInt32ToText());
-                      ctx.expression.push_back(int32totext);
+                      ctx.expression_.push_back(int32totext);
                   }
 #line 1349 "parser.cc"
     break;
@@ -1352,7 +1352,7 @@ namespace isc { namespace eval {
 #line 487 "parser.yy"
                   {
                       TokenPtr uint8totext(new TokenUInt8ToText());
-                      ctx.expression.push_back(uint8totext);
+                      ctx.expression_.push_back(uint8totext);
                   }
 #line 1358 "parser.cc"
     break;
@@ -1361,7 +1361,7 @@ namespace isc { namespace eval {
 #line 492 "parser.yy"
                   {
                       TokenPtr uint16totext(new TokenUInt16ToText());
-                      ctx.expression.push_back(uint16totext);
+                      ctx.expression_.push_back(uint16totext);
                   }
 #line 1367 "parser.cc"
     break;
@@ -1370,7 +1370,7 @@ namespace isc { namespace eval {
 #line 497 "parser.yy"
                   {
                       TokenPtr uint32totext(new TokenUInt32ToText());
-                      ctx.expression.push_back(uint32totext);
+                      ctx.expression_.push_back(uint32totext);
                   }
 #line 1376 "parser.cc"
     break;
@@ -1383,7 +1383,7 @@ namespace isc { namespace eval {
                     // This token will return enterprise-id number of
                     // received vendor option.
                     TokenPtr vendor(new TokenVendor(ctx.getUniverse(), 0, TokenVendor::ENTERPRISE_ID));
-                    ctx.expression.push_back(vendor);
+                    ctx.expression_.push_back(vendor);
                 }
 #line 1389 "parser.cc"
     break;
@@ -1397,7 +1397,7 @@ namespace isc { namespace eval {
                     // received vendor class option.
                     TokenPtr vendor(new TokenVendorClass(ctx.getUniverse(), 0,
                                                          TokenVendor::ENTERPRISE_ID));
-                    ctx.expression.push_back(vendor);
+                    ctx.expression_.push_back(vendor);
                 }
 #line 1403 "parser.cc"
     break;
@@ -1410,7 +1410,7 @@ namespace isc { namespace eval {
                     // for specified suboption and finally will return
                     // its content.
                     TokenPtr opt(new TokenVendor(ctx.getUniverse(), yystack_[8].value.as < uint32_t > (), yystack_[0].value.as < TokenOption::RepresentationType > (), yystack_[3].value.as < uint16_t > ()));
-                    ctx.expression.push_back(opt);
+                    ctx.expression_.push_back(opt);
                 }
 #line 1416 "parser.cc"
     break;
@@ -1427,7 +1427,7 @@ namespace isc { namespace eval {
                     // is requested.
                     TokenPtr vendor_class(new TokenVendorClass(ctx.getUniverse(), yystack_[3].value.as < uint32_t > (),
                                                                TokenVendor::DATA, 0));
-                    ctx.expression.push_back(vendor_class);
+                    ctx.expression_.push_back(vendor_class);
                 }
 #line 1433 "parser.cc"
     break;
@@ -1444,7 +1444,7 @@ namespace isc { namespace eval {
                     uint8_t index = ctx.convertUint8(yystack_[1].value.as < std::string > (), yystack_[1].location);
                     TokenPtr vendor_class(new TokenVendorClass(ctx.getUniverse(), yystack_[6].value.as < uint32_t > (),
                                                                TokenVendor::DATA, index));
-                    ctx.expression.push_back(vendor_class);
+                    ctx.expression_.push_back(vendor_class);
                 }
 #line 1450 "parser.cc"
     break;
@@ -1453,7 +1453,7 @@ namespace isc { namespace eval {
 #line 556 "parser.yy"
                 {
                     TokenPtr integer(new TokenInteger(yystack_[0].value.as < uint32_t > ()));
-                    ctx.expression.push_back(integer);
+                    ctx.expression_.push_back(integer);
                 }
 #line 1459 "parser.cc"
     break;
@@ -1670,7 +1670,7 @@ namespace isc { namespace eval {
 #line 691 "parser.yy"
                 {
                     TokenPtr str(new TokenString(yystack_[0].value.as < std::string > ()));
-                    ctx.expression.push_back(str);
+                    ctx.expression_.push_back(str);
                 }
 #line 1676 "parser.cc"
     break;
@@ -1679,7 +1679,7 @@ namespace isc { namespace eval {
 #line 698 "parser.yy"
                  {
                      TokenPtr str(new TokenString(yystack_[0].value.as < std::string > ()));
-                     ctx.expression.push_back(str);
+                     ctx.expression_.push_back(str);
                  }
 #line 1685 "parser.cc"
     break;
@@ -1688,7 +1688,7 @@ namespace isc { namespace eval {
 #line 703 "parser.yy"
                  {
                      TokenPtr str(new TokenString("all"));
-                     ctx.expression.push_back(str);
+                     ctx.expression_.push_back(str);
                  }
 #line 1694 "parser.cc"
     break;
@@ -1697,7 +1697,7 @@ namespace isc { namespace eval {
 #line 710 "parser.yy"
                  {
                      TokenPtr str(new TokenString(yystack_[0].value.as < std::string > ()));
-                     ctx.expression.push_back(str);
+                     ctx.expression_.push_back(str);
                  }
 #line 1703 "parser.cc"
     break;
index 56eee14487348c5a9e202d0c580596132bd40b51..4d6c15e4da9364683ffc9ec2a429ed69b6bb1a6f 100644 (file)
@@ -154,56 +154,56 @@ bool_expr : "(" bool_expr ")"
           | NOT bool_expr
                 {
                     TokenPtr neg(new TokenNot());
-                    ctx.expression.push_back(neg);
+                    ctx.expression_.push_back(neg);
                 }
           | bool_expr AND
                 {
-                    unsigned target = ++ctx.label;
-                    ctx.labels.push_back(target);
+                    unsigned target = ++ctx.label_;
+                    ctx.labels_.push_back(target);
                     TokenPtr pobf(new TokenPopOrBranchFalse(target));
-                    ctx.expression.push_back(pobf);
+                    ctx.expression_.push_back(pobf);
                 } bool_expr {
-                    unsigned target = ctx.labels.back();
-                    ctx.labels.pop_back();
+                    unsigned target = ctx.labels_.back();
+                    ctx.labels_.pop_back();
                     TokenPtr lab(new TokenLabel(target));
-                    ctx.expression.push_back(lab);
+                    ctx.expression_.push_back(lab);
                 }
           | bool_expr SAND bool_expr
                 {
                     TokenPtr neg(new TokenAnd());
-                    ctx.expression.push_back(neg);
+                    ctx.expression_.push_back(neg);
                 }
           | bool_expr OR
                 {
-                    unsigned target = ++ctx.label;
-                    ctx.labels.push_back(target);
+                    unsigned target = ++ctx.label_;
+                    ctx.labels_.push_back(target);
                     TokenPtr pobt(new TokenPopOrBranchTrue(target));
-                    ctx.expression.push_back(pobt);
+                    ctx.expression_.push_back(pobt);
                 } bool_expr {
-                    unsigned target = ctx.labels.back();
-                    ctx.labels.pop_back();
+                    unsigned target = ctx.labels_.back();
+                    ctx.labels_.pop_back();
                     TokenPtr lab(new TokenLabel(target));
-                    ctx.expression.push_back(lab);
+                    ctx.expression_.push_back(lab);
                 }
           | bool_expr SOR bool_expr
                 {
                     TokenPtr neg(new TokenOr());
-                    ctx.expression.push_back(neg);
+                    ctx.expression_.push_back(neg);
                 }
           | string_expr EQUAL string_expr
                 {
                     TokenPtr eq(new TokenEqual());
-                    ctx.expression.push_back(eq);
+                    ctx.expression_.push_back(eq);
                 }
           | OPTION "[" option_code "]" "." EXISTS
                 {
                     TokenPtr opt(new TokenOption($3, TokenOption::EXISTS));
-                    ctx.expression.push_back(opt);
+                    ctx.expression_.push_back(opt);
                 }
           | OPTION "[" option_code "]" "." OPTION "[" sub_option_code "]" "." EXISTS
                 {
                     TokenPtr opt(new TokenSubOption($3, $8, TokenOption::EXISTS));
-                    ctx.expression.push_back(opt);
+                    ctx.expression_.push_back(opt);
                 }
           | RELAY4 "[" sub_option_code "]" "." EXISTS
                 {
@@ -211,7 +211,7 @@ bool_expr : "(" bool_expr ")"
                    case Option::V4:
                    {
                        TokenPtr opt(new TokenRelay4Option($3, TokenOption::EXISTS));
-                       ctx.expression.push_back(opt);
+                       ctx.expression_.push_back(opt);
                        break;
                    }
                    case Option::V6:
@@ -231,7 +231,7 @@ bool_expr : "(" bool_expr ")"
                     case Option::V6:
                     {
                         TokenPtr opt(new TokenRelay6Option($3, $8, TokenOption::EXISTS));
-                        ctx.expression.push_back(opt);
+                        ctx.expression_.push_back(opt);
                         break;
                     }
                     case Option::V4:
@@ -246,7 +246,7 @@ bool_expr : "(" bool_expr ")"
                   // This token will find option 124 (DHCPv4) or 16 (DHCPv6),
                   // and will check if enterprise-id equals specified value.
                   TokenPtr exist(new TokenVendorClass(ctx.getUniverse(), $3, TokenOption::EXISTS));
-                  ctx.expression.push_back(exist);
+                  ctx.expression_.push_back(exist);
               }
           | VENDOR "[" enterprise_id "]" "." EXISTS
               {
@@ -255,7 +255,7 @@ bool_expr : "(" bool_expr ")"
                   // This token will find option 125 (DHCPv4) or 17 (DHCPv6),
                   // and will check if enterprise-id equals specified value.
                   TokenPtr exist(new TokenVendor(ctx.getUniverse(), $3, TokenOption::EXISTS));
-                  ctx.expression.push_back(exist);
+                  ctx.expression_.push_back(exist);
               }
           | VENDOR "[" enterprise_id "]" "." OPTION "[" sub_option_code "]" "." EXISTS
               {
@@ -265,7 +265,7 @@ bool_expr : "(" bool_expr ")"
                   // exists, has specified enterprise-id and if has
                   // specified suboption.
                   TokenPtr exist(new TokenVendor(ctx.getUniverse(), $3, TokenOption::EXISTS, $8));
-                  ctx.expression.push_back(exist);
+                  ctx.expression_.push_back(exist);
                }
           | MEMBER "(" STRING ")"
               {
@@ -280,7 +280,7 @@ bool_expr : "(" bool_expr ")"
                       error(@3, "Not defined client class '" + cc + "'");
                   }
                   TokenPtr member(new TokenMember(cc));
-                  ctx.expression.push_back(member);
+                  ctx.expression_.push_back(member);
               }
           | MATCH "(" STRING "," string_expr ")"
               {
@@ -289,34 +289,34 @@ bool_expr : "(" bool_expr ")"
                   // This token will check if the regular expression matches
                   // the string expression.
                   TokenPtr match(new TokenMatch($3));
-                  ctx.expression.push_back(match);
+                  ctx.expression_.push_back(match);
               }
           ;
 
 string_expr : STRING
                   {
                       TokenPtr str(new TokenString($1));
-                      ctx.expression.push_back(str);
+                      ctx.expression_.push_back(str);
                   }
             | HEXSTRING
                   {
                       TokenPtr hex(new TokenHexString($1));
-                      ctx.expression.push_back(hex);
+                      ctx.expression_.push_back(hex);
                   }
             | IP_ADDRESS
                   {
                       TokenPtr ip(new TokenIpAddress($1));
-                      ctx.expression.push_back(ip);
+                      ctx.expression_.push_back(ip);
                   }
             | OPTION "[" option_code "]" "." option_repr_type
                   {
                       TokenPtr opt(new TokenOption($3, $6));
-                      ctx.expression.push_back(opt);
+                      ctx.expression_.push_back(opt);
                   }
             | OPTION "[" option_code "]" "." OPTION "[" sub_option_code "]" "." option_repr_type
                   {
                       TokenPtr opt(new TokenSubOption($3, $8, $11));
-                      ctx.expression.push_back(opt);
+                      ctx.expression_.push_back(opt);
                   }
             | RELAY4 "[" sub_option_code "]" "." option_repr_type
                   {
@@ -324,7 +324,7 @@ string_expr : STRING
                      case Option::V4:
                      {
                          TokenPtr opt(new TokenRelay4Option($3, $6));
-                         ctx.expression.push_back(opt);
+                         ctx.expression_.push_back(opt);
                          break;
                      }
                      case Option::V6:
@@ -345,7 +345,7 @@ string_expr : STRING
                      case Option::V6:
                      {
                          TokenPtr opt(new TokenRelay6Option($3, $8, $11));
-                         ctx.expression.push_back(opt);
+                         ctx.expression_.push_back(opt);
                          break;
                      }
                      case Option::V4:
@@ -357,7 +357,7 @@ string_expr : STRING
             | PKT "." pkt_metadata
                   {
                       TokenPtr pkt_metadata(new TokenPkt($3));
-                      ctx.expression.push_back(pkt_metadata);
+                      ctx.expression_.push_back(pkt_metadata);
                   }
             | PKT4 "." pkt4_field
                   {
@@ -365,7 +365,7 @@ string_expr : STRING
                      case Option::V4:
                      {
                          TokenPtr pkt4_field(new TokenPkt4($3));
-                         ctx.expression.push_back(pkt4_field);
+                         ctx.expression_.push_back(pkt4_field);
                          break;
                      }
                      case Option::V6:
@@ -379,7 +379,7 @@ string_expr : STRING
                      case Option::V6:
                      {
                          TokenPtr pkt6_field(new TokenPkt6($3));
-                         ctx.expression.push_back(pkt6_field);
+                         ctx.expression_.push_back(pkt6_field);
                          break;
                      }
                      case Option::V4:
@@ -393,7 +393,7 @@ string_expr : STRING
                      case Option::V6:
                      {
                          TokenPtr relay6field(new TokenRelay6Field($3, $6));
-                         ctx.expression.push_back(relay6field);
+                         ctx.expression_.push_back(relay6field);
                          break;
                      }
                      case Option::V4:
@@ -405,98 +405,98 @@ string_expr : STRING
             | SUBSTRING "(" string_expr "," start_expr "," length_expr ")"
                   {
                       TokenPtr sub(new TokenSubstring());
-                      ctx.expression.push_back(sub);
+                      ctx.expression_.push_back(sub);
                   }
             | SPLIT "(" string_expr "," string_expr "," int_expr ")"
                   {
                       TokenPtr split(new TokenSplit());
-                      ctx.expression.push_back(split);
+                      ctx.expression_.push_back(split);
                   }
             | CONCAT "(" string_expr "," string_expr ")"
                   {
                       TokenPtr conc(new TokenConcat());
-                      ctx.expression.push_back(conc);
+                      ctx.expression_.push_back(conc);
                   }
             | string_expr PLUS string_expr
                   {
                       TokenPtr conc(new TokenConcat());
-                      ctx.expression.push_back(conc);
+                      ctx.expression_.push_back(conc);
                   }
             | LCASE "(" string_expr ")"
                   {
                       TokenPtr lcase(new TokenLowerCase());
-                      ctx.expression.push_back(lcase);
+                      ctx.expression_.push_back(lcase);
                   }
             | UCASE "(" string_expr ")"
                   {
                       TokenPtr ucase(new TokenUpperCase());
-                      ctx.expression.push_back(ucase);
+                      ctx.expression_.push_back(ucase);
                   }
             | IFELSE "(" bool_expr ","
                   {
-                      unsigned target = ++ctx.label;
-                      ctx.labels.push_back(target);
+                      unsigned target = ++ctx.label_;
+                      ctx.labels_.push_back(target);
                       TokenPtr pabf(new TokenPopAndBranchFalse(target));
-                      ctx.expression.push_back(pabf);
+                      ctx.expression_.push_back(pabf);
                   } string_expr "," {
-                      unsigned target = ctx.labels.back();
-                      ctx.labels.pop_back();
-                      unsigned target2 = ++ctx.label;
-                      ctx.labels.push_back(target2);
+                      unsigned target = ctx.labels_.back();
+                      ctx.labels_.pop_back();
+                      unsigned target2 = ++ctx.label_;
+                      ctx.labels_.push_back(target2);
                       TokenPtr branch(new TokenBranch(target2));
-                      ctx.expression.push_back(branch);
+                      ctx.expression_.push_back(branch);
                       TokenPtr lab(new TokenLabel(target));
-                      ctx.expression.push_back(lab);
+                      ctx.expression_.push_back(lab);
                   } string_expr ")" {
-                      unsigned target = ctx.labels.back();
-                      ctx.labels.pop_back();
+                      unsigned target = ctx.labels_.back();
+                      ctx.labels_.pop_back();
                       TokenPtr lab(new TokenLabel(target));
-                      ctx.expression.push_back(lab);
+                      ctx.expression_.push_back(lab);
                   }
             | SIFELSE "(" bool_expr "," string_expr "," string_expr ")"
                   {
                       TokenPtr cond(new TokenIfElse());
-                      ctx.expression.push_back(cond);
+                      ctx.expression_.push_back(cond);
                   }
             | TOHEXSTRING "(" string_expr "," string_expr ")"
                   {
                       TokenPtr tohex(new TokenToHexString());
-                      ctx.expression.push_back(tohex);
+                      ctx.expression_.push_back(tohex);
                   }
             | ADDRTOTEXT "(" string_expr ")"
                   {
                       TokenPtr addrtotext(new TokenIpAddressToText());
-                      ctx.expression.push_back(addrtotext);
+                      ctx.expression_.push_back(addrtotext);
                   }
             | INT8TOTEXT "(" string_expr ")"
                   {
                       TokenPtr int8totext(new TokenInt8ToText());
-                      ctx.expression.push_back(int8totext);
+                      ctx.expression_.push_back(int8totext);
                   }
             | INT16TOTEXT "(" string_expr ")"
                   {
                       TokenPtr int16totext(new TokenInt16ToText());
-                      ctx.expression.push_back(int16totext);
+                      ctx.expression_.push_back(int16totext);
                   }
             | INT32TOTEXT "(" string_expr ")"
                   {
                       TokenPtr int32totext(new TokenInt32ToText());
-                      ctx.expression.push_back(int32totext);
+                      ctx.expression_.push_back(int32totext);
                   }
             | UINT8TOTEXT "(" string_expr ")"
                   {
                       TokenPtr uint8totext(new TokenUInt8ToText());
-                      ctx.expression.push_back(uint8totext);
+                      ctx.expression_.push_back(uint8totext);
                   }
             | UINT16TOTEXT "(" string_expr ")"
                   {
                       TokenPtr uint16totext(new TokenUInt16ToText());
-                      ctx.expression.push_back(uint16totext);
+                      ctx.expression_.push_back(uint16totext);
                   }
             | UINT32TOTEXT "(" string_expr ")"
                   {
                       TokenPtr uint32totext(new TokenUInt32ToText());
-                      ctx.expression.push_back(uint32totext);
+                      ctx.expression_.push_back(uint32totext);
                   }
             | VENDOR "." ENTERPRISE
                 {
@@ -505,7 +505,7 @@ string_expr : STRING
                     // This token will return enterprise-id number of
                     // received vendor option.
                     TokenPtr vendor(new TokenVendor(ctx.getUniverse(), 0, TokenVendor::ENTERPRISE_ID));
-                    ctx.expression.push_back(vendor);
+                    ctx.expression_.push_back(vendor);
                 }
             | VENDOR_CLASS "." ENTERPRISE
                 {
@@ -515,7 +515,7 @@ string_expr : STRING
                     // received vendor class option.
                     TokenPtr vendor(new TokenVendorClass(ctx.getUniverse(), 0,
                                                          TokenVendor::ENTERPRISE_ID));
-                    ctx.expression.push_back(vendor);
+                    ctx.expression_.push_back(vendor);
                 }
             | VENDOR "[" enterprise_id "]" "." OPTION "[" sub_option_code "]" "." option_repr_type
                 {
@@ -524,7 +524,7 @@ string_expr : STRING
                     // for specified suboption and finally will return
                     // its content.
                     TokenPtr opt(new TokenVendor(ctx.getUniverse(), $3, $11, $8));
-                    ctx.expression.push_back(opt);
+                    ctx.expression_.push_back(opt);
                 }
             | VENDOR_CLASS "[" enterprise_id "]" "." DATA
                 {
@@ -537,7 +537,7 @@ string_expr : STRING
                     // is requested.
                     TokenPtr vendor_class(new TokenVendorClass(ctx.getUniverse(), $3,
                                                                TokenVendor::DATA, 0));
-                    ctx.expression.push_back(vendor_class);
+                    ctx.expression_.push_back(vendor_class);
                 }
             | VENDOR_CLASS "[" enterprise_id "]" "." DATA "[" INTEGER "]"
                 {
@@ -550,12 +550,12 @@ string_expr : STRING
                     uint8_t index = ctx.convertUint8($8, @8);
                     TokenPtr vendor_class(new TokenVendorClass(ctx.getUniverse(), $3,
                                                                TokenVendor::DATA, index));
-                    ctx.expression.push_back(vendor_class);
+                    ctx.expression_.push_back(vendor_class);
                 }
             | integer_expr
                 {
                     TokenPtr integer(new TokenInteger($1));
-                    ctx.expression.push_back(integer);
+                    ctx.expression_.push_back(integer);
                 }
             | "(" string_expr ")"
             ;
@@ -690,26 +690,26 @@ relay6_field : PEERADDR
 start_expr : INTEGER
                 {
                     TokenPtr str(new TokenString($1));
-                    ctx.expression.push_back(str);
+                    ctx.expression_.push_back(str);
                 }
            ;
 
 length_expr : INTEGER
                  {
                      TokenPtr str(new TokenString($1));
-                     ctx.expression.push_back(str);
+                     ctx.expression_.push_back(str);
                  }
             | ALL
                  {
                      TokenPtr str(new TokenString("all"));
-                     ctx.expression.push_back(str);
+                     ctx.expression_.push_back(str);
                  }
             ;
 
 int_expr : INTEGER
                  {
                      TokenPtr str(new TokenString($1));
-                     ctx.expression.push_back(str);
+                     ctx.expression_.push_back(str);
                  }
             ;
 
index 8c883c155f742b1079d0a786c453176faceac690..505c229cc1cd7fdc94819359e80eecba3bf19918 100644 (file)
@@ -27,9 +27,9 @@ public:
         ASSERT_TRUE(eval.parseString(expr));
         Pkt4Ptr pkt4(new Pkt4(DHCPDISCOVER, 12345));
         if (expected) {
-            EXPECT_TRUE(evaluateBool(eval.expression, *pkt4));
+            EXPECT_TRUE(evaluateBool(eval.expression_, *pkt4));
         } else {
-            EXPECT_FALSE(evaluateBool(eval.expression, *pkt4));
+            EXPECT_FALSE(evaluateBool(eval.expression_, *pkt4));
         }
     }
 };
index 03210a71cc2aa95c79505c9f87a6e8cba72c97d8..637cb5536554d289de0121e601a77853222439b4 100644 (file)
@@ -231,11 +231,11 @@ public:
         EXPECT_TRUE(parsed_);
 
         // There should be the expected number of tokens.
-        ASSERT_EQ(exp_tokens, eval.expression.size());
+        ASSERT_EQ(exp_tokens, eval.expression_.size());
 
         // checked that the first token is TokenRelay6Option and that
         // is has the correct attributes
-        checkTokenRelay6Option(eval.expression.at(0), exp_level, exp_code, exp_repr);
+        checkTokenRelay6Option(eval.expression_.at(0), exp_level, exp_code, exp_repr);
     }
 
     /// @brief check if the given token is a Pkt of specified type
@@ -277,10 +277,10 @@ public:
         EXPECT_TRUE(parsed_);
 
         // There should be exactly the expected number of tokens.
-        ASSERT_EQ(exp_tokens, eval.expression.size());
+        ASSERT_EQ(exp_tokens, eval.expression_.size());
 
         // Check that the first token is TokenPkt instance and has correct type.
-        checkTokenPkt(eval.expression.at(0), exp_type);
+        checkTokenPkt(eval.expression_.at(0), exp_type);
     }
 
     /// @brief checks if the given token is Pkt4 of specified type
@@ -322,10 +322,10 @@ public:
         EXPECT_TRUE(parsed_);
 
         // There should be exactly the expected number of tokens.
-        ASSERT_EQ(exp_tokens, eval.expression.size());
+        ASSERT_EQ(exp_tokens, eval.expression_.size());
 
         // Check that the first token is TokenPkt4 instance and has correct type.
-        checkTokenPkt4(eval.expression.at(0), exp_type);
+        checkTokenPkt4(eval.expression_.at(0), exp_type);
     }
 
     /// @brief checks if the given token is Pkt6 of specified type
@@ -370,10 +370,10 @@ public:
         EXPECT_TRUE(parsed_);
 
         // There should be the requested number of tokens
-        ASSERT_EQ(exp_tokens, eval.expression.size());
+        ASSERT_EQ(exp_tokens, eval.expression_.size());
 
         // Check that the first token is TokenPkt6 instance and has correct type.
-        checkTokenPkt6(eval.expression.at(0), exp_type);
+        checkTokenPkt6(eval.expression_.at(0), exp_type);
     }
 
     /// @brief checks if the given token is a TokenRelay with the
@@ -421,11 +421,11 @@ public:
         EXPECT_TRUE(parsed_);
 
         // There should be the expected number of tokens.
-        ASSERT_EQ(exp_tokens, eval.expression.size());
+        ASSERT_EQ(exp_tokens, eval.expression_.size());
 
         // checked that the first token is TokenRelay6Field and that
         // is has the correct attributes
-        checkTokenRelay6Field(eval.expression.at(0), exp_level, exp_type);
+        checkTokenRelay6Field(eval.expression_.at(0), exp_level, exp_type);
     }
 
     /// @brief checks if the given token is a TokenMember with the
@@ -469,11 +469,11 @@ public:
         EXPECT_TRUE(parsed_);
 
         // There should be the expected number of tokens.
-        ASSERT_EQ(exp_tokens, eval.expression.size());
+        ASSERT_EQ(exp_tokens, eval.expression_.size());
 
         // checked that the first token is TokenRelay6Field and that
         // is has the correct attributes
-        checkTokenMember(eval.expression.at(0), exp_client_class);
+        checkTokenMember(eval.expression_.at(0), exp_client_class);
     }
 
     /// @brief checks if the given token is a substring operator
@@ -629,9 +629,9 @@ public:
         EXPECT_TRUE(parsed_);
 
         // We need at least one token, we will evaluate the first one.
-        ASSERT_FALSE(eval.expression.empty());
+        ASSERT_FALSE(eval.expression_.empty());
 
-        checkTokenVendor(eval.expression.at(0), vendor_id, option_code, expected_repr);
+        checkTokenVendor(eval.expression_.at(0), vendor_id, option_code, expected_repr);
     }
 
     /// @brief Checks if token is really a TokenVendor, that the vendor_id was
@@ -667,10 +667,10 @@ public:
         EXPECT_NO_THROW(parsed_ = eval.parseString(expr));
         EXPECT_TRUE(parsed_);
 
-        ASSERT_FALSE(eval.expression.empty());
+        ASSERT_FALSE(eval.expression_.empty());
 
         boost::shared_ptr<TokenVendor> vendor =
-            boost::dynamic_pointer_cast<TokenVendor>(eval.expression.at(0));
+            boost::dynamic_pointer_cast<TokenVendor>(eval.expression_.at(0));
 
         ASSERT_TRUE(vendor);
         EXPECT_EQ(TokenVendor::ENTERPRISE_ID, vendor->getField());
@@ -693,8 +693,8 @@ public:
         EXPECT_NO_THROW(parsed_ = eval.parseString(expr));
         EXPECT_TRUE(parsed_);
 
-        ASSERT_EQ(1, eval.expression.size());
-        checkTokenVendorClass(eval.expression.at(0), vendor_id, 0, TokenOption::EXISTS,
+        ASSERT_EQ(1, eval.expression_.size());
+        checkTokenVendorClass(eval.expression_.at(0), vendor_id, 0, TokenOption::EXISTS,
                               TokenVendor::EXISTS);
     }
 
@@ -719,10 +719,10 @@ public:
         EXPECT_TRUE(parsed_);
 
         // Make sure there's at least one token
-        ASSERT_FALSE(eval.expression.empty());
+        ASSERT_FALSE(eval.expression_.empty());
 
         // The first token should be TokenVendorClass, let's take a closer look.
-        checkTokenVendorClass(eval.expression.at(0), vendor_id, index,
+        checkTokenVendorClass(eval.expression_.at(0), vendor_id, index,
                               TokenOption::HEXADECIMAL, TokenVendor::DATA);
 
     }
@@ -743,10 +743,10 @@ public:
         EXPECT_TRUE(parsed_);
 
         // Make sure there's at least one token
-        ASSERT_FALSE(eval.expression.empty());
+        ASSERT_FALSE(eval.expression_.empty());
 
         // The first token should be TokenVendorClass, let's take a closer look.
-        checkTokenVendorClass(eval.expression.at(0), 0, 0, TokenOption::HEXADECIMAL,
+        checkTokenVendorClass(eval.expression_.at(0), 0, 0, TokenOption::HEXADECIMAL,
                               TokenVendor::ENTERPRISE_ID);
     }
 
@@ -932,11 +932,11 @@ TEST_F(EvalContextTest, string) {
     EXPECT_NO_THROW(parsed_ = eval.parseString("'foo' == 'bar'"));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(3, eval.expression.size());
+    ASSERT_EQ(3, eval.expression_.size());
 
-    TokenPtr tmp1  = eval.expression.at(0);
-    TokenPtr tmp2  = eval.expression.at(1);
-    TokenPtr tmp3  = eval.expression.at(2);
+    TokenPtr tmp1  = eval.expression_.at(0);
+    TokenPtr tmp2  = eval.expression_.at(1);
+    TokenPtr tmp3  = eval.expression_.at(2);
 
     checkTokenString(tmp1, "foo");
     checkTokenString(tmp2, "bar");
@@ -952,11 +952,11 @@ TEST_F(EvalContextTest, stringComplex) {
     EXPECT_NO_THROW(parsed_ = eval.parseString(string(data, sizeof(data) - 1)));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(3, eval.expression.size());
+    ASSERT_EQ(3, eval.expression_.size());
 
-    TokenPtr tmp1  = eval.expression.at(0);
-    TokenPtr tmp2  = eval.expression.at(1);
-    TokenPtr tmp3  = eval.expression.at(2);
+    TokenPtr tmp1  = eval.expression_.at(0);
+    TokenPtr tmp2  = eval.expression_.at(1);
+    TokenPtr tmp3  = eval.expression_.at(2);
 
     char l_data[] = "12345~!@#$%^&*()_+{}[];:<>/?\\67890\t \0\b\r\f";
     char r_data[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
@@ -982,9 +982,9 @@ TEST_F(EvalContextTest, hexstring) {
     EXPECT_NO_THROW(parsed_ = eval.parseString("0x666f6f == 'foo'"));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(3, eval.expression.size());
+    ASSERT_EQ(3, eval.expression_.size());
 
-    TokenPtr tmp = eval.expression.at(0);
+    TokenPtr tmp = eval.expression_.at(0);
 
     checkTokenHexString(tmp, "foo");
 }
@@ -997,9 +997,9 @@ TEST_F(EvalContextTest, oddHexstring) {
     EXPECT_NO_THROW(parsed_ = eval.parseString("0X7 == 'foo'"));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(3, eval.expression.size());
+    ASSERT_EQ(3, eval.expression_.size());
 
-    TokenPtr tmp = eval.expression.at(0);
+    TokenPtr tmp = eval.expression_.at(0);
 
     checkTokenHexString(tmp, "\a");
 }
@@ -1011,9 +1011,9 @@ TEST_F(EvalContextTest, ipaddress4) {
     EXPECT_NO_THROW(parsed_ = eval.parseString("10.0.0.1 == 'foo'"));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(3, eval.expression.size());
+    ASSERT_EQ(3, eval.expression_.size());
 
-    TokenPtr tmp = eval.expression.at(0);
+    TokenPtr tmp = eval.expression_.at(0);
 
     checkTokenIpAddress(tmp, "10.0.0.1");
 }
@@ -1025,9 +1025,9 @@ TEST_F(EvalContextTest, ipaddress6) {
     EXPECT_NO_THROW(parsed_ = eval.parseString("2001:db8::1 == 'foo'"));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(3, eval.expression.size());
+    ASSERT_EQ(3, eval.expression_.size());
 
-    TokenPtr tmp = eval.expression.at(0);
+    TokenPtr tmp = eval.expression_.at(0);
 
     checkTokenIpAddress(tmp, "2001:db8::1");
 }
@@ -1039,9 +1039,9 @@ TEST_F(EvalContextTest, ipaddress46) {
     EXPECT_NO_THROW(parsed_ = eval.parseString("::10.0.0.1 == 'foo'"));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(3, eval.expression.size());
+    ASSERT_EQ(3, eval.expression_.size());
 
-    TokenPtr tmp = eval.expression.at(0);
+    TokenPtr tmp = eval.expression_.at(0);
 
     checkTokenIpAddress(tmp, "::10.0.0.1");
 }
@@ -1053,9 +1053,9 @@ TEST_F(EvalContextTest, ipaddress6unspec) {
     EXPECT_NO_THROW(parsed_ = eval.parseString(":: == 'foo'"));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(3, eval.expression.size());
+    ASSERT_EQ(3, eval.expression_.size());
 
-    TokenPtr tmp = eval.expression.at(0);
+    TokenPtr tmp = eval.expression_.at(0);
 
     checkTokenIpAddress(tmp, "::");
 }
@@ -1067,9 +1067,9 @@ TEST_F(EvalContextTest, ipaddress6prefix) {
     EXPECT_NO_THROW(parsed_ = eval.parseString("2001:db8:: == 'foo'"));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(3, eval.expression.size());
+    ASSERT_EQ(3, eval.expression_.size());
 
-    TokenPtr tmp = eval.expression.at(0);
+    TokenPtr tmp = eval.expression_.at(0);
 
     checkTokenIpAddress(tmp, "2001:db8::");
 }
@@ -1081,11 +1081,11 @@ TEST_F(EvalContextTest, equal) {
     EXPECT_NO_THROW(parsed_ = eval.parseString("'foo' == 'bar'"));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(3, eval.expression.size());
+    ASSERT_EQ(3, eval.expression_.size());
 
-    TokenPtr tmp1 = eval.expression.at(0);
-    TokenPtr tmp2 = eval.expression.at(1);
-    TokenPtr tmp3 = eval.expression.at(2);
+    TokenPtr tmp1 = eval.expression_.at(0);
+    TokenPtr tmp2 = eval.expression_.at(1);
+    TokenPtr tmp3 = eval.expression_.at(2);
 
     checkTokenString(tmp1, "foo");
     checkTokenString(tmp2, "bar");
@@ -1098,8 +1098,8 @@ TEST_F(EvalContextTest, option) {
 
     EXPECT_NO_THROW(parsed_ = eval.parseString("option[123].text == 'foo'"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(3, eval.expression.size());
-    checkTokenOption(eval.expression.at(0), 123, TokenOption::TEXTUAL);
+    ASSERT_EQ(3, eval.expression_.size());
+    checkTokenOption(eval.expression_.at(0), 123, TokenOption::TEXTUAL);
 }
 
 // Test parsing of an option identified by name.
@@ -1109,8 +1109,8 @@ TEST_F(EvalContextTest, optionWithName) {
     // Option 'host-name' is a standard DHCPv4 option defined in the libdhcp++.
     EXPECT_NO_THROW(parsed_ = eval.parseString("option[host-name].text == 'foo'"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(3, eval.expression.size());
-    checkTokenOption(eval.expression.at(0), 12, TokenOption::TEXTUAL);
+    ASSERT_EQ(3, eval.expression_.size());
+    checkTokenOption(eval.expression_.at(0), 12, TokenOption::TEXTUAL);
 }
 
 // Test parsing of an option existence
@@ -1119,8 +1119,8 @@ TEST_F(EvalContextTest, optionExists) {
 
     EXPECT_NO_THROW(parsed_ = eval.parseString("option[100].exists"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(1, eval.expression.size());
-    checkTokenOption(eval.expression.at(0), 100, TokenOption::EXISTS);
+    ASSERT_EQ(1, eval.expression_.size());
+    checkTokenOption(eval.expression_.at(0), 100, TokenOption::EXISTS);
 }
 
 // Test checking that whitespace can surround option name.
@@ -1130,8 +1130,8 @@ TEST_F(EvalContextTest, optionWithNameAndWhitespace) {
     // Option 'host-name' is a standard DHCPv4 option defined in the libdhcp++.
     EXPECT_NO_THROW(parsed_ = eval.parseString("option[  host-name  ].text == 'foo'"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(3, eval.expression.size());
-    checkTokenOption(eval.expression.at(0), 12, TokenOption::TEXTUAL);
+    ASSERT_EQ(3, eval.expression_.size());
+    checkTokenOption(eval.expression_.at(0), 12, TokenOption::TEXTUAL);
 }
 
 // Test checking that newlines can surround option name.
@@ -1142,8 +1142,8 @@ TEST_F(EvalContextTest, optionWithNameAndNewline) {
     EXPECT_NO_THROW(parsed_ =
         eval.parseString("option[\n host-name \n ].text == \n'foo'"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(3, eval.expression.size());
-    checkTokenOption(eval.expression.at(0), 12, TokenOption::TEXTUAL);
+    ASSERT_EQ(3, eval.expression_.size());
+    checkTokenOption(eval.expression_.at(0), 12, TokenOption::TEXTUAL);
 }
 
 // Test parsing of an option represented as hexadecimal string.
@@ -1152,8 +1152,8 @@ TEST_F(EvalContextTest, optionHex) {
 
     EXPECT_NO_THROW(parsed_ = eval.parseString("option[123].hex == 0x666F6F"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(3, eval.expression.size());
-    checkTokenOption(eval.expression.at(0), 123, TokenOption::HEXADECIMAL);
+    ASSERT_EQ(3, eval.expression_.size());
+    checkTokenOption(eval.expression_.at(0), 123, TokenOption::HEXADECIMAL);
 }
 
 // This test checks that the relay4[code].hex can be used in expressions.
@@ -1163,11 +1163,11 @@ TEST_F(EvalContextTest, relay4Option) {
     EXPECT_NO_THROW(parsed_ =
         eval.parseString("relay4[13].hex == 'thirteen'"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(3, eval.expression.size());
+    ASSERT_EQ(3, eval.expression_.size());
 
-    TokenPtr tmp1 = eval.expression.at(0);
-    TokenPtr tmp2 = eval.expression.at(1);
-    TokenPtr tmp3 = eval.expression.at(2);
+    TokenPtr tmp1 = eval.expression_.at(0);
+    TokenPtr tmp2 = eval.expression_.at(1);
+    TokenPtr tmp3 = eval.expression_.at(2);
 
     checkTokenRelay4(tmp1, 13, TokenOption::HEXADECIMAL);
     checkTokenString(tmp2, "thirteen");
@@ -1180,8 +1180,8 @@ TEST_F(EvalContextTest, relay4Exists) {
 
     EXPECT_NO_THROW(parsed_ = eval.parseString("relay4[13].exists"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(1, eval.expression.size());
-    checkTokenRelay4(eval.expression.at(0), 13, TokenOption::EXISTS);
+    ASSERT_EQ(1, eval.expression_.size());
+    checkTokenRelay4(eval.expression_.at(0), 13, TokenOption::EXISTS);
 }
 
 // Verify that relay4[13] is not usable in v6
@@ -1383,8 +1383,8 @@ TEST_F(EvalContextTest, logicalOps) {
     EvalContext eval0(Option::V4);
     EXPECT_NO_THROW(parsed_ = eval0.parseString("option[123].exists"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(1, eval0.expression.size());
-    TokenPtr token = eval0.expression.at(0);
+    ASSERT_EQ(1, eval0.expression_.size());
+    TokenPtr token = eval0.expression_.at(0);
     ASSERT_TRUE(token);
     boost::shared_ptr<TokenOption> opt =
         boost::dynamic_pointer_cast<TokenOption>(token);
@@ -1394,8 +1394,8 @@ TEST_F(EvalContextTest, logicalOps) {
     EvalContext evaln(Option::V4);
     EXPECT_NO_THROW(parsed_ = evaln.parseString("not option[123].exists"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(2, evaln.expression.size());
-    token = evaln.expression.at(1);
+    ASSERT_EQ(2, evaln.expression_.size());
+    token = evaln.expression_.at(1);
     ASSERT_TRUE(token);
     boost::shared_ptr<TokenNot> tnot =
         boost::dynamic_pointer_cast<TokenNot>(token);
@@ -1406,8 +1406,8 @@ TEST_F(EvalContextTest, logicalOps) {
     EXPECT_NO_THROW(parsed_ =
         evalsa.parseString("option[123].exists sand option[123].exists"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(3, evalsa.expression.size());
-    token = evalsa.expression.at(2);
+    ASSERT_EQ(3, evalsa.expression_.size());
+    token = evalsa.expression_.at(2);
     ASSERT_TRUE(token);
     boost::shared_ptr<TokenAnd> tand =
         boost::dynamic_pointer_cast<TokenAnd>(token);
@@ -1418,8 +1418,8 @@ TEST_F(EvalContextTest, logicalOps) {
     EXPECT_NO_THROW(parsed_ =
         evalso.parseString("option[123].exists sor option[123].exists"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(3, evalso.expression.size());
-    token = evalso.expression.at(2);
+    ASSERT_EQ(3, evalso.expression_.size());
+    token = evalso.expression_.at(2);
     ASSERT_TRUE(token);
     boost::shared_ptr<TokenOr> tor =
         boost::dynamic_pointer_cast<TokenOr>(token);
@@ -1430,10 +1430,10 @@ TEST_F(EvalContextTest, logicalOps) {
     EXPECT_NO_THROW(parsed_ =
         evala.parseString("option[123].exists and option[123].exists"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(4, evala.expression.size());
-    token = evala.expression.at(1);
+    ASSERT_EQ(4, evala.expression_.size());
+    token = evala.expression_.at(1);
     checkTokenPopOrBranchFalse(token, 1);
-    token = evala.expression.at(3);
+    token = evala.expression_.at(3);
     checkTokenLabel(token, 1);
 
     // or
@@ -1441,10 +1441,10 @@ TEST_F(EvalContextTest, logicalOps) {
     EXPECT_NO_THROW(parsed_ =
         evalo.parseString("option[123].exists or option[123].exists"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(4, evalo.expression.size());
-    token = evalo.expression.at(1);
+    ASSERT_EQ(4, evalo.expression_.size());
+    token = evalo.expression_.at(1);
     checkTokenPopOrBranchTrue(token, 1);
-    token = evala.expression.at(3);
+    token = evala.expression_.at(3);
     checkTokenLabel(token, 1);
 }
 
@@ -1455,8 +1455,8 @@ TEST_F(EvalContextTest, logicalPrecedence) {
     EXPECT_NO_THROW(parsed_ =
         evalnsa.parseString("not option[123].exists sand option[123].exists"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(4, evalnsa.expression.size());
-    TokenPtr token = evalnsa.expression.at(3);
+    ASSERT_EQ(4, evalnsa.expression_.size());
+    TokenPtr token = evalnsa.expression_.at(3);
     ASSERT_TRUE(token);
     boost::shared_ptr<TokenAnd> tand =
         boost::dynamic_pointer_cast<TokenAnd>(token);
@@ -1468,8 +1468,8 @@ TEST_F(EvalContextTest, logicalPrecedence) {
         evalsosa.parseString("option[123].exists sor option[123].exists "
                            "sand option[123].exists"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(5, evalsosa.expression.size());
-    token = evalsosa.expression.at(4);
+    ASSERT_EQ(5, evalsosa.expression_.size());
+    token = evalsosa.expression_.at(4);
     ASSERT_TRUE(token);
     boost::shared_ptr<TokenOr> tor =
         boost::dynamic_pointer_cast<TokenOr>(token);
@@ -1480,10 +1480,10 @@ TEST_F(EvalContextTest, logicalPrecedence) {
     EXPECT_NO_THROW(parsed_ =
         evalna.parseString("not option[123].exists and option[123].exists"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(5, evalna.expression.size());
-    token = evalna.expression.at(2);
+    ASSERT_EQ(5, evalna.expression_.size());
+    token = evalna.expression_.at(2);
     checkTokenPopOrBranchFalse(token, 1);
-    token = evalna.expression.at(4);
+    token = evalna.expression_.at(4);
     checkTokenLabel(token, 1);
 
     // and precedence > or precedence
@@ -1492,12 +1492,12 @@ TEST_F(EvalContextTest, logicalPrecedence) {
         evaloa.parseString("option[123].exists or option[123].exists "
                            "and option[123].exists"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(7, evaloa.expression.size());
-    token = evaloa.expression.at(1);
+    ASSERT_EQ(7, evaloa.expression_.size());
+    token = evaloa.expression_.at(1);
     checkTokenPopOrBranchTrue(token, 1);
-    token = evaloa.expression.at(5);
+    token = evaloa.expression_.at(5);
     checkTokenLabel(token, 2);
-    token = evaloa.expression.at(6);
+    token = evaloa.expression_.at(6);
     checkTokenLabel(token, 1);
 }
 
@@ -1509,8 +1509,8 @@ TEST_F(EvalContextTest, logicalParentheses) {
     EXPECT_NO_THROW(parsed_ =
         evalnsa.parseString("not (option[123].exists sand option[123].exists)"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(4, evalnsa.expression.size());
-    TokenPtr token = evalnsa.expression.at(3);
+    ASSERT_EQ(4, evalnsa.expression_.size());
+    TokenPtr token = evalnsa.expression_.at(3);
     ASSERT_TRUE(token);
     boost::shared_ptr<TokenNot> tnot =
         boost::dynamic_pointer_cast<TokenNot>(token);
@@ -1522,8 +1522,8 @@ TEST_F(EvalContextTest, logicalParentheses) {
         evalsosa.parseString("(option[123].exists sor option[123].exists) "
                            "sand option[123].exists"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(5, evalsosa.expression.size());
-    token = evalsosa.expression.at(4);
+    ASSERT_EQ(5, evalsosa.expression_.size());
+    token = evalsosa.expression_.at(4);
     ASSERT_TRUE(token);
     boost::shared_ptr<TokenAnd> tand =
         boost::dynamic_pointer_cast<TokenAnd>(token);
@@ -1534,12 +1534,12 @@ TEST_F(EvalContextTest, logicalParentheses) {
     EXPECT_NO_THROW(parsed_ =
         evalna.parseString("not (option[123].exists and option[123].exists)"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(5, evalna.expression.size());
-    token = evalna.expression.at(1);
+    ASSERT_EQ(5, evalna.expression_.size());
+    token = evalna.expression_.at(1);
     checkTokenPopOrBranchFalse(token, 1);
-    token = evalna.expression.at(3);
+    token = evalna.expression_.at(3);
     checkTokenLabel(token, 1);
-    token = evalna.expression.at(4);
+    token = evalna.expression_.at(4);
     ASSERT_TRUE(token);
     tnot = boost::dynamic_pointer_cast<TokenNot>(token);
     EXPECT_TRUE(tnot);
@@ -1550,14 +1550,14 @@ TEST_F(EvalContextTest, logicalParentheses) {
         evaloa.parseString("(option[123].exists or option[123].exists) "
                            "and option[123].exists"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(7, evaloa.expression.size());
-    token = evaloa.expression.at(1);
+    ASSERT_EQ(7, evaloa.expression_.size());
+    token = evaloa.expression_.at(1);
     checkTokenPopOrBranchTrue(token, 1);
-    token = evaloa.expression.at(3);
+    token = evaloa.expression_.at(3);
     checkTokenLabel(token, 1);
-    token = evaloa.expression.at(4);
+    token = evaloa.expression_.at(4);
     checkTokenPopOrBranchFalse(token, 2);
-    token = evaloa.expression.at(6);
+    token = evaloa.expression_.at(6);
     checkTokenLabel(token, 2);
 }
 
@@ -1569,12 +1569,12 @@ TEST_F(EvalContextTest, substring) {
         eval.parseString("substring('foobar',2,all) == 'obar'"));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(6, eval.expression.size());
+    ASSERT_EQ(6, eval.expression_.size());
 
-    TokenPtr tmp1 = eval.expression.at(0);
-    TokenPtr tmp2 = eval.expression.at(1);
-    TokenPtr tmp3 = eval.expression.at(2);
-    TokenPtr tmp4 = eval.expression.at(3);
+    TokenPtr tmp1 = eval.expression_.at(0);
+    TokenPtr tmp2 = eval.expression_.at(1);
+    TokenPtr tmp3 = eval.expression_.at(2);
+    TokenPtr tmp4 = eval.expression_.at(3);
 
     checkTokenString(tmp1, "foobar");
     checkTokenString(tmp2, "2");
@@ -1590,11 +1590,11 @@ TEST_F(EvalContextTest, concat) {
         eval.parseString("concat('foo','bar') == 'foobar'"));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(5, eval.expression.size());
+    ASSERT_EQ(5, eval.expression_.size());
 
-    TokenPtr tmp1 = eval.expression.at(0);
-    TokenPtr tmp2 = eval.expression.at(1);
-    TokenPtr tmp3 = eval.expression.at(2);
+    TokenPtr tmp1 = eval.expression_.at(0);
+    TokenPtr tmp2 = eval.expression_.at(1);
+    TokenPtr tmp3 = eval.expression_.at(2);
 
     checkTokenString(tmp1, "foo");
     checkTokenString(tmp2, "bar");
@@ -1609,11 +1609,11 @@ TEST_F(EvalContextTest, plus) {
         eval.parseString("'foo' + 'bar' == 'foobar'"));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(5, eval.expression.size());
+    ASSERT_EQ(5, eval.expression_.size());
 
-    TokenPtr tmp1 = eval.expression.at(0);
-    TokenPtr tmp2 = eval.expression.at(1);
-    TokenPtr tmp3 = eval.expression.at(2);
+    TokenPtr tmp1 = eval.expression_.at(0);
+    TokenPtr tmp2 = eval.expression_.at(1);
+    TokenPtr tmp3 = eval.expression_.at(2);
 
     checkTokenString(tmp1, "foo");
     checkTokenString(tmp2, "bar");
@@ -1628,13 +1628,13 @@ TEST_F(EvalContextTest, assocPlus) {
     EXPECT_NO_THROW(parsed_ =
         eval.parseString("'a' + 'b' + 'c' == 'abc'"));
 
-    ASSERT_EQ(7, eval.expression.size());
+    ASSERT_EQ(7, eval.expression_.size());
 
-    TokenPtr tmp1 = eval.expression.at(0);
-    TokenPtr tmp2 = eval.expression.at(1);
-    TokenPtr tmp3 = eval.expression.at(2);
-    TokenPtr tmp4 = eval.expression.at(3);
-    TokenPtr tmp5 = eval.expression.at(4);
+    TokenPtr tmp1 = eval.expression_.at(0);
+    TokenPtr tmp2 = eval.expression_.at(1);
+    TokenPtr tmp3 = eval.expression_.at(2);
+    TokenPtr tmp4 = eval.expression_.at(3);
+    TokenPtr tmp5 = eval.expression_.at(4);
 
     checkTokenString(tmp1, "a");
     checkTokenString(tmp2, "b");
@@ -1650,13 +1650,13 @@ TEST_F(EvalContextTest, assocRightPlus) {
     EXPECT_NO_THROW(parsed_ =
         eval.parseString("'a' + ('b' + 'c') == 'abc'"));
 
-    ASSERT_EQ(7, eval.expression.size());
+    ASSERT_EQ(7, eval.expression_.size());
 
-    TokenPtr tmp1 = eval.expression.at(0);
-    TokenPtr tmp2 = eval.expression.at(1);
-    TokenPtr tmp3 = eval.expression.at(2);
-    TokenPtr tmp4 = eval.expression.at(3);
-    TokenPtr tmp5 = eval.expression.at(4);
+    TokenPtr tmp1 = eval.expression_.at(0);
+    TokenPtr tmp2 = eval.expression_.at(1);
+    TokenPtr tmp3 = eval.expression_.at(2);
+    TokenPtr tmp4 = eval.expression_.at(3);
+    TokenPtr tmp5 = eval.expression_.at(4);
 
     checkTokenString(tmp1, "a");
     checkTokenString(tmp2, "b");
@@ -1672,12 +1672,12 @@ TEST_F(EvalContextTest, strictIfElse) {
     EXPECT_NO_THROW(parsed_ =
         eval.parseString("sifelse('foo' == 'bar', 'us', 'them') == 'you'"));
 
-    ASSERT_EQ(8, eval.expression.size());
+    ASSERT_EQ(8, eval.expression_.size());
 
-    TokenPtr tmp1 = eval.expression.at(2);
-    TokenPtr tmp2 = eval.expression.at(3);
-    TokenPtr tmp3 = eval.expression.at(4);
-    TokenPtr tmp4 = eval.expression.at(5);
+    TokenPtr tmp1 = eval.expression_.at(2);
+    TokenPtr tmp2 = eval.expression_.at(3);
+    TokenPtr tmp3 = eval.expression_.at(4);
+    TokenPtr tmp4 = eval.expression_.at(5);
 
     checkTokenEq(tmp1);
     checkTokenString(tmp2, "us");
@@ -1692,19 +1692,19 @@ TEST_F(EvalContextTest, ifElse) {
     EXPECT_NO_THROW(parsed_ =
         eval.parseString("ifelse('foo' == 'bar', 'us', 'them') == 'you'"));
 
-    ASSERT_EQ(11, eval.expression.size());
+    ASSERT_EQ(11, eval.expression_.size());
 
-    TokenPtr tmp1 = eval.expression.at(0);
-    TokenPtr tmp2 = eval.expression.at(1);
-    TokenPtr tmp3 = eval.expression.at(2);
-    TokenPtr tmp4 = eval.expression.at(3);
-    TokenPtr tmp5 = eval.expression.at(4);
-    TokenPtr tmp6 = eval.expression.at(5);
-    TokenPtr tmp7 = eval.expression.at(6);
-    TokenPtr tmp8 = eval.expression.at(7);
-    TokenPtr tmp9 = eval.expression.at(8);
-    TokenPtr tmp10 = eval.expression.at(9);
-    TokenPtr tmp11 = eval.expression.at(10);
+    TokenPtr tmp1 = eval.expression_.at(0);
+    TokenPtr tmp2 = eval.expression_.at(1);
+    TokenPtr tmp3 = eval.expression_.at(2);
+    TokenPtr tmp4 = eval.expression_.at(3);
+    TokenPtr tmp5 = eval.expression_.at(4);
+    TokenPtr tmp6 = eval.expression_.at(5);
+    TokenPtr tmp7 = eval.expression_.at(6);
+    TokenPtr tmp8 = eval.expression_.at(7);
+    TokenPtr tmp9 = eval.expression_.at(8);
+    TokenPtr tmp10 = eval.expression_.at(9);
+    TokenPtr tmp11 = eval.expression_.at(10);
 
     checkTokenString(tmp1, "foo");
     checkTokenString(tmp2, "bar");
@@ -1726,18 +1726,18 @@ TEST_F(EvalContextTest, plusStrictIfElse) {
     EXPECT_NO_THROW(parsed_ =
         eval.parseString("'foo' + sifelse('a' == 'a', 'bar', '') == 'foobar'"));
 
-    ASSERT_EQ(10, eval.expression.size());
+    ASSERT_EQ(10, eval.expression_.size());
 
-    TokenPtr tmp1 = eval.expression.at(0);
-    TokenPtr tmp2 = eval.expression.at(1);
-    TokenPtr tmp3 = eval.expression.at(2);
-    TokenPtr tmp4 = eval.expression.at(3);
-    TokenPtr tmp5 = eval.expression.at(4);
-    TokenPtr tmp6 = eval.expression.at(5);
-    TokenPtr tmp7 = eval.expression.at(6);
-    TokenPtr tmp8 = eval.expression.at(7);
-    TokenPtr tmp9 = eval.expression.at(8);
-    TokenPtr tmp10 = eval.expression.at(9);
+    TokenPtr tmp1 = eval.expression_.at(0);
+    TokenPtr tmp2 = eval.expression_.at(1);
+    TokenPtr tmp3 = eval.expression_.at(2);
+    TokenPtr tmp4 = eval.expression_.at(3);
+    TokenPtr tmp5 = eval.expression_.at(4);
+    TokenPtr tmp6 = eval.expression_.at(5);
+    TokenPtr tmp7 = eval.expression_.at(6);
+    TokenPtr tmp8 = eval.expression_.at(7);
+    TokenPtr tmp9 = eval.expression_.at(8);
+    TokenPtr tmp10 = eval.expression_.at(9);
 
     checkTokenString(tmp1, "foo");
     checkTokenString(tmp2, "a");
@@ -1758,21 +1758,21 @@ TEST_F(EvalContextTest, plusIfElse) {
     EXPECT_NO_THROW(parsed_ =
         eval.parseString("'foo' + ifelse('a' == 'a', 'bar', '') == 'foobar'"));
 
-    ASSERT_EQ(13, eval.expression.size());
-
-    TokenPtr tmp1 = eval.expression.at(0);
-    TokenPtr tmp2 = eval.expression.at(1);
-    TokenPtr tmp3 = eval.expression.at(2);
-    TokenPtr tmp4 = eval.expression.at(3);
-    TokenPtr tmp5 = eval.expression.at(4);
-    TokenPtr tmp6 = eval.expression.at(5);
-    TokenPtr tmp7 = eval.expression.at(6);
-    TokenPtr tmp8 = eval.expression.at(7);
-    TokenPtr tmp9 = eval.expression.at(8);
-    TokenPtr tmp10 = eval.expression.at(9);
-    TokenPtr tmp11 = eval.expression.at(10);
-    TokenPtr tmp12 = eval.expression.at(11);
-    TokenPtr tmp13 = eval.expression.at(12);
+    ASSERT_EQ(13, eval.expression_.size());
+
+    TokenPtr tmp1 = eval.expression_.at(0);
+    TokenPtr tmp2 = eval.expression_.at(1);
+    TokenPtr tmp3 = eval.expression_.at(2);
+    TokenPtr tmp4 = eval.expression_.at(3);
+    TokenPtr tmp5 = eval.expression_.at(4);
+    TokenPtr tmp6 = eval.expression_.at(5);
+    TokenPtr tmp7 = eval.expression_.at(6);
+    TokenPtr tmp8 = eval.expression_.at(7);
+    TokenPtr tmp9 = eval.expression_.at(8);
+    TokenPtr tmp10 = eval.expression_.at(9);
+    TokenPtr tmp11 = eval.expression_.at(10);
+    TokenPtr tmp12 = eval.expression_.at(11);
+    TokenPtr tmp13 = eval.expression_.at(12);
 
     checkTokenString(tmp1, "foo");
     checkTokenString(tmp2, "a");
@@ -1797,11 +1797,11 @@ TEST_F(EvalContextTest, toHexString) {
         eval.parseString("hexstring(0x666f,'-') == '66-6f'"));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(5, eval.expression.size());
+    ASSERT_EQ(5, eval.expression_.size());
 
-    TokenPtr tmp1 = eval.expression.at(0);
-    TokenPtr tmp2 = eval.expression.at(1);
-    TokenPtr tmp3 = eval.expression.at(2);
+    TokenPtr tmp1 = eval.expression_.at(0);
+    TokenPtr tmp2 = eval.expression_.at(1);
+    TokenPtr tmp3 = eval.expression_.at(2);
 
     checkTokenHexString(tmp1, "fo");
     checkTokenString(tmp2, "-");
@@ -1815,12 +1815,12 @@ TEST_F(EvalContextTest, lcase) {
     EXPECT_NO_THROW(parsed_ = eval.parseString("lcase('LoWeR') == 'lower'"));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(4, eval.expression.size());
+    ASSERT_EQ(4, eval.expression_.size());
 
-    TokenPtr tmp1 = eval.expression.at(0);
-    TokenPtr tmp2 = eval.expression.at(1);
-    TokenPtr tmp3 = eval.expression.at(2);
-    TokenPtr tmp4 = eval.expression.at(3);
+    TokenPtr tmp1 = eval.expression_.at(0);
+    TokenPtr tmp2 = eval.expression_.at(1);
+    TokenPtr tmp3 = eval.expression_.at(2);
+    TokenPtr tmp4 = eval.expression_.at(3);
 
     checkTokenString(tmp1, "LoWeR");
     checkTokenLowerCase(tmp2, "lower");
@@ -1837,12 +1837,12 @@ TEST_F(EvalContextTest, lcaseComplex) {
     EXPECT_NO_THROW(parsed_ = eval.parseString(string(data, sizeof(data) - 1)));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(4, eval.expression.size());
+    ASSERT_EQ(4, eval.expression_.size());
 
-    TokenPtr tmp1 = eval.expression.at(0);
-    TokenPtr tmp2 = eval.expression.at(1);
-    TokenPtr tmp3 = eval.expression.at(2);
-    TokenPtr tmp4 = eval.expression.at(3);
+    TokenPtr tmp1 = eval.expression_.at(0);
+    TokenPtr tmp2 = eval.expression_.at(1);
+    TokenPtr tmp3 = eval.expression_.at(2);
+    TokenPtr tmp4 = eval.expression_.at(3);
 
     char expected_data[] = "12345~!@#$%^&*()_+LoWeR{}[];:<>/?\\67890\t \0\b\r\f";
     char expected_updated_data[] = "12345~!@#$%^&*()_+lower{}[];:<>/?\\67890\t \0\b\r\f";
@@ -1859,12 +1859,12 @@ TEST_F(EvalContextTest, ucase) {
     EXPECT_NO_THROW(parsed_ = eval.parseString("ucase('uPpEr') == 'UPPER'"));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(4, eval.expression.size());
+    ASSERT_EQ(4, eval.expression_.size());
 
-    TokenPtr tmp1 = eval.expression.at(0);
-    TokenPtr tmp2 = eval.expression.at(1);
-    TokenPtr tmp3 = eval.expression.at(2);
-    TokenPtr tmp4 = eval.expression.at(3);
+    TokenPtr tmp1 = eval.expression_.at(0);
+    TokenPtr tmp2 = eval.expression_.at(1);
+    TokenPtr tmp3 = eval.expression_.at(2);
+    TokenPtr tmp4 = eval.expression_.at(3);
 
     checkTokenString(tmp1, "uPpEr");
     checkTokenUpperCase(tmp2, "UPPER");
@@ -1881,12 +1881,12 @@ TEST_F(EvalContextTest, ucaseComplex) {
     EXPECT_NO_THROW(parsed_ = eval.parseString(string(data, sizeof(data) - 1)));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(4, eval.expression.size());
+    ASSERT_EQ(4, eval.expression_.size());
 
-    TokenPtr tmp1 = eval.expression.at(0);
-    TokenPtr tmp2 = eval.expression.at(1);
-    TokenPtr tmp3 = eval.expression.at(2);
-    TokenPtr tmp4 = eval.expression.at(3);
+    TokenPtr tmp1 = eval.expression_.at(0);
+    TokenPtr tmp2 = eval.expression_.at(1);
+    TokenPtr tmp3 = eval.expression_.at(2);
+    TokenPtr tmp4 = eval.expression_.at(3);
 
     char expected_data[] = "12345~!@#$%^&*()_+uPpEr{}[];:<>/?\\67890\t \0\b\r\f";
     char expected_updated_data[] = "12345~!@#$%^&*()_+UPPER{}[];:<>/?\\67890\t \0\b\r\f";
@@ -1904,12 +1904,12 @@ TEST_F(EvalContextTest, addressToText) {
         EXPECT_NO_THROW(parsed_ = eval.parseString("addrtotext(10.0.0.1) == '10.0.0.1'"));
         EXPECT_TRUE(parsed_);
 
-        ASSERT_EQ(4, eval.expression.size());
+        ASSERT_EQ(4, eval.expression_.size());
 
-        TokenPtr tmp1 = eval.expression.at(0);
-        TokenPtr tmp2 = eval.expression.at(1);
-        TokenPtr tmp3 = eval.expression.at(2);
-        TokenPtr tmp4 = eval.expression.at(3);
+        TokenPtr tmp1 = eval.expression_.at(0);
+        TokenPtr tmp2 = eval.expression_.at(1);
+        TokenPtr tmp3 = eval.expression_.at(2);
+        TokenPtr tmp4 = eval.expression_.at(3);
 
         checkTokenIpAddress(tmp1, "10.0.0.1");
         checkTokenIpAddressToText(tmp2, "10.0.0.1");
@@ -1923,12 +1923,12 @@ TEST_F(EvalContextTest, addressToText) {
         EXPECT_NO_THROW(parsed_ = eval.parseString("addrtotext(2001:db8::1) == '2001:db8::1'"));
         EXPECT_TRUE(parsed_);
 
-        ASSERT_EQ(4, eval.expression.size());
+        ASSERT_EQ(4, eval.expression_.size());
 
-        TokenPtr tmp1 = eval.expression.at(0);
-        TokenPtr tmp2 = eval.expression.at(1);
-        TokenPtr tmp3 = eval.expression.at(2);
-        TokenPtr tmp4 = eval.expression.at(3);
+        TokenPtr tmp1 = eval.expression_.at(0);
+        TokenPtr tmp2 = eval.expression_.at(1);
+        TokenPtr tmp3 = eval.expression_.at(2);
+        TokenPtr tmp4 = eval.expression_.at(3);
 
         checkTokenIpAddress(tmp1, "2001:db8::1");
         checkTokenIpAddressToText(tmp2, "2001:db8::1");
@@ -1944,12 +1944,12 @@ TEST_F(EvalContextTest, int8ToText) {
     EXPECT_NO_THROW(parsed_ = eval.parseString("int8totext(255) == '-1'"));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(4, eval.expression.size());
+    ASSERT_EQ(4, eval.expression_.size());
 
-    TokenPtr tmp1 = eval.expression.at(0);
-    TokenPtr tmp2 = eval.expression.at(1);
-    TokenPtr tmp3 = eval.expression.at(2);
-    TokenPtr tmp4 = eval.expression.at(3);
+    TokenPtr tmp1 = eval.expression_.at(0);
+    TokenPtr tmp2 = eval.expression_.at(1);
+    TokenPtr tmp3 = eval.expression_.at(2);
+    TokenPtr tmp4 = eval.expression_.at(3);
 
     checkTokenInteger(tmp1, 255);
     checkTokenIntToText<int8_t, TokenInt8ToText>(tmp2, "-1");
@@ -1964,12 +1964,12 @@ TEST_F(EvalContextTest, int16ToText) {
     EXPECT_NO_THROW(parsed_ = eval.parseString("int16totext(65535) == '-1'"));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(4, eval.expression.size());
+    ASSERT_EQ(4, eval.expression_.size());
 
-    TokenPtr tmp1 = eval.expression.at(0);
-    TokenPtr tmp2 = eval.expression.at(1);
-    TokenPtr tmp3 = eval.expression.at(2);
-    TokenPtr tmp4 = eval.expression.at(3);
+    TokenPtr tmp1 = eval.expression_.at(0);
+    TokenPtr tmp2 = eval.expression_.at(1);
+    TokenPtr tmp3 = eval.expression_.at(2);
+    TokenPtr tmp4 = eval.expression_.at(3);
 
     checkTokenInteger(tmp1, 65535);
     checkTokenIntToText<int16_t, TokenInt16ToText>(tmp2, "-1");
@@ -1984,12 +1984,12 @@ TEST_F(EvalContextTest, int32ToText) {
     EXPECT_NO_THROW(parsed_ = eval.parseString("int32totext(4294967295) == '-1'"));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(4, eval.expression.size());
+    ASSERT_EQ(4, eval.expression_.size());
 
-    TokenPtr tmp1 = eval.expression.at(0);
-    TokenPtr tmp2 = eval.expression.at(1);
-    TokenPtr tmp3 = eval.expression.at(2);
-    TokenPtr tmp4 = eval.expression.at(3);
+    TokenPtr tmp1 = eval.expression_.at(0);
+    TokenPtr tmp2 = eval.expression_.at(1);
+    TokenPtr tmp3 = eval.expression_.at(2);
+    TokenPtr tmp4 = eval.expression_.at(3);
 
     checkTokenInteger(tmp1, 4294967295);
     checkTokenIntToText<int32_t, TokenInt32ToText>(tmp2, "-1");
@@ -2004,12 +2004,12 @@ TEST_F(EvalContextTest, uint8ToText) {
     EXPECT_NO_THROW(parsed_ = eval.parseString("uint8totext(255) == '255'"));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(4, eval.expression.size());
+    ASSERT_EQ(4, eval.expression_.size());
 
-    TokenPtr tmp1 = eval.expression.at(0);
-    TokenPtr tmp2 = eval.expression.at(1);
-    TokenPtr tmp3 = eval.expression.at(2);
-    TokenPtr tmp4 = eval.expression.at(3);
+    TokenPtr tmp1 = eval.expression_.at(0);
+    TokenPtr tmp2 = eval.expression_.at(1);
+    TokenPtr tmp3 = eval.expression_.at(2);
+    TokenPtr tmp4 = eval.expression_.at(3);
 
     checkTokenInteger(tmp1, 255);
     checkTokenIntToText<uint8_t, TokenUInt8ToText>(tmp2, "255");
@@ -2024,12 +2024,12 @@ TEST_F(EvalContextTest, uint16ToText) {
     EXPECT_NO_THROW(parsed_ = eval.parseString("uint16totext(65535) == '65535'"));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(4, eval.expression.size());
+    ASSERT_EQ(4, eval.expression_.size());
 
-    TokenPtr tmp1 = eval.expression.at(0);
-    TokenPtr tmp2 = eval.expression.at(1);
-    TokenPtr tmp3 = eval.expression.at(2);
-    TokenPtr tmp4 = eval.expression.at(3);
+    TokenPtr tmp1 = eval.expression_.at(0);
+    TokenPtr tmp2 = eval.expression_.at(1);
+    TokenPtr tmp3 = eval.expression_.at(2);
+    TokenPtr tmp4 = eval.expression_.at(3);
 
     checkTokenInteger(tmp1, 65535);
     checkTokenIntToText<uint16_t, TokenUInt16ToText>(tmp2, "65535");
@@ -2044,12 +2044,12 @@ TEST_F(EvalContextTest, uint32ToText) {
     EXPECT_NO_THROW(parsed_ = eval.parseString("uint32totext(4294967295) == '4294967295'"));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(4, eval.expression.size());
+    ASSERT_EQ(4, eval.expression_.size());
 
-    TokenPtr tmp1 = eval.expression.at(0);
-    TokenPtr tmp2 = eval.expression.at(1);
-    TokenPtr tmp3 = eval.expression.at(2);
-    TokenPtr tmp4 = eval.expression.at(3);
+    TokenPtr tmp1 = eval.expression_.at(0);
+    TokenPtr tmp2 = eval.expression_.at(1);
+    TokenPtr tmp3 = eval.expression_.at(2);
+    TokenPtr tmp4 = eval.expression_.at(3);
 
     checkTokenInteger(tmp1, 4294967295);
     checkTokenIntToText<uint32_t, TokenUInt32ToText>(tmp2, "4294967295");
@@ -2450,8 +2450,8 @@ TEST_F(EvalContextTest, subOptionWithCode) {
 
     EXPECT_NO_THROW(parsed_ = eval.parseString("option[123].option[234].text == 'foo'"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(3, eval.expression.size());
-    checkTokenSubOption(eval.expression.at(0), 123, 234, TokenOption::TEXTUAL);
+    ASSERT_EQ(3, eval.expression_.size());
+    checkTokenSubOption(eval.expression_.at(0), 123, 234, TokenOption::TEXTUAL);
 }
 
 // Test the parsing of a sub-option with parent by name.
@@ -2460,8 +2460,8 @@ TEST_F(EvalContextTest, subOptionWithName) {
 
     EXPECT_NO_THROW(parsed_ = eval.parseString("option[host-name].option[123].text == 'foo'"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(3, eval.expression.size());
-    checkTokenSubOption(eval.expression.at(0), 12, 123, TokenOption::TEXTUAL);
+    ASSERT_EQ(3, eval.expression_.size());
+    checkTokenSubOption(eval.expression_.at(0), 12, 123, TokenOption::TEXTUAL);
 }
 
 // Test the parsing of a sub-option existence
@@ -2470,8 +2470,8 @@ TEST_F(EvalContextTest, subOptionExists) {
 
     EXPECT_NO_THROW(parsed_ = eval.parseString("option[100].option[200].exists"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(1, eval.expression.size());
-    checkTokenSubOption(eval.expression.at(0), 100, 200, TokenOption::EXISTS);
+    ASSERT_EQ(1, eval.expression_.size());
+    checkTokenSubOption(eval.expression_.at(0), 100, 200, TokenOption::EXISTS);
 }
 
 // Test parsing of a sub-option represented as hexadecimal string.
@@ -2480,8 +2480,8 @@ TEST_F(EvalContextTest, subOptionHex) {
 
     EXPECT_NO_THROW(parsed_ = eval.parseString("option[123].option[234].hex == 0x666F6F"));
     EXPECT_TRUE(parsed_);
-    ASSERT_EQ(3, eval.expression.size());
-    checkTokenSubOption(eval.expression.at(0), 123, 234, TokenOption::HEXADECIMAL);
+    ASSERT_EQ(3, eval.expression_.size());
+    checkTokenSubOption(eval.expression_.at(0), 123, 234, TokenOption::HEXADECIMAL);
 }
 
 // Checks if integer expressions can be parsed and checked for equality.
@@ -2492,12 +2492,12 @@ TEST_F(EvalContextTest, integer1) {
     EXPECT_NO_THROW(parsed_ = eval.parseString("1 == 2"));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(3, eval.expression.size());
+    ASSERT_EQ(3, eval.expression_.size());
 
-    TokenPtr tmp = eval.expression.at(0);
+    TokenPtr tmp = eval.expression_.at(0);
     ASSERT_TRUE(tmp);
     checkTokenInteger(tmp, 1);
-    tmp = eval.expression.at(1);
+    tmp = eval.expression_.at(1);
 
     ASSERT_TRUE(tmp);
     checkTokenInteger(tmp, 2);
@@ -2510,13 +2510,13 @@ TEST_F(EvalContextTest, match) {
     EXPECT_NO_THROW(parsed_ = eval.parseString("match('foo.*', 'foobar')"));
     EXPECT_TRUE(parsed_);
 
-    ASSERT_EQ(2, eval.expression.size());
+    ASSERT_EQ(2, eval.expression_.size());
 
-    TokenPtr tmp = eval.expression.at(0);
+    TokenPtr tmp = eval.expression_.at(0);
     ASSERT_TRUE(tmp);
     checkTokenString(tmp, "foobar");
 
-    tmp = eval.expression.at(1);
+    tmp = eval.expression_.at(1);
     checkTokenMatch(tmp, "foo.*");
 
     Pkt4Ptr pkt4(new Pkt4(DHCPDISCOVER, 12345));
index 13cb9999f55ca15d07698d1e63b45c7c8d951e9e..c95f6fcd20a8a0c3e7d8a03cc13404b153b1922a 100644 (file)
@@ -315,11 +315,11 @@ public:
 
         switch (u) {
         case Option::V4:
-            ASSERT_NO_THROW(result = evaluateBool(eval.expression, *pkt4_))
+            ASSERT_NO_THROW(result = evaluateBool(eval.expression_, *pkt4_))
                 << " for expression " << expr;
             break;
         case Option::V6:
-            ASSERT_NO_THROW(result = evaluateBool(eval.expression, *pkt6_))
+            ASSERT_NO_THROW(result = evaluateBool(eval.expression_, *pkt6_))
                 << " for expression " << expr;
             break;
         }
@@ -348,11 +348,11 @@ public:
 
         switch (u) {
         case Option::V4:
-            ASSERT_NO_THROW(result = evaluateString(eval.expression, *pkt4_))
+            ASSERT_NO_THROW(result = evaluateString(eval.expression_, *pkt4_))
                 << " for expression " << expr;
             break;
         case Option::V6:
-            ASSERT_NO_THROW(result = evaluateString(eval.expression, *pkt6_))
+            ASSERT_NO_THROW(result = evaluateString(eval.expression_, *pkt6_))
                 << " for expression " << expr;
             break;
         }