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); }