]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[5363] Updated syntax
authorFrancis Dupont <fdupont@isc.org>
Thu, 28 Sep 2017 12:13:00 +0000 (14:13 +0200)
committerFrancis Dupont <fdupont@isc.org>
Thu, 28 Sep 2017 12:13:00 +0000 (14:13 +0200)
src/lib/eval/lexer.ll
src/lib/eval/parser.yy

index f49aa1954313a88ed90dba0f49f545464add5d39..9a914f71472a07a3a3893a3d35d2fe5d64fe2589 100644 (file)
@@ -196,6 +196,7 @@ addr6 [0-9a-fA-F]*\:[0-9a-fA-F]*\:[0-9a-fA-F:.]*
 "substring"    return isc::eval::EvalParser::make_SUBSTRING(loc);
 "all"          return isc::eval::EvalParser::make_ALL(loc);
 "concat"       return isc::eval::EvalParser::make_CONCAT(loc);
+"ifelse"       return isc::eval::EvalParser::make_IFELSE(loc);
 "not"          return isc::eval::EvalParser::make_NOT(loc);
 "and"          return isc::eval::EvalParser::make_AND(loc);
 "or"           return isc::eval::EvalParser::make_OR(loc);
index 142b872b519e2496c5c6658d2e2c1861394aae31..96f8c52668a47c5ab716e60860a3371a9badc327 100644 (file)
@@ -72,6 +72,7 @@ using namespace isc::eval;
   ALL "all"
   COMA ","
   CONCAT "concat"
+  IFELSE "ifelse"
   PKT6 "pkt6"
   MSGTYPE "msgtype"
   TRANSID "transid"
@@ -327,6 +328,11 @@ string_expr : STRING
                       TokenPtr conc(new TokenConcat());
                       ctx.expression.push_back(conc);
                   }
+            | IFELSE "(" bool_expr "," string_expr "," string_expr ")"
+                  {
+                      TokenPtr cond(new TokenIfElse());
+                      ctx.expression.push_back(cond);
+                  }
             | VENDOR "." ENTERPRISE
                 {
                     // expression: vendor.enterprise