> -- Александр Ильин писал(а):
> Только в том случае, если у вас слово "ЕСЛИ" будет начинаться на букву "I". Также см. процедуру Identifier для выяснения, какие буквы приемлемы в идентификаторах. В целом копаете в правильном направлении.
что то я действительно сглупил д.б. примерно:
....
| "I": Identifier(s); IF name = "IF" THEN s := if
....
заменить на:
....
| "I": Identifier(s); IF name = "IF" THEN s := if
| "Е": Identifier(s); IF name = "ЕСЛИ" THEN s := if
....
Судя по этой строке с кириличискими операторами проблем быть не должно?
| "G".."H", "J", "K", "Q", "S", "X".."Z", "a".."z", "_", "А".."я", "ё", "Ё": Identifier(s)

---
PROCEDURE Identifier(VAR sym: BYTE);
VAR i: SHORTINT;
BEGIN i := 0;
REPEAT
name[i] := ch; INC(i); DevCPM.Get(ch)
UNTIL ~National.IsIdentChar(ch) OR (i = MaxIdLen);
IF i = MaxIdLen THEN err(240); DEC(i) END ;
name[i] := 0X; sym := ident
END Identifier;
--------------------
Честно говоря ничего не понял?? что делает эта процедура??