Esempio n. 1
0
func (a *Atomiser) ReadList() (c *chain.Cell) {
	var tail *chain.Cell

	for a.NextToken(); !a.IsListEnd(); {
		if a.IsEOF() {
			panic("Unexpected EOF in list literal")
		}
		if c == nil {
			c = &chain.Cell{Head: a.Read()}
			tail = c
		} else {
			tail.Append(a.Read())
			tail = tail.Tail
		}
	}
	a.NextToken()
	return
}