ANALIZAR. CPP
En el componente de proveedor de ejemplo, un ejemplo de código del analizador de ruta de acceso del servicio de directorio se encuentra en Parse.cpp. El analizador de rutas de acceso es un componente clave en los componentes del proveedor de ADs. Comprueba la validez sintáctica de una ruta de acceso de ADs pasada a este proveedor. Si la sintaxis es válida, se construye una estructura OBJECTINFO , que contiene una versión componente de ADspath para este objeto.
Tenga en cuenta que esto es solo una comprobación de sintaxis. En lugar de un caso especial, cada nueva iteración de la ruta de acceso, toda la comprobación de la ruta de acceso debe cumplir las reglas gramaticales establecidas por el analizador.
En la tabla siguiente se enumeran las funciones y los métodos implementados en Parse.cpp.
Elemento | Descripción |
---|---|
ADsObject | Analiza la ruta de acceso de ADspath que se le ha pasado. Esta función sigue las siguientes reglas gramaticales: <ADsObject> -><ProviderName><SampleDSObject> |
SampleDSObject | Analiza las siguientes reglas gramaticales: SampleDSObject> -> "\\" <identificador> "\" <<Pathname> |
ProviderName | Agrega en el nombre del proveedor sintácticamente correcto si no existe. |
PathName | Analiza las siguientes reglas gramaticales: <Pathname> -<>Component> "\\" <Pathname> OR <Pathname> -><Component> |
Componente | Analiza las siguientes reglas gramaticales: <Identificador> OR <Identificador "=" <Identificador>> |
CLexer::CLexer | Constructor estándar. |
CLexer::~CLexer | Destructor estándar. |
CLexer::GetNextToken | Tokenizador. |
CLexer::NextChar | Recupera el siguiente carácter único. |
CLexer::P ushBackToken | Realiza una copia de seguridad hasta el inicio del último token. |
CLexer::P ushbackChar | Hace una copia de seguridad de un carácter. |
CLexer::IsKeyword | Comprueba la lista de palabras clave. Definido en Globals.h). |
AddComponent | Agrega este componente a la matriz de componentes. |
AddProviderName | Agrega un nombre de proveedor sintácticamente correcto a la estructura OBJECTINFO . |
AddRootRDN | Agrega el nombre de nombre distintivo (RDN) relativo de raíz sintácticamente correcto a la estructura OBJECTINFO . |
SetType | Establece el tipo del objeto . |
Tipo | Analiza el tipo:> "usuario" | "grupo" y así sucesivamente. |