demangle.go
func (st *state) exprList(stop byte) AST {
	if len(st.str) > 0 && st.str[0] == stop {
		st.advance(1)
		return &ExprList{Exprs: nil}
	}

	var exprs []AST
	for {
		e := st.expression()
		exprs = append(exprs, e)
		if len(st.str) > 0 && st.str[0] == stop {
			st.advance(1)
			break
		}
	}
	return &ExprList{Exprs: exprs}
}
func (st *state) exprList(stop byte) AST {
	if len(st.str) > 0 && st.str[0] == stop {
		st.advance(1)
		return &ExprList{Exprs: nil}
	}

	var exprs []AST
	for {
		e := st.expression()
		exprs = append(exprs, e)
		if len(st.str) > 0 && st.str[0] == stop {
			st.advance(1)
			break
		}
	}
	return &ExprList{Exprs: exprs}
}
func ( st * state ) exprList ( stop byte ) AST { if len ( st . str ) > 0 && st . str [ 0 ] == stop { st . advance ( 1 ) return & ExprList { Exprs : nil } } var exprs [ ] AST for { e := st . expression ( ) exprs = append ( exprs , e ) if len ( st . str ) > 0 && st . str [ 0 ] == stop { st . advance ( 1 ) break } } return & ExprList { Exprs : exprs } }
// exprList parses a sequence of expressions up to a terminating character.
exprList parses a sequence of expressions up to a terminating character .