diff --git a/src/CLI.cpp b/src/CLI.cpp
index 016e772f6..74998b398 100644
--- a/src/CLI.cpp
+++ b/src/CLI.cpp
@@ -318,6 +318,7 @@ void CLI::analyze ()
desugarPatterns ();
desugarIDs ();
desugarUUIDs ();
+ //desugarPlainArgs ();
findOperators ();
insertJunctions ();
@@ -1250,6 +1251,40 @@ void CLI::desugarUUIDs ()
_args = reconstructed;
}
+////////////////////////////////////////////////////////////////////////////////
+void CLI::desugarPlainArgs ()
+{
+ std::vector reconstructed;
+ std::vector ::iterator a;
+ for (a = _args.begin (); a != _args.end (); ++a)
+ {
+ if (a->hasTag ("FILTER") &&
+ ! a->hasTag ("ATTRIBUTE") &&
+ ! a->hasTag ("OP") &&
+ ! a->hasTag ("LITERAL"))
+ {
+ A lhs ("argPattern", "description");
+ lhs.tag ("ATTRIBUTE");
+ lhs.tag ("FILTER");
+ reconstructed.push_back (lhs);
+
+ A op ("argPattern", "~");
+ op.tag ("OP");
+ op.tag ("FILTER");
+ reconstructed.push_back (op);
+
+ A rhs ("argPattern", "'" + a->attribute ("raw") + "'");
+ rhs.tag ("LITERAL");
+ rhs.tag ("FILTER");
+ reconstructed.push_back (rhs);
+ }
+ else
+ reconstructed.push_back (*a);
+ }
+
+ _args = reconstructed;
+}
+
////////////////////////////////////////////////////////////////////////////////
void CLI::findOperators ()
{
diff --git a/src/CLI.h b/src/CLI.h
index 7e8e5918f..76070721a 100644
--- a/src/CLI.h
+++ b/src/CLI.h
@@ -87,6 +87,7 @@ private:
void desugarPatterns ();
void desugarIDs ();
void desugarUUIDs ();
+ void desugarPlainArgs ();
void findOperators ();
void insertJunctions ();
void decomposeModAttributes ();