code: func (st *state) localName() AST {
  	st.checkChar('Z')
  	fn := st.encoding(true, forLocalName)
  	if len(st.str) == 0 || st.str[0] != 'E' {
  		st.fail("expected E after local name")
  	}
  	st.advance(1)
  	if len(st.str) > 0 && st.str[0] == 's' {
  		st.advance(1)
  		var n AST = &Name{Name: "string literal"}
  		n = st.discriminator(n)
  		return &Qualified{Scope: fn, Name: n, LocalName: true}
  	} else {
  		num := -1
  		if len(st.str) > 0 && st.str[0] == 'd' {
  			// Default argument scope.
  			st.advance(1)
  			num = st.compactNumber()
  		}
  		n := st.name()
  		n = st.discriminator(n)
  		if num >= 0 {
  			n = &DefaultArg{Num: num, Arg: n}
  		}
  		return &Qualified{Scope: fn, Name: n, LocalName: true}
  	}
  }
docs: // <local-name> ::= Z <(function) encoding> E <(entity) name> [<discriminator>]
  //              ::= Z <(function) encoding> E s [<discriminator>]
  //              ::= Z <(function) encoding> E d [<parameter> number>] _ <entity name>