PARSE.CPP

在示例提供程序组件中,Parse.cpp 是目录服务路径分析器的代码示例。 路径分析器是 AD 提供程序组件中的一个关键组件。 它验证传递给该提供程序的 AD 路径的语法有效性。 如果语法有效,就会生成一个 OBJECTINFO 结构,其中包含该对象的 ADspath 组件化版本。

请注意,这只是语法验证。 所有路径验证都必须符合分析器制定的语法规则,而不是对路径的每一次新迭代进行特例化。

下表列出了 Parse.cpp 中实现的函数和方法。

说明
ADsObject 分析传递给它的 ADspath。 此函数遵循以下语法规则:<ADsObject> -><ProviderName><SampleDSObject>
SampleDSObject 分析以下语法规则:<SampleDSObject> -> "\\" <identifier> "\" <Pathname>
ProviderName 如果没有,则添加语法正确的提供程序名称。
PathName 分析以下语法规则:<Pathname> -><Component> "\\" <Pathname> OR
<Pathname> -><Component>
组件 分析以下语法规则:<Identifier> OR
<Identifier> "=" <Identifier>
CLexer::CLexer 标准构造函数。
CLexer::~CLexer 标准析构函数。
CLexer::GetNextToken 分词器。
CLexer::NextChar 检索下一个字符。
CLexer::PushBackToken 备份到最后一个令牌的开头。
CLexer::PushbackChar 备份一个字符。
CLexer::IsKeyword 验证关键字列表。 在 Globals.h 中定义)。
AddComponent 将此组件添加到组件数组中。
AddProviderName OBJECTINFO 结构中添加语法正确的提供程序名称。
AddRootRDN 将语法正确的根相对可分辨名称 (RDN) 添加到 OBJECTINFO 结构中。
SetType 设置对象的类型。
类型 分析 Type-> "user" | "group" 等。