All pastes #812016 Raw Edit

Miscellany

public c v1 · immutable
·published 2007-12-11 13:03 UTC
rendered paste body
void nxl(void) {  do {    i_lv = -1;     lv[0] = '\0';    // Фиксируем начальную позицию    oldpoz=ftell(infil)-1;    oldline=line; oldcolumn=column;    // Процесс пошел    if(si == EOF) {lc = lexEof; return;}    // Игнорируемую лексему не возвращаем    if(isSkip(si)) {nxsi(); lc = lexSkip; continue; /*return;*/}    if(id_etc()) {return;} unset();    if(string_const()) {return;} unset();    if(float1()) {return;} unset();    if(float2()) {return;} unset();    if(float3()) {return;} unset();    if(float4()) {return;} unset();    if(float5()) {return;} unset();    if(binary()) {return;} unset();    if(octal()) {return;} unset();    if(hex()) {return;} unset();    if(pdecimal()) {return;} unset();    if(decimal()) {return;} unset();    // Игнорируемую лексему не возвращаем    if(comment()) {continue; /*return;*/} unset();    // Игнорируемую лексему не возвращаем    if(isIgnore(si)) {nxsi(); lc = lexIgnore; continue; /*return;*/}    if(si=='/') {nxsi(); lc = lexSlash;return;}    if(si == ';') {nxsi(); lc = lexSemicolon; return;}    if(si == ',') {nxsi(); lc = lexComma; return;}    if(si == ':') {      nxsi();       if(si == '=') {nxsi(); lc = lexAssign; return;}    } unset();    if(si==':') {nxsi(); lc = lexColon; return;}    if(si == '(') {nxsi(); lc = lexLftRndBr; return;}    if(si == ')') {nxsi(); lc = lexRghRndBr; return;}    if(si == '[') {nxsi(); lc = lexLftSqBr; return;}    if(si == ']') {nxsi(); lc = lexRghSqBr; return;}    if(si == '*') {nxsi(); lc = lexStar; return;}    if(si == '%') {nxsi(); lc = lexPercent; return;}    if(si == '+') {nxsi(); lc = lexPlus; return;}    if(si == '-') {      nxsi();       if(si == '>') {nxsi(); lc = lexArrow; return;}     } unset();    if(si=='-') {nxsi(); lc=lexMinus; return;}    if(si == '=') {nxsi(); lc = lexEQ; return;}    if(si == '!') {      nxsi();       if(si == '=') {nxsi(); lc = lexNE; return;}    } unset();    if(si == '>') {      nxsi();       if(si == '=') {nxsi(); lc = lexGE; return;}    } unset();    if(si=='>') {nxsi(); lc=lexGT; return;}    if(si == '<') {      nxsi();       if(si == '=') {nxsi(); lc = lexLE; return;}    } unset();    if(si=='<') {nxsi(); lc=lexLT; return;}    lc = lexError; er(0); nxsi();  } while (lc == lexComment || lc == lexSkip || lc == lexIgnore);}