ESP_IOT v2.5
IOT ESP Coding
TokenParser.h File Reference
#include "../../Defines.h"
Include dependency graph for TokenParser.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void parseQueryLine_mainModule (char *line)
 parses a line of text, The caller then uses queryMatchesName() to see if their name matches More...
 
boolean queryMatchesName_mainModule (char *name)
 
boolean stringIsQuery_mainModule (char *line)
 whether the stirng is a potential query More...
 
void setup_tokenParser_mainModule ()
 setup for the token parser (really just for testing) More...
 

Function Documentation

◆ parseQueryLine_mainModule()

void parseQueryLine_mainModule ( char *  line)

parses a line of text, The caller then uses queryMatchesName() to see if their name matches

parses a line of text, The caller then uses queryMatchesName() to see if their name matches

initialize the variables for parsing this line

if no query params, then make it an identifier and exit

if parsing still then add to identifier

start a new identifier..

init the identifier

else not valid identifier (so a follow..)

done parsing if not a valid identifier character

finishIdNeeded is before pushing another token, unless a not or wildcard

now classify this char if an identifier modifier

! and * belong to the identifier object if a modifier of ident (~ or *) then push the token, and process the identifier

an operator or space if inside an identifier, finish it first

process the token

& and | are expression modifiers

if end of line, and was parsing an identifier .. then finish

Definition at line 254 of file TokenParser.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ queryMatchesName_mainModule()

boolean queryMatchesName_mainModule ( char *  name)

now need to process the token tree to see if name1 and name2 match the query eg. ! name & name2 ... wildcards after name make it slightly complicated SO: look for wildcards before and after, and the id. then decide if that matches before the boolean and notmodifier applied

basically for each identifier in the query, the names (1&2) have to be compared each time..

what the last boolean_enum was..

the result of A <> B

Definition at line 419 of file TokenParser.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setup_tokenParser_mainModule()

void setup_tokenParser_mainModule ( )

setup for the token parser (really just for testing)

setup for the token parser (really just for testing)

Definition at line 654 of file TokenParser.cpp.

Here is the caller graph for this function:

◆ stringIsQuery_mainModule()

boolean stringIsQuery_mainModule ( char *  line)

whether the stirng is a potential query

whether the stirng is a potential query. This can be used, but it is also used by the parseQueryLine to optimize out the original dev:name query.

Definition at line 407 of file TokenParser.cpp.

Here is the caller graph for this function: