func (st *state) compactNumber() int {
	if len(st.str) == 0 {
		st.fail("missing index")
	}
	if st.str[0] == '_' {
		st.advance(1)
		return 0
	} else if st.str[0] == 'n' {
		st.fail("unexpected negative number")
	}
	n := st.number()
	if len(st.str) == 0 || st.str[0] != '_' {
		st.fail("missing underscore after number")
	}
	st.advance(1)
	return n + 1
}
func (st *state) compactNumber() int {
	if len(st.str) == 0 {
		st.fail("missing index")
	}
	if st.str[0] == '_' {
		st.advance(1)
		return 0
	} else if st.str[0] == 'n' {
		st.fail("unexpected negative number")
	}
	n := st.number()
	if len(st.str) == 0 || st.str[0] != '_' {
		st.fail("missing underscore after number")
	}
	st.advance(1)
	return n + 1
}
func ( st * state ) compactNumber ( ) int { if len ( st . str ) == 0 { st . fail ( " " ) } if st . str [ 0 ] == '_' { st . advance ( 1 ) return 0 } else if st . str [ 0 ] == 'n' { st . fail ( " " ) } n := st . number ( ) if len ( st . str ) == 0 || st . str [ 0 ] != '_' { st . fail ( " " ) } st . advance ( 1 ) return n + 1 }
// <non-negative number> _ */
<non - negative number > _