def _create_update_expression():
ine = (<EOL>Word("<STR_LIT>")<EOL>+ Suppress("<STR_LIT:(>")<EOL>+ var<EOL>+ Suppress("<STR_LIT:U+002C>")<EOL>+ var_val<EOL>+ Suppress("<STR_LIT:)>")<EOL>)<EOL>list_append = (<EOL>Word("<STR_LIT>")<EOL>+ Suppress("<STR_LIT:(>")<EOL>+ var_val<EOL>+ Suppress("<STR_LIT:U+002C>")<EOL>+ var_val<EOL>+ Suppress("<STR_LIT:)>")<EOL>)<EOL>fxn = Group(ine | list_append).setResultsName("<STR_LIT>")<EOL>path = value | fxn | var<EOL>set_val = (path + oneOf("<STR_LIT>") + path) | path<EOL>set_cmd = Group(var + Suppress("<STR_LIT:=>") + set_val)<EOL>set_expr = (Suppress(upkey("<STR_LIT>")) + delimitedList(set_cmd)).setResultsName(<EOL>"<STR_LIT>"<EOL>)<EOL>add_expr = (<EOL>Suppress(upkey("<STR_LIT>")) + delimitedList(Group(var + value))<EOL>).setResultsName("<STR_LIT>")<EOL>delete_expr = (<EOL>Suppress(upkey("<STR_LIT>")) + delimitedList(Group(var + value))<EOL>).setResultsName("<STR_LIT>")<EOL>remove_expr = (Suppress(upkey("<STR_LIT>")) + delimitedList(var)).setResultsName(<EOL>"<STR_LIT>"<EOL>)<EOL>return OneOrMore(set_expr | add_expr | delete_expr | remove_expr).setResultsName(<EOL>"<STR_LIT>"<EOL>)<EOL>
Create the grammar for an update expression