AYRIŞTIRMAK. CPP

Örnek sağlayıcı bileşeninde, dizin hizmeti yolu ayrıştırıcısının kod örneği Parse.cpp. Yol ayrıştırıcısı, AD sağlayıcı bileşenlerindeki önemli bir bileşendir. Bu sağlayıcıya geçirilen bir ADs yolunun sağlam geçerliliğini doğrular. Söz dizimi geçerliyse, bu nesne için ADspath'in bileşenleştirilmiş bir sürümünü içeren bir OBJECTINFO yapısı oluşturulur.

Bunun yalnızca bir söz dizimi doğrulaması olduğunu unutmayın. Her yeni yol yinelemesinde özel durum yerine, tüm yol doğrulaması ayrıştırıcı tarafından belirlenen dil bilgisi kurallarına uygun olmalıdır.

Aşağıdaki tabloda, Parse.cpp uygulanan işlevler ve yöntemler listelenmektedir.

Madde Açıklama
ADsObject Geçirilen ADspath ayrıştırılır. Bu işlev şu dil bilgisi kurallarını izler: <ADsObject> -><ProviderName><SampleDSObject>
SampleDSObject Aşağıdaki dil bilgisi kurallarını ayrıştırıyor: <SampleDSObject> - "\\" <tanımlayıcı> "\" <Yol Adı>>
ProviderName Değilse söz dizimsel olarak doğru sağlayıcı adını ekler.
PathName Aşağıdaki dil bilgisi kurallarını ayrıştırıyor: <Pathname> -><Component> "\\" <Pathname> OR
<Pathname> -><Bileşeni>
Bileşeni Aşağıdaki dil bilgisi kurallarını ayrıştırıyor: <Tanımlayıcı> OR
<Tanımlayıcı> "=" <Tanımlayıcı>
CLexer::CLexer Standart oluşturucu.
CLexer::~CLexer Standart yıkıcı.
CLexer::GetNextToken Belirteç oluşturucu.
CLexer::NextChar Sonraki tek karakteri alır.
CLexer::P ushBackToken Son belirtecin başlangıcına kadar yedekler.
CLexer::P ushbackChar Bir karakter yedekler.
CLexer::IsKeyword Anahtar sözcük listesini doğrular. Globals.h) içinde tanımlanır.
AddComponent Bu bileşeni bileşen dizisine ekler.
AddProviderName OBJECTINFO yapısına sağlam bir şekilde doğru bir sağlayıcı adı ekler.
AddRootRDN OBJECTINFO yapısına, kök göreli ayırt edici ad (RDN) adını sağlam olarak doğru ekler.
SetType Nesnenin türünü ayarlar.
Tür Tür Ayrıştırma-> "kullanıcı" | "group" vb.