Добавить русские синонимы в Keywords.cs

This commit is contained in:
mzhoot 2026-07-04 16:45:59 +00:00
parent 7368570c06
commit ff1b0f011b

View file

@ -119,10 +119,85 @@ namespace Languages.Pascal.Frontend.Core
CreateNewKeyword("break"); CreateNewKeyword("break");
CreateNewKeyword("exit"); CreateNewKeyword("exit");
CreateNewKeyword("continue"); CreateNewKeyword("continue");
// 🇷🇺 РУССКИЕ СИНОНИМЫ
// Логические операторы
CreateNewKeyword("или", Tokens.tkOr);
CreateNewKeyword("и", Tokens.tkAnd);
CreateNewKeyword("не", Tokens.tkNot);
CreateNewKeyword(сключающее_или", Tokens.tkXor);
CreateNewKeyword("див", Tokens.tkDiv);
CreateNewKeyword("остаток", Tokens.tkMod);
// Условия и циклы
CreateNewKeyword("если", Tokens.tkIf);
CreateNewKeyword("то", Tokens.tkThen);
CreateNewKeyword("иначе", Tokens.tkElse);
CreateNewKeyword("выбор", Tokens.tkCase);
CreateNewKeyword("для", Tokens.tkFor);
CreateNewKeyword("от", Tokens.tkTo);
CreateNewKeyword("вниз_до", Tokens.tkDownto);
CreateNewKeyword("шаг", Tokens.tkStep);
CreateNewKeyword("пока", Tokens.tkWhile);
CreateNewKeyword("повтор", Tokens.tkRepeat);
CreateNewKeyword("до", Tokens.tkUntil);
CreateNewKeyword("цикл", Tokens.tkLoop);
CreateNewKeyword("для_каждого", Tokens.tkForeach);
// Структура программы
CreateNewKeyword("нач", Tokens.tkBegin);
CreateNewKeyword("кон", Tokens.tkEnd);
CreateNewKeyword("алг", Tokens.tkFunction, KeywordKind.Function, true);
CreateNewKeyword("проц", Tokens.tkProcedure, KeywordKind.Function, true);
CreateNewKeyword("перем", Tokens.tkVar, KeywordKind.Var);
CreateNewKeyword("конст", Tokens.tkConst, KeywordKind.Const);
CreateNewKeyword("тип", Tokens.tkType, KeywordKind.Type);
CreateNewKeyword("использовать", Tokens.tkUses, KeywordKind.Uses);
CreateNewKeyword("модуль", Tokens.tkUnit, KeywordKind.Unit);
CreateNewKeyword("программа", Tokens.tkProgram, KeywordKind.Program);
// ООП
CreateNewKeyword("класс", Tokens.tkClass, isTypeKeyword: true);
CreateNewKeyword("запись", Tokens.tkRecord, isTypeKeyword: true);
CreateNewKeyword("конструктор", Tokens.tkConstructor, KeywordKind.Constructor);
CreateNewKeyword("деструктор", Tokens.tkDestructor, KeywordKind.Destructor);
CreateNewKeyword("свойство", Tokens.tkProperty);
CreateNewKeyword("наследованный", Tokens.tkInherited, KeywordKind.Inherited);
CreateNewKeyword("виртуальный", Tokens.tkVirtual);
CreateNewKeyword("переопределить", Tokens.tkOverride);
CreateNewKeyword("абстрактный", Tokens.tkAbstract);
CreateNewKeyword("приватный", Tokens.tkPrivate);
CreateNewKeyword("защищенный", Tokens.tkProtected);
CreateNewKeyword("публичный", Tokens.tkPublic);
// Массивы и коллекции
CreateNewKeyword("массив", Tokens.tkArray, isTypeKeyword: true);
CreateNewKeyword("множество", Tokens.tkSet, isTypeKeyword: true);
CreateNewKeyword("файл", Tokens.tkFile, isTypeKeyword: true);
// Исключения
CreateNewKeyword("попытка", Tokens.tkTry);
CreateNewKeyword("исключение", Tokens.tkExcept);
CreateNewKeyword(онец_попытки", Tokens.tkFinally);
CreateNewKeyword("вызвать", Tokens.tkRaise, KeywordKind.Raise);
// Прочее
CreateNewKeyword("метка", Tokens.tkLabel);
CreateNewKeyword("перейти", Tokens.tkGoto);
CreateNewKeyword("с", Tokens.tkWith);
CreateNewKeyword("в", Tokens.tkIn);
CreateNewKeyword("является", Tokens.tkIs);
CreateNewKeyword("как", Tokens.tkAs);
CreateNewKeyword("новый", Tokens.tkNew, KeywordKind.New);
CreateNewKeyword("пусто", Tokens.tkNil);
CreateNewKeyword("размер", Tokens.tkSizeOf, treatAsFunction: true);
CreateNewKeyword("тип_объекта", Tokens.tkTypeOf, treatAsFunction: true);
#endregion #endregion
} }
protected override int GetIdToken() => (int)Tokens.tkIdentifier; protected override int GetIdToken() => (int)Tokens.tkIdentifier;
} }
} }