Exemplo n.º 1
0
func getActionTableData(prods ast.SyntaxProdList, itemSets *items.ItemSets,
	tokMap *token.TokenMap) (actTab *actionTableData, conflicts map[int]items.RowConflicts) {

	actTab = &actionTableData{
		Rows: make([]string, itemSets.Size()),
	}
	conflicts = make(map[int]items.RowConflicts)
	row, cnflcts := "", items.RowConflicts{}
	for i := range actTab.Rows {
		if row, cnflcts = genActionRow(prods, itemSets.Set(i), tokMap); len(cnflcts) > 0 {
			conflicts[i] = cnflcts
		}
		actTab.Rows[i] = row
	}
	return
}