logback-android/src/main/java/ch/qos/logback/core/subst/Parser.java
private Node V() throws ScanException {
    Node e = E();
    Node variable = new Node(Node.Type.VARIABLE, e);
    Token t = peekAtCurentToken();
    if (isDefaultToken(t)) {
      advanceTokenPointer();
      Node def = E();
      variable.defaultPart = def;
    }
    return variable;
  }
private Node V() throws ScanException {
    Node e = E();
    Node variable = new Node(Node.Type.VARIABLE, e);
    Token t = peekAtCurentToken();
    if (isDefaultToken(t)) {
      advanceTokenPointer();
      Node def = E();
      variable.defaultPart = def;
    }
    return variable;
  }
V = E(':='E|~)