Why are these conflicts appearing in the following yacc grammar for XML
问题 I have the following XML grammar which works fine: program : '<' '?'ID attribute_list '?''>' root ; root : '<' ID attribute_list '>' node_list '<''/'ID'>' ; node_list : node_s | node_list node_s ; node_s : node | u_node | ID ; node : '<' ID attribute_list '/''>' ; u_node :'<' ID attribute_list '>' node_list '<''/'ID'>' |'<' ID attribute_list '>' '<''/'ID'>' ; attribute_list : attributes | ; attributes : attribute | attributes attribute ; attribute : ID ASSIGNOP '"' ID '"' | ID ASSIGNOP '"'