<prog>
  <l_dec>
    <tabDec>$tab[10]</tabDec>
  </l_dec>
  <l_dec>
    <foncDec>
      initialiser
      <l_instr>
        <instr_affect>
          <var_indicee>
            <var_base_tableau>$tab</var_base_tableau>
            <intExp>0</intExp>
          </var_indicee>
          <intExp>8</intExp>
        </instr_affect>
        <l_instr>
          <instr_affect>
            <var_indicee>
              <var_base_tableau>$tab</var_base_tableau>
              <intExp>1</intExp>
            </var_indicee>
            <intExp>6</intExp>
          </instr_affect>
          <l_instr>
            <instr_affect>
              <var_indicee>
                <var_base_tableau>$tab</var_base_tableau>
                <intExp>2</intExp>
              </var_indicee>
              <intExp>9</intExp>
            </instr_affect>
            <l_instr>
              <instr_affect>
                <var_indicee>
                  <var_base_tableau>$tab</var_base_tableau>
                  <intExp>3</intExp>
                </var_indicee>
                <intExp>9</intExp>
              </instr_affect>
              <l_instr>
                <instr_affect>
                  <var_indicee>
                    <var_base_tableau>$tab</var_base_tableau>
                    <intExp>4</intExp>
                  </var_indicee>
                  <intExp>4</intExp>
                </instr_affect>
                <l_instr>
                  <instr_affect>
                    <var_indicee>
                      <var_base_tableau>$tab</var_base_tableau>
                      <intExp>5</intExp>
                    </var_indicee>
                    <intExp>2</intExp>
                  </instr_affect>
                  <l_instr>
                    <instr_affect>
                      <var_indicee>
                        <var_base_tableau>$tab</var_base_tableau>
                        <intExp>6</intExp>
                      </var_indicee>
                      <intExp>3</intExp>
                    </instr_affect>
                    <l_instr>
                      <instr_affect>
                        <var_indicee>
                          <var_base_tableau>$tab</var_base_tableau>
                          <intExp>7</intExp>
                        </var_indicee>
                        <intExp>1</intExp>
                      </instr_affect>
                      <l_instr>
                        <instr_affect>
                          <var_indicee>
                            <var_base_tableau>$tab</var_base_tableau>
                            <intExp>8</intExp>
                          </var_indicee>
                          <intExp>4</intExp>
                        </instr_affect>
                        <l_instr>
                          <instr_affect>
                            <var_indicee>
                              <var_base_tableau>$tab</var_base_tableau>
                              <intExp>9</intExp>
                            </var_indicee>
                            <intExp>5</intExp>
                          </instr_affect>
                        </l_instr>
                      </l_instr>
                    </l_instr>
                  </l_instr>
                </l_instr>
              </l_instr>
            </l_instr>
          </l_instr>
        </l_instr>
      </l_instr>
    </foncDec>
    <l_dec>
      <foncDec>
        afficher
        <l_dec>
          <varDec>$n</varDec>
        </l_dec>
        <l_dec>
          <varDec>$i</varDec>
        </l_dec>
        <l_instr>
          <instr_affect>
            <var_simple>$i</var_simple>
            <intExp>0</intExp>
          </instr_affect>
          <l_instr>
            <instr_tantque>
              <opExp>
                inf
                <varExp>
                  <var_simple>$i</var_simple>
                </varExp>
                <varExp>
                  <var_simple>$n</var_simple>
                </varExp>
              </opExp>
              <l_instr>
                <instr_ecrire>
                  <varExp>
                    <var_indicee>
                      <var_base_tableau>$tab</var_base_tableau>
                      <varExp>
                        <var_simple>$i</var_simple>
                      </varExp>
                    </var_indicee>
                  </varExp>
                </instr_ecrire>
                <l_instr>
                  <instr_affect>
                    <var_simple>$i</var_simple>
                    <opExp>
                      plus
                      <varExp>
                        <var_simple>$i</var_simple>
                      </varExp>
                      <intExp>1</intExp>
                    </opExp>
                  </instr_affect>
                </l_instr>
              </l_instr>
            </instr_tantque>
            <l_instr>
              <instr_ecrire>
                <intExp>0</intExp>
              </instr_ecrire>
            </l_instr>
          </l_instr>
        </l_instr>
      </foncDec>
      <l_dec>
        <foncDec>
          echanger
          <l_dec>
            <varDec>$i</varDec>
            <l_dec>
              <varDec>$j</varDec>
            </l_dec>
          </l_dec>
          <l_dec>
            <varDec>$temp</varDec>
          </l_dec>
          <l_instr>
            <instr_affect>
              <var_simple>$temp</var_simple>
              <varExp>
                <var_indicee>
                  <var_base_tableau>$tab</var_base_tableau>
                  <varExp>
                    <var_simple>$j</var_simple>
                  </varExp>
                </var_indicee>
              </varExp>
            </instr_affect>
            <l_instr>
              <instr_affect>
                <var_indicee>
                  <var_base_tableau>$tab</var_base_tableau>
                  <varExp>
                    <var_simple>$j</var_simple>
                  </varExp>
                </var_indicee>
                <varExp>
                  <var_indicee>
                    <var_base_tableau>$tab</var_base_tableau>
                    <varExp>
                      <var_simple>$i</var_simple>
                    </varExp>
                  </var_indicee>
                </varExp>
              </instr_affect>
              <l_instr>
                <instr_affect>
                  <var_indicee>
                    <var_base_tableau>$tab</var_base_tableau>
                    <varExp>
                      <var_simple>$i</var_simple>
                    </varExp>
                  </var_indicee>
                  <varExp>
                    <var_simple>$temp</var_simple>
                  </varExp>
                </instr_affect>
              </l_instr>
            </l_instr>
          </l_instr>
        </foncDec>
        <l_dec>
          <foncDec>
            trier
            <l_dec>
              <varDec>$n</varDec>
            </l_dec>
            <l_dec>
              <varDec>$echange</varDec>
              <l_dec>
                <varDec>$j</varDec>
                <l_dec>
                  <varDec>$m</varDec>
                </l_dec>
              </l_dec>
            </l_dec>
            <l_instr>
              <instr_affect>
                <var_simple>$m</var_simple>
                <varExp>
                  <var_simple>$n</var_simple>
                </varExp>
              </instr_affect>
              <l_instr>
                <instr_affect>
                  <var_simple>$echange</var_simple>
                  <intExp>1</intExp>
                </instr_affect>
                <l_instr>
                  <instr_tantque>
                    <opExp>
                      egal
                      <varExp>
                        <var_simple>$echange</var_simple>
                      </varExp>
                      <intExp>1</intExp>
                    </opExp>
                    <l_instr>
                      <instr_affect>
                        <var_simple>$echange</var_simple>
                        <intExp>0</intExp>
                      </instr_affect>
                      <l_instr>
                        <instr_affect>
                          <var_simple>$j</var_simple>
                          <intExp>0</intExp>
                        </instr_affect>
                        <l_instr>
                          <instr_tantque>
                            <opExp>
                              inf
                              <varExp>
                                <var_simple>$j</var_simple>
                              </varExp>
                              <opExp>
                                moins
                                <varExp>
                                  <var_simple>$m</var_simple>
                                </varExp>
                                <intExp>1</intExp>
                              </opExp>
                            </opExp>
                            <l_instr>
                              <instr_si>
                                <opExp>
                                  inf
                                  <varExp>
                                    <var_indicee>
                                      <var_base_tableau>$tab</var_base_tableau>
                                      <opExp>
                                        plus
                                        <varExp>
                                          <var_simple>$j</var_simple>
                                        </varExp>
                                        <intExp>1</intExp>
                                      </opExp>
                                    </var_indicee>
                                  </varExp>
                                  <varExp>
                                    <var_indicee>
                                      <var_base_tableau>$tab</var_base_tableau>
                                      <varExp>
                                        <var_simple>$j</var_simple>
                                      </varExp>
                                    </var_indicee>
                                  </varExp>
                                </opExp>
                                <l_instr>
                                  <instr_appel>
                                    <appel>
                                      echanger
                                      <l_exp>
                                        <varExp>
                                          <var_simple>$j</var_simple>
                                        </varExp>
                                        <l_exp>
                                          <opExp>
                                            plus
                                            <varExp>
                                              <var_simple>$j</var_simple>
                                            </varExp>
                                            <intExp>1</intExp>
                                          </opExp>
                                          <l_exp>
                                          </l_exp>
                                        </l_exp>
                                      </l_exp>
                                    </appel>
                                  </instr_appel>
                                  <l_instr>
                                    <instr_affect>
                                      <var_simple>$echange</var_simple>
                                      <intExp>1</intExp>
                                    </instr_affect>
                                  </l_instr>
                                </l_instr>
                              </instr_si>
                              <l_instr>
                                <instr_affect>
                                  <var_simple>$j</var_simple>
                                  <opExp>
                                    plus
                                    <varExp>
                                      <var_simple>$j</var_simple>
                                    </varExp>
                                    <intExp>1</intExp>
                                  </opExp>
                                </instr_affect>
                              </l_instr>
                            </l_instr>
                          </instr_tantque>
                          <l_instr>
                            <instr_affect>
                              <var_simple>$m</var_simple>
                              <opExp>
                                moins
                                <varExp>
                                  <var_simple>$m</var_simple>
                                </varExp>
                                <intExp>1</intExp>
                              </opExp>
                            </instr_affect>
                          </l_instr>
                        </l_instr>
                      </l_instr>
                    </l_instr>
                  </instr_tantque>
                </l_instr>
              </l_instr>
            </l_instr>
          </foncDec>
          <l_dec>
            <foncDec>
              main
              <l_instr>
                <instr_appel>
                  <appel>
                    initialiser
                    <l_exp>
                    </l_exp>
                  </appel>
                </instr_appel>
                <l_instr>
                  <instr_appel>
                    <appel>
                      afficher
                      <l_exp>
                        <intExp>10</intExp>
                        <l_exp>
                        </l_exp>
                      </l_exp>
                    </appel>
                  </instr_appel>
                  <l_instr>
                    <instr_appel>
                      <appel>
                        trier
                        <l_exp>
                          <intExp>10</intExp>
                          <l_exp>
                          </l_exp>
                        </l_exp>
                      </appel>
                    </instr_appel>
                    <l_instr>
                      <instr_appel>
                        <appel>
                          afficher
                          <l_exp>
                            <intExp>10</intExp>
                            <l_exp>
                            </l_exp>
                          </l_exp>
                        </appel>
                      </instr_appel>
                    </l_instr>
                  </l_instr>
                </l_instr>
              </l_instr>
            </foncDec>
          </l_dec>
        </l_dec>
      </l_dec>
    </l_dec>
  </l_dec>
</prog>
