private void parseComplexNumber() {
    SyntaxTreeBuilder.Marker complexLiteral = myBuilder.mark();
    if (atAnyOfTokens(PyTokenTypes.PLUS, PyTokenTypes.MINUS)) {
      SyntaxTreeBuilder.Marker prefixExpression = myBuilder.mark();
      nextToken();
      if (!parseNumericLiteral()) {
        myBuilder.error(PyParsingBundle.message("PARSE.expected.number"));
      }
      prefixExpression.done(PyElementTypes.PREFIX_EXPRESSION);
    }
    else {
      parseNumericLiteral();
    }
    if (atAnyOfTokens(PyTokenTypes.PLUS, PyTokenTypes.MINUS)) {
      nextToken();
      if (!parseNumericLiteral()) {
        myBuilder.error(PyParsingBundle.message("PARSE.expected.number"));
      }
      complexLiteral.done(PyElementTypes.BINARY_EXPRESSION);
    }
    else {
      complexLiteral.drop();
    }
  }
private void parseComplexNumber()