РАЗБИРАТЬ. CPP

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

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

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

Пункт Описание
ADsObject Анализирует ADspath, переданный в него. Эта функция следует следующим правилам грамматики: <ADsObject> —><Имя поставщика><SampleDSObject>
SampleDSObject Анализирует следующие правила грамматики: <SampleDSObject> —> "\\" <идентификатор> "\" <имя пути>
ProviderName Добавляет в синтаксически правильное имя поставщика, если нет.
PathName Анализирует следующие правила грамматики: <имя пути> —><компонент> "\\" <имя пути> OR
<имя пути> —><компонент>
компонента Анализирует следующие правила грамматики: <идентификатор> 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" | "группа" и т. д.