/******************************************************************
 * File: ps20_scanner.cpp
 *
 * This file was automatically generated by CppCC Version 0.0.5
 * DO NOT EDIT MANUALLY
 ******************************************************************/



#include "ps20_scanner.hpp"

const int ps20::ps20_scanner::START = 0;
const int ps20::ps20_scanner::LONG_COMMENT = 1;

void ps20::ps20_scanner::_brefill () throw (ScanException)
{
  if (!*inputStream) {
    ScanException __ex(ePos, "Input error.");
    if (!onIOError(__ex))
      throw __ex;
  }
  for (struct t_laCell *p = _laBegin; p != _laEnd; p = p->next)
    p->token->_cacheImg();
  if (_start != _ch) {
    if (_start <= _buffer + _pbsz) {
      int nbsz = _pbsz;
      do { nbsz *= 2; } while (nbsz <= _bsz + _pbsz);
      _bsz = nbsz;
      char *newBuf = new char[_bsz + _pbsz + 1];
      memcpy(newBuf + _pbsz, _start, _ch - _start);
      _ch += newBuf - _buffer;
      _start = newBuf + _pbsz;
      delete[] _buffer;
      _buffer = newBuf;
    } else {
      memmove(_buffer + _pbsz, _start, _ch - _start);
      _ch = _buffer + _pbsz + (_ch - _start);
      _start = _buffer + _pbsz;
    }
  } else {
    _start = _ch = _buffer + _pbsz;
  }
  inputStream->read(_ch, _bsz - (_ch - (_buffer + _pbsz)));
  _eob = _ch + inputStream->gcount();
  *_eob++  = '\0';
  _eof = inputStream->eof();
  _lta = false;
}

void ps20::ps20_scanner::_binit () throw (ScanException)
{
  if (_buffer == NULL) _buffer = new char[_bsz + _pbsz + 1];
  _start = _ch = _eob = _buffer + _pbsz;
  *_eob++  = '\0';
  _eof = inputStream == NULL;
}
void ps20::ps20_scanner::unGetChars (const char *c, int n)
{
  if (_start < _buffer + n) { //grow the buffer
    int npbsz = _pbsz, delta = 0;
    for (struct t_laCell *p = _laBegin; p != _laEnd; p = p->next)
      p->token->_cacheImg();
    if (la0 == _laEnd) la0->token->_cacheImg();
    do { npbsz *= 2; delta = npbsz - _pbsz; } while (delta < n);
    char *newBuf = new char[_bsz + npbsz + 1];
    memcpy(newBuf + delta, _start, _eob - _start + 1);
    _ch += newBuf + delta - _start;
    _eob += newBuf + delta - _start;
    _start = newBuf + delta;
    _pbsz = npbsz;
    delete[] _buffer;
    _buffer = newBuf;
  }
  memmove(_start - n, _start, n);
  _ch -= n;
  _start -= n;
  memcpy(_ch, c, n);
}

