/*
   * Here, a map which associate the current alternative with the list of elems
   * is created.
   */
  public void caseAAlt(AAlt alt) {
    // contains all the elements in the alternative, no matter if they are list or not
    listElemsGlobal = new LinkedList();

    // contains only single (without operator * or +) element of the alternative.
    listElems = new LinkedList();

    // contains only element of the alternative which are list(operator * or +).
    listElemslist = new LinkedList();

    currentAlt = (String) ids.names.get(alt);

    AElem[] list_elems = (AElem[]) alt.getElems().toArray(new AElem[0]);
    for (int i = 0; i < list_elems.length; i++) {
      list_elems[i].apply(this);
    }

    alts_elemsGlobal.put(currentAlt, listElemsGlobal);
    alts_elems.put(currentAlt, listElems);
    alts_elems_list.put(currentAlt, listElemslist);
  }