/*
  This file was generated by genau.
  You should not apply changes to this file because they
  may be overwritten by the next run of genau.
*/


#include "testid.h"

void reset_decide(int *s)
{
if(s) { *s = S_START; }
}

int decide(int *s, int i)
{
int n, o;
if(s) {
  n = S_ERROR; o = O_ERROR;
  switch(i) {
    case I_FINISHED : {
      n = S_START; o = O_ERROR;
    } break;
  }
  switch(*s) {
    case S_ERROR : {
    } break;
    case S_OK : {
      switch(i) {
        case I_CHARACTER : {
          n = S_OK; o = O_OK;
        } break;
        case I_DIGIT : {
          n = S_OK; o = O_OK;
        } break;
        case I_FINISHED : {
          n = S_START; o = O_OK;
        } break;
        case I_UNDERSCORE : {
          n = S_OK; o = O_OK;
        } break;
      }
    } break;
    case S_START : {
      switch(i) {
        case I_CHARACTER : {
          n = S_OK; o = O_OK;
        } break;
        case I_UNDERSCORE : {
          n = S_OK; o = O_OK;
        } break;
      }
    } break;
  }
  *s = n; return o;
}
}

