#include <BESTokenizer.h>
Inheritance diagram for BESTokenizer:
Public Member Functions | |
BESTokenizer () | |
~BESTokenizer () | |
void | tokenize (const char *p) |
tokenize the BES request/command string | |
string & | get_first_token () |
returns the first token from the token list | |
string & | get_current_token () |
returns the current token from the token list | |
string & | get_next_token () |
returns the next token from the token list | |
void | parse_error (const string &s="") |
throws an exception giving the tokens up to the point of the problem | |
string | parse_container_name (const string &s, unsigned int &type) |
parses a container name for constraint and attributes | |
string | remove_quotes (const string &s) |
removes quotes from a quoted token | |
void | dump_tokens () |
dump the tokens that have been tokenized in the order in which they are parsed. | |
virtual void | dump (ostream &strm) const |
dumps information about this object |
BESTokenizer tokenizes an BES request command string, such as a get request, a define command, a set command, etc... Tokens are separated by the following characters:
'"' ' ' '
' 0x0D 0x0A
When the tokenizer sees a double quote it then finds the next double quote and includes all test between the quotes, and including the quotes, as a single token.
If there is any problem in the syntax of the request or command then you can use the method parse_error, which will display all of the tokens up to the point of the error.
If the user of the tokenizer attempts to access the next token before the first token is accessed, a BESExcpetion is thrown.
If the user of the tokenizer attempts to access more tokens than were read in, a BESException is thrown.
|
|
|
|
|
dumps information about this object Displays the pointer value of this instance
Implements BESObj. |
|
dump the tokens that have been tokenized in the order in which they are parsed. Dumps to standard out the tokens that were parsed from the request/command string. If the tokens were quoted, the quotes are kept in. The tokens are all displayed with double quotes around them to show if there are any spaces or special characters in the token. |
|
returns the current token from the token list Returns the current token from the token list and returns it to the caller.
|
|
returns the first token from the token list This method will return the first token from the token list. Whether the caller has accessed tokens already or not, the caller is returned to the beginning of the list.
|
|
returns the next token from the token list Returns the next token from the token list and returns it to the caller.
|
|
parses a container name for constraint and attributes This method parses a string that contains either a constraint for a container or attributes for a container. If it is a constraint then the type is set to 1, if it is attributes for the container then type is set to 2. The syntax should look like the following. <container_name>.constraint= or <container_name>.attributes= The equal sign must be present.
|
|
throws an exception giving the tokens up to the point of the problem Throws an excpetion using the passed error string, and adding to it the tokens that have been read leading up to the point that this method is called.
|
|
removes quotes from a quoted token Removes quotes from a quoted token. The passed string must begin with a double quote and must end with a double quote.
|
|
tokenize the BES request/command string BESTokenizer tokenizes a BES request command string, such as a get request, a define command, a set command, etc... Tokens are separated by the following characters:
'"' ' ' ' When the tokenizer sees a double quote it then finds the next double quote and includes all test between the quotes, and including the quotes, as a single token. When a "\" is character is encountered it is treated as an escape character. The "\" is removed from the token and the character following it is added to the token - even if it's a double qoute.
|