diff --git a/exprtk.hpp b/exprtk.hpp
index a3d14ea..b4d4343 100644
--- a/exprtk.hpp
+++ b/exprtk.hpp
@@ -23810,7 +23810,10 @@
                default            : return;
             }
 
-            parser_->dec_.add_assignment(symbol_name,cst);
+            if (!symbol_name.empty())
+            {
+               parser_->dec_.add_assignment(symbol_name,cst);
+            }
          }
 
          inline expression_node_ptr synthesize_assignment_expression(const details::operator_type& operation, expression_node_ptr (&branch)[2])
diff --git a/readme.txt b/readme.txt
index 1c29569..43c831b 100644
--- a/readme.txt
+++ b/readme.txt
@@ -403,17 +403,17 @@
 |          | in the event they have fractional components truncation |
 |          | will be performed. (eg: 1.67 --> 1)                     |
 +----------+---------------------------------------------------------+
-|  :=      | Assign the value of x to y. Where x is a mutable string |
-|          | or string range and y is either a string or a string    |
+|  :=      | Assign the value of x to y. Where y is a mutable string |
+|          | or string range and x is either a string or a string    |
 |          | range. eg:                                              |
-|          | 1. x := y                                               |
-|          | 2. x := 'abc'                                           |
-|          | 3. x := y[:i + j]                                       |
-|          | 4. x := '0123456789'[2:7]                               |
-|          | 5. x := '0123456789'[2i + 1:7]                          |
-|          | 6. x := (y := '0123456789'[2:7])                        |
-|          | 7. x[i:j] := y                                          |
-|          | 8. x[i:j] := (y + 'abcdefg'[8 / 4:5])[m:n]              |
+|          | 1. y := x                                               |
+|          | 2. y := 'abc'                                           |
+|          | 3. y := x[:i + j]                                       |
+|          | 4. y := '0123456789'[2:7]                               |
+|          | 5. y := '0123456789'[2i + 1:7]                          |
+|          | 6. y := (x := '0123456789'[2:7])                        |
+|          | 7. y[i:j] := x                                          |
+|          | 8. y[i:j] := (x + 'abcdefg'[8 / 4:5])[m:n]              |
 |          |                                                         |
 |          | Note: For options 7 and 8 the shorter of the two ranges |
 |          | will denote the number characters that are to be copied.|
@@ -593,7 +593,7 @@
 |          | 2. max_size := max(v0[],v1[],v2[],v3[])                 |
 +----------+---------------------------------------------------------+
 
-Note: In  the  above  tables, the  symbols x, y, z, w, u  and v  where
+Note: In  the  tables  above, the  symbols x, y, z, w, u  and v  where
 appropriate may represent any of one the following:
 
    1. Literal numeric/string value
@@ -1307,10 +1307,10 @@
    };
 
 
-In the above example, the input 'parameters' to the function operator,
+In the example above, the input 'parameters' to the function operator,
 parameter_list_t,  is  a  type  of  std::vector  of  type_store.  Each
 type_store  instance  has  a  member  called  'type'  which  holds the
-enumeration pertaining  the underlying  type of  the type_store. There
+enumeration pertaining to the underlying type of the type_store. There
 are three type enumerations:
 
    (1) e_scalar - literals, variables, vector elements, expressions
@@ -1570,7 +1570,7 @@
    };
 
 
-In the above example there are four distinct parameter sequences  that
+In the example above there are four distinct parameter sequences  that
 can be processed  by the generic  function 'roo'. Any  other parameter
 sequences will cause a compilation error. The four valid sequences are
 as follows:
@@ -2039,7 +2039,7 @@
     parser.compile("1 + sin(30)",expression);
 
 
-In the above example, the custom 'sin' function is registered with the
+In the example above, the custom 'sin' function is registered with the
 symbol_table using the method 'add_reserved_function'. This is done so
 as to bypass the checks for reserved words that are carried out on the
 provided symbol names when calling the standard 'add_function' method.
@@ -2261,9 +2261,10 @@
  (06) All  reserved words,  keywords, variable,  vector, string   and
       function names are case-insensitive.
 
- (07) Variable, vector and  function names must  begin with a  letter
-      (A-Z  or a-z),  then  can  be comprised  of any  combination of
-      letters, digits and underscores. (eg: x, var1 or power_func99)
+ (07) Variable, vector, string variable and function names must begin
+      with  a  letter  (A-Z or  a-z), then  can be  comprised of  any
+      combination of letters, digits and underscores. (eg: x, var1 or
+      power_func99)
 
  (08) Expression lengths and sub-expression lists are limited only by
       storage capacity.
