PARSE. CPP

W przykładowym składniku dostawcy przykładowy analizator ścieżki usługi katalogowej znajduje się w Parse.cpp. Analizator ścieżki jest kluczowym składnikiem składników dostawcy usług ADs. Sprawdza poprawność składni ścieżki usługi ADs przekazaną do tego dostawcy. Jeśli składnia jest prawidłowa, zostanie skonstruowana struktura OBJECTINFO zawierająca składnikową wersję ścieżki ADspath dla tego obiektu.

Należy pamiętać, że jest to tylko weryfikacja składni. Zamiast specjalnej iteracji każdej nowej iteracji ścieżki, wszystkie weryfikacje ścieżki muszą być zgodne z regułami gramatycznymi ustalonymi przez analizator.

W poniższej tabeli wymieniono funkcje i metody zaimplementowane w Parse.cpp.

Przedmiot Opis
ADsObject Analizuje przekazany ścieżkę usługi ADspath. Ta funkcja jest zgodna z następującymi regułami gramatycznymi: <ADsObject> —><ProviderName><SampleDSObject>
SampleDSObject Analizuje następujące reguły gramatyczne: <SampleDSObject> —> "\\" identyfikator <> "\" <Nazwa ścieżki>
ProviderName Dodaje składniowo poprawną nazwę dostawcy, jeśli nie istnieje.
Nazwa_ścieżki Analizuje następujące reguły gramatyczne: <nazwa_ścieżki> —><Składnik> "\\" <Nazwa ścieżki> OR
<nazwa_ścieżki> —><Składnik>
składników Analizuje następujące reguły gramatyczne: <identyfikator> OR
<identyfikator> "=" <identyfikator>
CLexer::CLexer Konstruktor standardowy.
CLexer::~CLexer Destruktor standardowy.
CLexer::GetNextToken Tokenizer.
CLexer::NextChar Pobiera następny pojedynczy znak.
CLexer::P ushBackToken Wykonuje kopię zapasową na początku ostatniego tokenu.
CLexer::P ushbackChar Wykonuje kopię zapasową jednego znaku.
CLexer::IsKeyword Weryfikuje listę słów kluczowych. Zdefiniowane w pliku Globals.h).
AddComponent Dodaje ten składnik do tablicy składników.
AddProviderName Dodaje składniowo poprawną nazwę dostawcy do struktury OBJECTINFO.
AddRootRDN Dodaje do struktury OBJECTINFO poprawną nazwę względną nazwy głównej (RDN).
SetType Ustawia typ obiektu.
typu Analizowanie typu —> "użytkownik" | "grupuj" i tak dalej.