code: func (st *state) callOffset(c byte) {
  	if c == 0 {
  		if len(st.str) == 0 {
  			st.fail("missing call offset")
  		}
  		c = st.str[0]
  		st.advance(1)
  	}
  	switch c {
  	case 'h':
  		st.number()
  	case 'v':
  		st.number()
  		if len(st.str) == 0 || st.str[0] != '_' {
  			st.fail("expected _ after number")
  		}
  		st.advance(1)
  		st.number()
  	default:
  		st.failEarlier("unrecognized call offset code", 1)
  	}
  	if len(st.str) == 0 || st.str[0] != '_' {
  		st.fail("expected _ after call offset")
  	}
  	st.advance(1)
  }
docs: // <call-offset> ::= h <nv-offset> _
  //               ::= v <v-offset> _
  //
  // <nv-offset> ::= <(offset) number>
  //
  // <v-offset> ::= <(offset) number> _ <(virtual offset) number>
  //
  // The c parameter, if not 0, is a character we just read which is the
  // start of the <call-offset>.
  //
  // We don't display the offset information anywhere.