code: function parseAssignment() {
                      var expr, value, token, content = [];
  
                      expr = parseAdditive();
  
                      if (typeof expr !== 'undefined' && expr.subtype === 'variable') {
                          token = lexer.peek();
                          if (matchOp(token, ':=')) {
                              lexer.next();
  
                              content.push(expr);
                              value = parseAssignment();
  
                              while (value.subtype === 'assignment') {
                                  content = content.concat(value.content);
                                  value = value.value;
                              }
  
                              return new MathLib.Expression({
                                  subtype: 'assignment',
                                  content: content,
                                  value: value
                              });
                          }
                          return expr;
                      }
  
                      return expr;
                  }
docs: Assignment ::= Identifier ':=' Assignment | Additive