Прочитать на английском

Поделиться через


АНАЛИЗА. CPP

В примере компонента поставщика пример кода средства синтаксического анализа пути службы каталогов находится в Parse.cpp. Средство синтаксического анализа путей является ключевым компонентом в компонентах поставщика ADs. Он проверяет синтаксическую допустимость пути ADs, переданного этому поставщику. Если синтаксис действителен, структура OBJECTINFO создается, которая содержит компонентную версию ADspath для этого объекта.

Помните, что это только синтаксическая проверка. Вместо особых случаев каждой новой итерации пути все проверки пути должны соответствовать правилам грамматики, установленным средством синтаксического анализа.

В следующей таблице перечислены функции и методы, реализованные в Parse.cpp.

Позиция Description
ADsObject Анализирует ADspath, переданный в него. Эта функция следует следующим правилам грамматики: <ADsObject -<>ProviderName><SampleDSObject>>
SampleDSObject Анализирует следующие правила грамматики: SampleDSObject> —> "\\" <идентификатор> "\" <<Pathname>
ProviderName Добавляет в синтаксически правильное имя поставщика, если нет.
PathName Анализирует следующие правила грамматики: <Pathname> -<>Component> "\\" <Pathname> OR
<Pathname> -><Component>
Компонент Анализирует следующие правила грамматики: <идентификатор> OR
<Идентификатор "=" <Идентификатор>>
CLexer::CLexer Стандартный конструктор.
CLexer::~CLexer Деструктор уровня "Стандартный".
CLexer::GetNextToken Создатель маркеров.
CLexer::NextChar Извлекает следующий один символ.
CLexer::P ushBackToken Резервное копирование до начала последнего маркера.
CLexer::P ushbackChar Резервное копирование одного символа.
CLexer::IsKeyword Проверяет список ключевое слово. Определяется в Globals.h).
AddComponent Добавляет этот компонент в массив компонентов.
AddProviderName Добавляет синтаксически правильное имя поставщика в структуру OBJECTINFO .
AddRootRDN Добавляет синтаксически правильное имя корня относительного различающегося имени (RDN) в структуру OBJECTINFO .
SetType Задает тип объекта.
Тип Синтаксический анализ type-> "user" | "группа" и т. д.