  /**************************************************************/
  /*                                                            */
  /*      UNIX 1 / WS 92/93       Gruppe  ux803                 */
  /*      3. Uebung - Aufgabe 2 - parser.h                      */
  /*                                                            */
  /*      Vorname     Name        Matrikelnr.                   */
  /*     ---------   -------     -------------                  */
  /*      Dietmar     Dierks        125761                      */
  /*      Roman       Czyborra      127221                      */
  /*      Torsten     Buller        117894                      */
  /*      Gerasimos   Paliatsaras   140956                      */
  /*                                                            */
  /**************************************************************/

struct kommando 
{ struct kommando *next;          /* zeigt aufs folgende */
  char **token_1; int num_tok1;   /* Tokens vor Pipe */
  char **token_2; int num_tok2;   /* Tokens nach Pipe */
  char *inp_tok, *out_tok;        /* Umlenkungsdateien */
  int is_ampersand, is_pipe; };   /* Vorhandenseinflags */

void forget (/* struct kommando *cmd */);
/* forget gibt alle in *cmd belegten Speicher frei */

struct kommando *parseline(/* char *buf */);
/* parseline zerlegt die Zeichenkette buf[] nach den
 * vorgegebenen Regeln und liefert als Ergebnis entweder
 * die oben definierte Struktur oder im Fehlerfall NULL
 */

