bool expression_parser::is_array(array_t& expression_stack) { if (!is_token(open_bracket_k)) return false; if (!is_argument_list(expression_stack)) push_back(expression_stack, adobe::array_t()); require_token(close_bracket_k); return true; }
bool binspector_parser_t::is_notify() { if (!is_keyword(key_notify)) return false; adobe::array_t argument_list_expression; if (is_argument_list(argument_list_expression) == false) throw_exception("argument list required"); adobe::dictionary_t parameters; parameters[key_field_type].assign(value_field_type_notify); parameters[key_field_name].assign(value_field_type_notify); parameters[key_notify_expression].assign(argument_list_expression); insert_parser_metadata(parameters); add_unnamed_field_proc_m(parameters); return true; }
// argument_expression_list = named_argument_list | argument_list. bool expression_parser::is_argument_expression_list(array_t& expression_stack) { if (is_named_argument_list(expression_stack) || is_argument_list(expression_stack)) return true; return false; }