> type = TOK_PLUS;; '-':
/* - = */(lexer_lookahead (cb, '=', 1))
_tokRec-> type = TOK_ASMINUS;
/* - */if (lexer_lookahead (cb, '-', 1))
_tokRec-> type = TOK_DECR;
/* - */
_tokRec-> type = TOK_MINUS;; '*':
/** = */(lexer_lookahead (cb, '=', 1))
_tokRec-> type = TOK_ASMUL;
/***/
_tokRec-> type = TOK_MUL;; '/':
/*/= */(lexer_lookahead (cb, '=', 1))
_tokRec-> type = TOK_ASDIV;
/*/*/
_tokRec-> type = TOK_DIV;; '^':
/* ^ */
_tokRec-> type = TOK_EXP;; '%':
/*% = (modulus) */(lexer_lookahead (cb, '=', 1))
_tokRec-> type = TOK_ASMOD;
/*% */
_tokRec-> type = TOK_MOD;
break;
}
/* Кінець перевірки. Це оператор? */(_tokRec-> Type! = TOK_EOF)
{
* (_tokRec-> str) = ch;
* (_tokRec-> str +1) = ' 0';
goto l_end;
}
/* Кінець введення даних? */(Ch == TOK_EOF)
{
_tokRec-> type = ch;
goto l_end;
}
/* Новий рядок або новий оператор? */(Ch == ';' | | ch == ' n')
{
_tokRec-> type = ch;
* (_tokRec-> str) = ch;
goto l_end;
} (strchr ("(),. {}", ch))
{
/* Знаки) (;.,} {*/
_tokRec-> type = ch;
* (_tokRec-> str) = ch; l_end;
}
// Ідентифікатор = tolower (ch); ((ch2> = 'a' && ch2 <= 'z') | | strchr ("_ $", ch ))
{
* buf = ch; = buf +1; = lexer_get_char (cb); ((isalnum (ch) | | strchr ("_ $", ch)) && ch! = TOK_EOF)
{
* cPtr + + = ch; = lexer_get_char (cb);
}
* cPtr = ' 0';
/* Повернення останнього символу в потік даних */
lexer_put_back (cb, ch);
_tokRec-> type = TOK_IDENT; len = min (strlen (buf), MAX_TOKEN_LEN); (_tokRec-> str, buf, len);
* (_tokRec-> str + len) = ' 0';
}