void ps20::ps20_scanner::_scan (ps20_token *token) throw (ScanException)
{
  register unsigned char c;
  
  for(;;)
  {
    switch (getState())
    {
    case START:
      __START_0_:
        c = *_ch++;
         /*0*/ if ((c == '\t' /*9*/) || (('\v' /*11*/ <= c) && (c <= '\f' /*12*/)) || (c == ' ' /*32*/))
          goto __START_1_;
        else  /*0*/ if ((c == '\n' /*10*/))
          goto __START_2_;
        else  /*0*/ if ((c == '\r' /*13*/))
          goto __START_3_;
        else  /*0*/ if ((c == '+' /*43*/))
          goto __START_4_;
        else  /*0*/ if ((c == ',' /*44*/))
          goto __START_5_;
        else  /*0*/ if ((c == '-' /*45*/))
          goto __START_6_;
        else  /*0*/ if ((c == '.' /*46*/))
          goto __START_7_;
        else  /*0*/ if ((c == '/' /*47*/))
          goto __START_8_;
        else  /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_9_;
        else  /*0*/ if ((c == ';' /*59*/))
          goto __START_10_;
        else  /*0*/ if ((c == 'E' /*69*/))
          goto __START_11_;
        else  /*0*/ if ((c == '_' /*95*/))
          goto __START_12_;
        else  /*0*/ if ((c == 'a' /*97*/))
          goto __START_13_;
        else  /*0*/ if ((c == 'b' /*98*/) || (c == 'z' /*122*/))
          goto __START_14_;
        else  /*0*/ if ((c == 'c' /*99*/))
          goto __START_15_;
        else  /*0*/ if ((c == 'd' /*100*/))
          goto __START_16_;
        else  /*0*/ if ((c == 'e' /*101*/))
          goto __START_17_;
        else  /*0*/ if ((c == 'f' /*102*/))
          goto __START_18_;
        else  /*0*/ if ((c == 'g' /*103*/) || (c == 'y' /*121*/))
          goto __START_19_;
        else  /*0*/ if ((c == 'l' /*108*/))
          goto __START_20_;
        else  /*0*/ if ((c == 'm' /*109*/))
          goto __START_21_;
        else  /*0*/ if ((c == 'n' /*110*/))
          goto __START_22_;
        else  /*0*/ if ((c == 'o' /*111*/))
          goto __START_23_;
        else  /*0*/ if ((c == 'p' /*112*/))
          goto __START_24_;
        else  /*0*/ if ((c == 'r' /*114*/))
          goto __START_25_;
        else  /*0*/ if ((c == 's' /*115*/))
          goto __START_26_;
        else  /*0*/ if ((c == 't' /*116*/))
          goto __START_27_;
        else  /*0*/ if ((c == 'v' /*118*/))
          goto __START_28_;
        else  /*0*/ if ((c == 'w' /*119*/))
          goto __START_29_;
        else  /*0*/ if ((c == 'x' /*120*/))
          goto __START_30_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_0_;
        }
        goto __scan_error_;
      __START_1_:
        goto __accept_token_BLANK_;
      __START_2_:
        c = *_ch++;
         /*0*/ if ((c == '\r' /*13*/))
          goto __START_31_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta){ _lta = true; goto __accept_token_EOL_; }
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_2_;
        }
        goto __accept_token_EOL_;
      __START_3_:
        c = *_ch++;
         /*0*/ if ((c == '\n' /*10*/))
          goto __START_31_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta){ _lta = true; goto __accept_token_EOL_; }
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_3_;
        }
        goto __accept_token_EOL_;
      __START_4_:
        c = *_ch++;
         /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_9_;
        else  /*0*/ if ((c == '.' /*46*/))
          goto __START_32_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_4_;
        }
        goto __scan_error_;
      __START_5_:
        goto __accept_token_COMMA_;
      __START_6_:
        c = *_ch++;
         /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_9_;
        else  /*0*/ if ((c == '.' /*46*/))
          goto __START_32_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta){ _lta = true; goto __accept_token_MINUS_; }
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_6_;
        }
        goto __accept_token_MINUS_;
      __START_7_:
        c = *_ch++;
         /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_33_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta){ _lta = true; goto __accept_token_DOT_; }
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_7_;
        }
        goto __accept_token_DOT_;
      __START_8_:
        c = *_ch++;
         /*0*/ if ((c == '*' /*42*/))
          goto __START_34_;
        else  /*0*/ if ((c == '/' /*47*/))
          goto __START_35_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_8_;
        }
        goto __scan_error_;
      __START_9_:
        c = *_ch++;
         /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_9_;
        else  /*0*/ if ((c == '.' /*46*/))
          goto __START_32_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta){ _lta = true; goto __accept_token_INTEGER_; }
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_9_;
        }
        goto __accept_token_INTEGER_;
      __START_10_:
        c = *_ch++;
         /*0*/ if (((c == '\0') && (_ch != _eob)) || (('\1' /*1*/ <= c) && (c <= '\t' /*9*/)) || (('\v' /*11*/ <= c) && (c <= '\f' /*12*/)) || ('\16' /*14*/ <= c))
          goto __START_10_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta){ _lta = true; goto __accept_token_COMMENT2_; }
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_10_;
        }
        goto __accept_token_COMMENT2_;
      __START_11_:
        c = *_ch++;
         /*0*/ if ((c == '+' /*43*/) || (c == '-' /*45*/))
          goto __START_36_;
        else  /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_37_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_11_;
        }
        goto __scan_error_;
      __START_12_:
        c = *_ch++;
         /*0*/ if ((c == 'p' /*112*/))
          goto __START_38_;
        else  /*0*/ if ((c == 's' /*115*/))
          goto __START_39_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_12_;
        }
        goto __scan_error_;
      __START_13_:
        c = *_ch++;
         /*0*/ if ((c == 'b' /*98*/))
          goto __START_40_;
        else  /*0*/ if ((c == 'd' /*100*/))
          goto __START_41_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta){ _lta = true; goto __accept_token_W_; }
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_13_;
        }
        goto __accept_token_W_;
      __START_14_:
        goto __accept_token_Z_;
      __START_15_:
        c = *_ch++;
         /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_42_;
        else  /*0*/ if ((c == 'm' /*109*/))
          goto __START_43_;
        else  /*0*/ if ((c == 'r' /*114*/))
          goto __START_44_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_15_;
        }
        goto __scan_error_;
      __START_16_:
        c = *_ch++;
         /*0*/ if ((c == 'c' /*99*/))
          goto __START_45_;
        else  /*0*/ if ((c == 'e' /*101*/))
          goto __START_46_;
        else  /*0*/ if ((c == 'p' /*112*/))
          goto __START_47_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_16_;
        }
        goto __scan_error_;
      __START_17_:
        c = *_ch++;
         /*0*/ if ((c == '+' /*43*/) || (c == '-' /*45*/))
          goto __START_36_;
        else  /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_37_;
        else  /*0*/ if ((c == 'x' /*120*/))
          goto __START_48_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_17_;
        }
        goto __scan_error_;
      __START_18_:
        c = *_ch++;
         /*0*/ if ((c == 'r' /*114*/))
          goto __START_49_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_18_;
        }
        goto __scan_error_;
      __START_19_:
        goto __accept_token_Y_;
      __START_20_:
        c = *_ch++;
         /*0*/ if ((c == 'o' /*111*/))
          goto __START_50_;
        else  /*0*/ if ((c == 'r' /*114*/))
          goto __START_51_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_20_;
        }
        goto __scan_error_;
      __START_21_:
        c = *_ch++;
         /*0*/ if ((c == '3' /*51*/))
          goto __START_52_;
        else  /*0*/ if ((c == '4' /*52*/))
          goto __START_53_;
        else  /*0*/ if ((c == 'a' /*97*/))
          goto __START_54_;
        else  /*0*/ if ((c == 'i' /*105*/))
          goto __START_55_;
        else  /*0*/ if ((c == 'o' /*111*/))
          goto __START_56_;
        else  /*0*/ if ((c == 'u' /*117*/))
          goto __START_57_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_21_;
        }
        goto __scan_error_;
      __START_22_:
        c = *_ch++;
         /*0*/ if ((c == 'o' /*111*/))
          goto __START_58_;
        else  /*0*/ if ((c == 'r' /*114*/))
          goto __START_59_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_22_;
        }
        goto __scan_error_;
      __START_23_:
        c = *_ch++;
         /*0*/ if ((c == 'C' /*67*/))
          goto __START_60_;
        else  /*0*/ if ((c == 'D' /*68*/))
          goto __START_61_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_23_;
        }
        goto __scan_error_;
      __START_24_:
        c = *_ch++;
         /*0*/ if ((c == 'o' /*111*/))
          goto __START_62_;
        else  /*0*/ if ((c == 's' /*115*/))
          goto __START_63_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_24_;
        }
        goto __scan_error_;
      __START_25_:
        c = *_ch++;
         /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_64_;
        else  /*0*/ if ((c == 'c' /*99*/))
          goto __START_65_;
        else  /*0*/ if ((c == 's' /*115*/))
          goto __START_66_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta){ _lta = true; goto __accept_token_X_; }
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_25_;
        }
        goto __accept_token_X_;
      __START_26_:
        c = *_ch++;
         /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_67_;
        else  /*0*/ if ((c == 'i' /*105*/))
          goto __START_68_;
        else  /*0*/ if ((c == 'u' /*117*/))
          goto __START_69_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_26_;
        }
        goto __scan_error_;
      __START_27_:
        c = *_ch++;
         /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_70_;
        else  /*0*/ if ((c == 'e' /*101*/))
          goto __START_71_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_27_;
        }
        goto __scan_error_;
      __START_28_:
        c = *_ch++;
         /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_72_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_28_;
        }
        goto __scan_error_;
      __START_29_:
        goto __accept_token_W_;
      __START_30_:
        goto __accept_token_X_;
      __START_31_:
        goto __accept_token_EOL_;
      __START_32_:
        c = *_ch++;
         /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_73_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_32_;
        }
        goto __scan_error_;
      __START_33_:
        c = *_ch++;
         /*0*/ if ((c == 'E' /*69*/) || (c == 'e' /*101*/))
          goto __START_11_;
        else  /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_33_;
        else  /*0*/ if ((c == 'f' /*102*/))
          goto __START_74_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta){ _lta = true; goto __accept_token_REAL_; }
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_33_;
        }
        goto __accept_token_REAL_;
      __START_34_:
        goto __accept_token_LONG_COMMENT1_;
      __START_35_:
        c = *_ch++;
         /*0*/ if (((c == '\0') && (_ch != _eob)) || (('\1' /*1*/ <= c) && (c <= '\t' /*9*/)) || (('\v' /*11*/ <= c) && (c <= '\f' /*12*/)) || ('\16' /*14*/ <= c))
          goto __START_35_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta){ _lta = true; goto __accept_token_COMMENT1_; }
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_35_;
        }
        goto __accept_token_COMMENT1_;
      __START_36_:
        c = *_ch++;
         /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_37_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_36_;
        }
        goto __scan_error_;
      __START_37_:
        c = *_ch++;
         /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_37_;
        else  /*0*/ if ((c == 'f' /*102*/))
          goto __START_74_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta){ _lta = true; goto __accept_token_REAL_; }
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_37_;
        }
        goto __accept_token_REAL_;
      __START_38_:
        c = *_ch++;
         /*0*/ if ((c == 'p' /*112*/))
          goto __START_75_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_38_;
        }
        goto __scan_error_;
      __START_39_:
        c = *_ch++;
         /*0*/ if ((c == 'a' /*97*/))
          goto __START_76_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_39_;
        }
        goto __scan_error_;
      __START_40_:
        c = *_ch++;
         /*0*/ if ((c == 's' /*115*/))
          goto __START_77_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_40_;
        }
        goto __scan_error_;
      __START_41_:
        c = *_ch++;
         /*0*/ if ((c == 'd' /*100*/))
          goto __START_78_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_41_;
        }
        goto __scan_error_;
      __START_42_:
        c = *_ch++;
         /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_42_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta){ _lta = true; goto __accept_token_C_; }
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_42_;
        }
        goto __accept_token_C_;
      __START_43_:
        c = *_ch++;
         /*0*/ if ((c == 'p' /*112*/))
          goto __START_79_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_43_;
        }
        goto __scan_error_;
      __START_44_:
        c = *_ch++;
         /*0*/ if ((c == 's' /*115*/))
          goto __START_80_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_44_;
        }
        goto __scan_error_;
      __START_45_:
        c = *_ch++;
         /*0*/ if ((c == 'l' /*108*/))
          goto __START_81_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_45_;
        }
        goto __scan_error_;
      __START_46_:
        c = *_ch++;
         /*0*/ if ((c == 'f' /*102*/))
          goto __START_82_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_46_;
        }
        goto __scan_error_;
      __START_47_:
        c = *_ch++;
         /*0*/ if ((c == '2' /*50*/))
          goto __START_83_;
        else  /*0*/ if ((c == '3' /*51*/))
          goto __START_84_;
        else  /*0*/ if ((c == '4' /*52*/))
          goto __START_85_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_47_;
        }
        goto __scan_error_;
      __START_48_:
        c = *_ch++;
         /*0*/ if ((c == 'p' /*112*/))
          goto __START_86_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_48_;
        }
        goto __scan_error_;
      __START_49_:
        c = *_ch++;
         /*0*/ if ((c == 'c' /*99*/))
          goto __START_87_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_49_;
        }
        goto __scan_error_;
      __START_50_:
        c = *_ch++;
         /*0*/ if ((c == 'g' /*103*/))
          goto __START_88_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_50_;
        }
        goto __scan_error_;
      __START_51_:
        c = *_ch++;
         /*0*/ if ((c == 'p' /*112*/))
          goto __START_89_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_51_;
        }
        goto __scan_error_;
      __START_52_:
        c = *_ch++;
         /*0*/ if ((c == 'x' /*120*/))
          goto __START_90_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_52_;
        }
        goto __scan_error_;
      __START_53_:
        c = *_ch++;
         /*0*/ if ((c == 'x' /*120*/))
          goto __START_91_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_53_;
        }
        goto __scan_error_;
      __START_54_:
        c = *_ch++;
         /*0*/ if ((c == 'd' /*100*/))
          goto __START_92_;
        else  /*0*/ if ((c == 'x' /*120*/))
          goto __START_93_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_54_;
        }
        goto __scan_error_;
      __START_55_:
        c = *_ch++;
         /*0*/ if ((c == 'n' /*110*/))
          goto __START_94_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_55_;
        }
        goto __scan_error_;
      __START_56_:
        c = *_ch++;
         /*0*/ if ((c == 'v' /*118*/))
          goto __START_95_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_56_;
        }
        goto __scan_error_;
      __START_57_:
        c = *_ch++;
         /*0*/ if ((c == 'l' /*108*/))
          goto __START_96_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_57_;
        }
        goto __scan_error_;
      __START_58_:
        c = *_ch++;
         /*0*/ if ((c == 'p' /*112*/))
          goto __START_97_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_58_;
        }
        goto __scan_error_;
      __START_59_:
        c = *_ch++;
         /*0*/ if ((c == 'm' /*109*/))
          goto __START_98_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_59_;
        }
        goto __scan_error_;
      __START_60_:
        c = *_ch++;
         /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_99_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_60_;
        }
        goto __scan_error_;
      __START_61_:
        c = *_ch++;
         /*0*/ if ((c == 'e' /*101*/))
          goto __START_100_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_61_;
        }
        goto __scan_error_;
      __START_62_:
        c = *_ch++;
         /*0*/ if ((c == 'w' /*119*/))
          goto __START_101_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_62_;
        }
        goto __scan_error_;
      __START_63_:
        c = *_ch++;
         /*0*/ if ((c == '_' /*95*/))
          goto __START_102_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_63_;
        }
        goto __scan_error_;
      __START_64_:
        c = *_ch++;
         /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_64_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta){ _lta = true; goto __accept_token_R_; }
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_64_;
        }
        goto __accept_token_R_;
      __START_65_:
        c = *_ch++;
         /*0*/ if ((c == 'p' /*112*/))
          goto __START_103_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_65_;
        }
        goto __scan_error_;
      __START_66_:
        c = *_ch++;
         /*0*/ if ((c == 'q' /*113*/))
          goto __START_104_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_66_;
        }
        goto __scan_error_;
      __START_67_:
        c = *_ch++;
         /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_67_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta){ _lta = true; goto __accept_token_S_; }
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_67_;
        }
        goto __accept_token_S_;
      __START_68_:
        c = *_ch++;
         /*0*/ if ((c == 'n' /*110*/))
          goto __START_105_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_68_;
        }
        goto __scan_error_;
      __START_69_:
        c = *_ch++;
         /*0*/ if ((c == 'b' /*98*/))
          goto __START_106_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_69_;
        }
        goto __scan_error_;
      __START_70_:
        c = *_ch++;
         /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_70_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta){ _lta = true; goto __accept_token_T_; }
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_70_;
        }
        goto __accept_token_T_;
      __START_71_:
        c = *_ch++;
         /*0*/ if ((c == 'x' /*120*/))
          goto __START_107_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_71_;
        }
        goto __scan_error_;
      __START_72_:
        c = *_ch++;
         /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_72_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta){ _lta = true; goto __accept_token_V_; }
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_72_;
        }
        goto __accept_token_V_;
      __START_73_:
        c = *_ch++;
         /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_73_;
        else  /*0*/ if ((c == 'f' /*102*/))
          goto __START_74_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta){ _lta = true; goto __accept_token_REAL_; }
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_73_;
        }
        goto __accept_token_REAL_;
      __START_74_:
        goto __accept_token_REAL_;
      __START_75_:
        goto __accept_token__PP_;
      __START_76_:
        c = *_ch++;
         /*0*/ if ((c == 't' /*116*/))
          goto __START_108_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_76_;
        }
        goto __scan_error_;
      __START_77_:
        goto __accept_token_ABS_;
      __START_78_:
        goto __accept_token_ADD_;
      __START_79_:
        goto __accept_token_CMP_;
      __START_80_:
        goto __accept_token_CRS_;
      __START_81_:
        c = *_ch++;
         /*0*/ if ((c == '_' /*95*/))
          goto __START_109_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta){ _lta = true; goto __accept_token_DCL_; }
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_81_;
        }
        goto __accept_token_DCL_;
      __START_82_:
        goto __accept_token_DEF_;
      __START_83_:
        c = *_ch++;
         /*0*/ if ((c == 'a' /*97*/))
          goto __START_110_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_83_;
        }
        goto __scan_error_;
      __START_84_:
        goto __accept_token_DP3_;
      __START_85_:
        goto __accept_token_DP4_;
      __START_86_:
        goto __accept_token_EXP_;
      __START_87_:
        goto __accept_token_FRC_;
      __START_88_:
        goto __accept_token_LOG_;
      __START_89_:
        goto __accept_token_LRP_;
      __START_90_:
        c = *_ch++;
         /*0*/ if ((c == '2' /*50*/))
          goto __START_111_;
        else  /*0*/ if ((c == '3' /*51*/))
          goto __START_112_;
        else  /*0*/ if ((c == '4' /*52*/))
          goto __START_113_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_90_;
        }
        goto __scan_error_;
      __START_91_:
        c = *_ch++;
         /*0*/ if ((c == '3' /*51*/))
          goto __START_114_;
        else  /*0*/ if ((c == '4' /*52*/))
          goto __START_115_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_91_;
        }
        goto __scan_error_;
      __START_92_:
        goto __accept_token_MAD_;
      __START_93_:
        goto __accept_token_MAX_;
      __START_94_:
        goto __accept_token_MIN_;
      __START_95_:
        goto __accept_token_MOV_;
      __START_96_:
        goto __accept_token_MUL_;
      __START_97_:
        goto __accept_token_NOP_;
      __START_98_:
        goto __accept_token_NRM_;
      __START_99_:
        c = *_ch++;
         /*0*/ if ((('0' /*48*/ <= c) && (c <= '9' /*57*/)))
          goto __START_99_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta){ _lta = true; goto __accept_token_O_C_; }
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_99_;
        }
        goto __accept_token_O_C_;
      __START_100_:
        c = *_ch++;
         /*0*/ if ((c == 'p' /*112*/))
          goto __START_116_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_100_;
        }
        goto __scan_error_;
      __START_101_:
        goto __accept_token_POW_;
      __START_102_:
        c = *_ch++;
         /*0*/ if ((c == '2' /*50*/))
          goto __START_117_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_102_;
        }
        goto __scan_error_;
      __START_103_:
        goto __accept_token_RCP_;
      __START_104_:
        goto __accept_token_RSQ_;
      __START_105_:
        c = *_ch++;
         /*0*/ if ((c == 'c' /*99*/))
          goto __START_118_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_105_;
        }
        goto __scan_error_;
      __START_106_:
        goto __accept_token_SUB_;
      __START_107_:
        c = *_ch++;
         /*0*/ if ((c == 'k' /*107*/))
          goto __START_119_;
        else  /*0*/ if ((c == 'l' /*108*/))
          goto __START_120_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_107_;
        }
        goto __scan_error_;
      __START_108_:
        goto __accept_token__SAT_;
      __START_109_:
        c = *_ch++;
         /*0*/ if ((c == '2' /*50*/))
          goto __START_121_;
        else  /*0*/ if ((c == 'c' /*99*/))
          goto __START_122_;
        else  /*0*/ if ((c == 'v' /*118*/))
          goto __START_123_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_109_;
        }
        goto __scan_error_;
      __START_110_:
        c = *_ch++;
         /*0*/ if ((c == 'd' /*100*/))
          goto __START_124_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_110_;
        }
        goto __scan_error_;
      __START_111_:
        goto __accept_token_M3X2_;
      __START_112_:
        goto __accept_token_M3X3_;
      __START_113_:
        goto __accept_token_M3X4_;
      __START_114_:
        goto __accept_token_M4X3_;
      __START_115_:
        goto __accept_token_M4X4_;
      __START_116_:
        c = *_ch++;
         /*0*/ if ((c == 't' /*116*/))
          goto __START_125_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_116_;
        }
        goto __scan_error_;
      __START_117_:
        c = *_ch++;
         /*0*/ if ((c == '_' /*95*/))
          goto __START_126_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_117_;
        }
        goto __scan_error_;
      __START_118_:
        c = *_ch++;
         /*0*/ if ((c == 'o' /*111*/))
          goto __START_127_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_118_;
        }
        goto __scan_error_;
      __START_119_:
        c = *_ch++;
         /*0*/ if ((c == 'i' /*105*/))
          goto __START_128_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_119_;
        }
        goto __scan_error_;
      __START_120_:
        c = *_ch++;
         /*0*/ if ((c == 'd' /*100*/))
          goto __START_129_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_120_;
        }
        goto __scan_error_;
      __START_121_:
        c = *_ch++;
         /*0*/ if ((c == 'd' /*100*/))
          goto __START_130_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_121_;
        }
        goto __scan_error_;
      __START_122_:
        c = *_ch++;
         /*0*/ if ((c == 'u' /*117*/))
          goto __START_131_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_122_;
        }
        goto __scan_error_;
      __START_123_:
        c = *_ch++;
         /*0*/ if ((c == 'o' /*111*/))
          goto __START_132_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_123_;
        }
        goto __scan_error_;
      __START_124_:
        c = *_ch++;
         /*0*/ if ((c == 'd' /*100*/))
          goto __START_133_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_124_;
        }
        goto __scan_error_;
      __START_125_:
        c = *_ch++;
         /*0*/ if ((c == 'h' /*104*/))
          goto __START_134_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_125_;
        }
        goto __scan_error_;
      __START_126_:
        c = *_ch++;
         /*0*/ if ((c == '0' /*48*/))
          goto __START_135_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_126_;
        }
        goto __scan_error_;
      __START_127_:
        c = *_ch++;
         /*0*/ if ((c == 's' /*115*/))
          goto __START_136_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_127_;
        }
        goto __scan_error_;
      __START_128_:
        c = *_ch++;
         /*0*/ if ((c == 'l' /*108*/))
          goto __START_137_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_128_;
        }
        goto __scan_error_;
      __START_129_:
        c = *_ch++;
         /*0*/ if ((c == 'b' /*98*/))
          goto __START_138_;
        else  /*0*/ if ((c == 'p' /*112*/))
          goto __START_139_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta){ _lta = true; goto __accept_token_TEXLD_; }
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_129_;
        }
        goto __accept_token_TEXLD_;
      __START_130_:
        goto __accept_token_DCL_2D_;
      __START_131_:
        c = *_ch++;
         /*0*/ if ((c == 'b' /*98*/))
          goto __START_140_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_131_;
        }
        goto __scan_error_;
      __START_132_:
        c = *_ch++;
         /*0*/ if ((c == 'l' /*108*/))
          goto __START_141_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_132_;
        }
        goto __scan_error_;
      __START_133_:
        goto __accept_token_DP2ADD_;
      __START_134_:
        goto __accept_token_O_DEPTH_;
      __START_135_:
        goto __accept_token_PS_2_0_;
      __START_136_:
        goto __accept_token_SINCOS_;
      __START_137_:
        c = *_ch++;
         /*0*/ if ((c == 'l' /*108*/))
          goto __START_142_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_137_;
        }
        goto __scan_error_;
      __START_138_:
        goto __accept_token_TEXLDB_;
      __START_139_:
        goto __accept_token_TEXLDP_;
      __START_140_:
        c = *_ch++;
         /*0*/ if ((c == 'e' /*101*/))
          goto __START_143_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_140_;
        }
        goto __scan_error_;
      __START_141_:
        c = *_ch++;
         /*0*/ if ((c == 'u' /*117*/))
          goto __START_144_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_141_;
        }
        goto __scan_error_;
      __START_142_:
        goto __accept_token_TEXKILL_;
      __START_143_:
        goto __accept_token_DCL_CUBE_;
      __START_144_:
        c = *_ch++;
         /*0*/ if ((c == 'm' /*109*/))
          goto __START_145_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_144_;
        }
        goto __scan_error_;
      __START_145_:
        c = *_ch++;
         /*0*/ if ((c == 'e' /*101*/))
          goto __START_146_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __START_145_;
        }
        goto __scan_error_;
      __START_146_:
        goto __accept_token_DCL_VOLUME_;
    case LONG_COMMENT:
      __LONG_COMMENT_0_:
        c = *_ch++;
         /*0*/ if (((c == '\0') && (_ch != _eob)) || (('\1' /*1*/ <= c) && (c <= '\t' /*9*/)) || (('\v' /*11*/ <= c) && (c <= '\f' /*12*/)) || (('\16' /*14*/ <= c) && (c <= ')' /*41*/)) || ('+' /*43*/ <= c))
          goto __LONG_COMMENT_1_;
        else  /*0*/ if ((c == '\n' /*10*/))
          goto __LONG_COMMENT_2_;
        else  /*0*/ if ((c == '*' /*42*/))
          goto __LONG_COMMENT_3_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta){ _lta = true; goto __accept_token_LONG_COMMENT3_; }
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __LONG_COMMENT_0_;
        }
        goto __accept_token_LONG_COMMENT3_;
      __LONG_COMMENT_1_:
        c = *_ch++;
         /*0*/ if (((c == '\0') && (_ch != _eob)) || (('\1' /*1*/ <= c) && (c <= '\t' /*9*/)) || (('\v' /*11*/ <= c) && (c <= '\f' /*12*/)) || (('\16' /*14*/ <= c) && (c <= ')' /*41*/)) || ('+' /*43*/ <= c))
          goto __LONG_COMMENT_1_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta){ _lta = true; goto __accept_token_LONG_COMMENT3_; }
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __LONG_COMMENT_1_;
        }
        goto __accept_token_LONG_COMMENT3_;
      __LONG_COMMENT_2_:
        goto __accept_token_LONG_COMMENT2_;
      __LONG_COMMENT_3_:
        c = *_ch++;
         /*0*/ if (((c == '\0') && (_ch != _eob)) || (('\1' /*1*/ <= c) && (c <= '\t' /*9*/)) || (('\v' /*11*/ <= c) && (c <= ')' /*41*/)) || (('+' /*43*/ <= c) && (c <= '.' /*46*/)) || ('0' /*48*/ <= c))
          goto __LONG_COMMENT_4_;
        else  /*0*/ if ((c == '\n' /*10*/))
          goto __LONG_COMMENT_5_;
        else  /*0*/ if ((c == '*' /*42*/))
          goto __LONG_COMMENT_6_;
        else  /*0*/ if ((c == '/' /*47*/))
          goto __LONG_COMMENT_7_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta)goto __unexpected_eof_;
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __LONG_COMMENT_3_;
        }
        goto __scan_error_;
      __LONG_COMMENT_4_:
        goto __accept_token_LONG_COMMENT4_;
      __LONG_COMMENT_5_:
        goto __accept_token_LONG_COMMENT5_;
      __LONG_COMMENT_6_:
        c = *_ch++;
         /*0*/ if (((c == '\0') && (_ch != _eob)) || (('\1' /*1*/ <= c) && (c <= '\t' /*9*/)) || (('\v' /*11*/ <= c) && (c <= ')' /*41*/)) || (('+' /*43*/ <= c) && (c <= '.' /*46*/)) || ('0' /*48*/ <= c))
          goto __LONG_COMMENT_4_;
        else  /*0*/ if ((c == '\n' /*10*/))
          goto __LONG_COMMENT_5_;
        else  /*0*/ if ((c == '*' /*42*/))
          goto __LONG_COMMENT_6_;
        else  /*0*/ if ((c == '/' /*47*/))
          goto __LONG_COMMENT_7_;
        if ((_ch-- == _eob) && (c == '\0')) {
          if (_eof) {
            if ((_ch != _start) && !_lta){ _lta = true; goto __accept_token_LONG_COMMENT4_; }
            if (!wrap()) goto __eof_seen_;
          }
          if (_ch + 1 == _eob) _brefill();
          goto __LONG_COMMENT_6_;
        }
        goto __accept_token_LONG_COMMENT4_;
      __LONG_COMMENT_7_:
        goto __accept_token_LONG_COMMENT_;
    default:
      {
        ScanException __ex(ePos, "Illegal lexical state");
        if (!onScanError(__ex))
          throw __ex;
      }
    }
    
    __accept_token_BLANK_:
      _start = _ch;
      bPos = ePos;
      continue;
    __accept_token_COMMENT1_:
      _start = _ch;
      bPos = ePos;
      continue;
    __accept_token_COMMENT2_:
      _start = _ch;
      bPos = ePos;
      continue;
    __accept_token_LONG_COMMENT1_:
      token->_set(ps20_token::LONG_COMMENT1, bPos, ePos, _start, _ch - _start);
      _more = true;
      {pushState(LONG_COMMENT);

      }
      _more = false;
      continue;
    __accept_token_LONG_COMMENT2_:
      continue;
    __accept_token_LONG_COMMENT3_:
      continue;
    __accept_token_LONG_COMMENT4_:
      continue;
    __accept_token_LONG_COMMENT5_:
      continue;
    __accept_token_LONG_COMMENT_:
      token->_set(ps20_token::LONG_COMMENT, bPos, ePos, _start, _ch - _start);
      {popState();

      }
      _start = _ch;
      bPos = ePos;
      continue;
    __accept_token_EOL_:
      {
        token->_set(ps20_token::EOL, bPos, ePos, _start, _ch - _start);
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_PS_2_0_:
      {
        token->id = ps20_token::PS_2_0;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_DCL_:
      {
        token->id = ps20_token::DCL;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_DCL_2D_:
      {
        token->id = ps20_token::DCL_2D;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_DCL_CUBE_:
      {
        token->id = ps20_token::DCL_CUBE;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_DCL_VOLUME_:
      {
        token->id = ps20_token::DCL_VOLUME;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_DEF_:
      {
        token->id = ps20_token::DEF;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_ABS_:
      {
        token->id = ps20_token::ABS;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_ADD_:
      {
        token->id = ps20_token::ADD;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_CMP_:
      {
        token->id = ps20_token::CMP;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_CRS_:
      {
        token->id = ps20_token::CRS;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_DP2ADD_:
      {
        token->id = ps20_token::DP2ADD;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_DP3_:
      {
        token->id = ps20_token::DP3;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_DP4_:
      {
        token->id = ps20_token::DP4;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_EXP_:
      {
        token->id = ps20_token::EXP;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_FRC_:
      {
        token->id = ps20_token::FRC;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_LOG_:
      {
        token->id = ps20_token::LOG;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_LRP_:
      {
        token->id = ps20_token::LRP;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_M3X2_:
      {
        token->id = ps20_token::M3X2;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_M3X3_:
      {
        token->id = ps20_token::M3X3;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_M3X4_:
      {
        token->id = ps20_token::M3X4;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_M4X3_:
      {
        token->id = ps20_token::M4X3;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_M4X4_:
      {
        token->id = ps20_token::M4X4;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_MAD_:
      {
        token->id = ps20_token::MAD;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_MAX_:
      {
        token->id = ps20_token::MAX;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_MIN_:
      {
        token->id = ps20_token::MIN;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_MOV_:
      {
        token->id = ps20_token::MOV;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_MUL_:
      {
        token->id = ps20_token::MUL;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_NOP_:
      {
        token->id = ps20_token::NOP;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_NRM_:
      {
        token->id = ps20_token::NRM;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_POW_:
      {
        token->id = ps20_token::POW;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_RCP_:
      {
        token->id = ps20_token::RCP;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_RSQ_:
      {
        token->id = ps20_token::RSQ;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_SINCOS_:
      {
        token->id = ps20_token::SINCOS;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_SUB_:
      {
        token->id = ps20_token::SUB;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_TEXKILL_:
      {
        token->id = ps20_token::TEXKILL;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_TEXLD_:
      {
        token->id = ps20_token::TEXLD;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_TEXLDB_:
      {
        token->id = ps20_token::TEXLDB;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_TEXLDP_:
      {
        token->id = ps20_token::TEXLDP;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token__SAT_:
      {
        token->id = ps20_token::_SAT;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token__PP_:
      {
        token->id = ps20_token::_PP;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_INTEGER_:
      {
        token->_set(ps20_token::INTEGER, bPos, ePos, _start, _ch - _start);
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_REAL_:
      {
        token->_set(ps20_token::REAL, bPos, ePos, _start, _ch - _start);
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_V_:
      {
        token->id = ps20_token::V;
        token->bPos = bPos;
        token->ePos = ePos;
        token->_set(_start, _ch - _start);
        {
			token->integer = atoi(token->image().c_str() + 1);
			if(token->integer >= 2) throw swShader::Error("Syntax swShader::Error: v%d index out of range", token->integer);
		

        }
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_C_:
      {
        token->id = ps20_token::C;
        token->bPos = bPos;
        token->ePos = ePos;
        token->_set(_start, _ch - _start);
        {
			token->integer = atoi(token->image().c_str() + 1);
			if(token->integer >= 32) throw swShader::Error("Syntax swShader::Error: c%d index out of range", token->integer);
		

        }
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_T_:
      {
        token->id = ps20_token::T;
        token->bPos = bPos;
        token->ePos = ePos;
        token->_set(_start, _ch - _start);
        {
			token->integer = atoi(token->image().c_str() + 1);
			if(token->integer >= 8) throw swShader::Error("Syntax swShader::Error: t%d index out of range", token->integer);
		

        }
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_S_:
      {
        token->id = ps20_token::S;
        token->bPos = bPos;
        token->ePos = ePos;
        token->_set(_start, _ch - _start);
        {
			token->integer = atoi(token->image().c_str() + 1);
			if(token->integer >= 16) throw swShader::Error("Syntax swShader::Error: s%d index out of range", token->integer);
		

        }
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_R_:
      {
        token->id = ps20_token::R;
        token->bPos = bPos;
        token->ePos = ePos;
        token->_set(_start, _ch - _start);
        {
			token->integer = atoi(token->image().c_str() + 1);
			if(token->integer >= 12) throw swShader::Error("Syntax swShader::Error: r%d index out of range", token->integer);
		

        }
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_O_C_:
      {
        token->id = ps20_token::O_C;
        token->bPos = bPos;
        token->ePos = ePos;
        token->_set(_start, _ch - _start);
        {
			token->integer = atoi(token->image().c_str() + 2);
			if(token->integer >= 4) throw swShader::Error("Syntax swShader::Error: oC%d index out of range", token->integer);
		

        }
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_O_DEPTH_:
      {
        token->id = ps20_token::O_DEPTH;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_X_:
      {
        token->id = ps20_token::X;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_Y_:
      {
        token->id = ps20_token::Y;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_Z_:
      {
        token->id = ps20_token::Z;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_W_:
      {
        token->id = ps20_token::W;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_COMMA_:
      {
        token->id = ps20_token::COMMA;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_DOT_:
      {
        token->id = ps20_token::DOT;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __accept_token_MINUS_:
      {
        token->id = ps20_token::MINUS;
        token->bPos = bPos;
        token->ePos = ePos;
        commonTokenAction (*token);
        bPos = ePos;
        _start = _ch;
        if (_reject) { _reject = false; continue; }
        else return;
      }
    __scan_error_:
      {
        string msg = string("Unexpected character \'") + (char) c + "\'.";
        ScanException __ex(ePos, msg);
        if (!onScanError(__ex))
          throw __ex;
      }
    __unexpected_eof_:
      {
        string msg("Unexpected EOF.");
        ScanException __ex(ePos, msg);
        if (!onScanError(__ex))
          throw __ex;
      }
      __eof_seen_:
        token->id = ps20_token::eof;
        token->bPos = bPos;
        token->ePos = ePos;
        return;
  }
}



/* End of file. */
