: , , , , . , , , . , . , , , . , ( ), 7.4.
7.4 ,
7.4 ,
()
7.4 ,
()
:
//----------------------------------------------------------------
// ,
//
//----------------------------------------------------------------
void nxl(void) {
do {
i_lv = -1;
lv[0] = '\0';
if(si == EOF) {lc = lexEof;}
else if(isSkip(si)) {nxsi(); lc = lexSkip;}
else if(isLetter(si) || si == '_'){
lv[++i_lv]=si; nxsi(); id_etc();
}
else if(isDigit(si)) {number();}
else if(isIgnore(si)) {nxsi(); lc = lexIgnore;}
else if(si == '/') {nxsi(); divcom();}
else if(si == '\"') {nxsi(); string_const();}
else if(si == ';') {nxsi(); lc = lexSemicolon;}
else if(si == ',') {nxsi(); lc = lexComma;}
else if(si == ':') {
nxsi();
if(si == '=') {nxsi(); lc = lexAssign;}
else lc = lexColon;
}
else if(si == '(') {nxsi(); lc = lexLftRndBr;}
else if(si == ')') {nxsi(); lc = lexRghRndBr;}
else if(si == '[') {nxsi(); lc = lexLftSqBr;}
else if(si == ']') {nxsi(); lc = lexRghSqBr;}
else if(si == '*') {nxsi(); lc = lexStar;}
else if(si == '%') {nxsi(); lc = lexPercent;}
else if(si == '+') {nxsi(); lc = lexPlus;}
else if(si == '-') {
nxsi();
if(si == '>') {nxsi(); lc = lexArrow;}
else lc = lexMinus;
}
else if(si == '=') {nxsi(); lc = lexEQ;}
else if(si == '!') {
nxsi();
if(si == '=') {nxsi(); lc = lexNE;}
else {lc = lexError; er(1);}
}
else if(si == '>') {
nxsi();
if(si == '=') {nxsi(); lc = lexGE;}
lc = lexGT;
}
else if(si == '<') {
nxsi();
if(si == '=') {nxsi(); lc = lexLE;}
lc = lexLT;
}
else if(si == '{') {nxsi(); prenumber();}
else if(si == '.') {lv[++i_lv]=si; nxsi(); fltnumber2();}
else {lc = lexError; er(0); nxsi();}
} while (lc == lexComment || lc == lexSkip || lc == lexIgnore);
}
|
|
, .
, , 7.5. .
7.5 ,
1. , . 1 * ; 2 *, /.
7.5 , ()
7.5 , ()