TokenType token_type(const string &str) { if (is_valid_operator(str)) return operator_symbol; if (is_valid_operator_as_function(str)) return op_function; if (is_valid_identifier(str)) return plain_identifier; if (is_valid_symbol(str)) return symbol; if (is_valid_label(str)) return label; if (is_valid_number(str)) return number; if (is_valid_type_name(str)) return type_id; if (is_valid_type_var(str)) return type_var; if (is_valid_builtin(str)) return builtin; if (is_valid_string_lit(str)) return string_lit; return invalid; }
// ========= symbol_t Tape::get_position_symbol () const { assert (position_ < tape_.size()); symbol_t ret_symbol = tape_[position_]; assert (is_valid_symbol(ret_symbol)); return ret_symbol; }
/* Initializes a position on the options table. This is intended to be used at * initialization to make a table of valid options and its default values. */ static int option_init(const char *name, enum option_type type) { unsigned int h=hash(name); int pos=find_free(h); assert (strlen(name) < OPTION_NAME_MAX); assert (is_valid_symbol (name)); assert(pos>=0); strcpy (options[pos].name, name); options[pos].hash=h; options[pos].type = type; options[pos].ignore_in_config = 0; options[pos].set_in_config = 0; options[pos].check = option_check_true; options[pos].count = 0; options[pos].constraints = NULL; options_num++; return pos; }
bool asset_symbol_eq_lit_predicate::validate()const { return is_valid_symbol( symbol ); }
void eobj_save(t_gobj* x, t_binbuf *b) { int i, state; int argc = 0; t_atom* argv = NULL; t_binbuf* d; t_object* z = (t_object *)x; t_ebox* y = (t_ebox *)z; t_eclass* c = eobj_getclass(x); char buffer[MAXPDSTRING]; if(x && b) { if(eobj_isbox(x)) { if(c && b) { state = canvas_suspend_dsp(); binbuf_addv(b, (char *)"ssiis", &s__X, s_cream_obj, (t_int)z->te_xpix, (t_int)z->te_ypix, eobj_getclassname(x)); for(i = 0; i < c->c_nattr; i++) { if(c->c_attr[i] && c->c_attr[i]->save && c->c_attr[i]->name) { eobj_attr_getvalueof(x, c->c_attr[i]->name, &argc, &argv); if(argc && argv) { if(!(argc == 1 && atom_gettype(argv) == A_SYMBOL && !is_valid_symbol(atom_getsymbol(argv)))) { snprintf(buffer, MAXPDSTRING, "@%s", c->c_attr[i]->name->s_name); binbuf_append_attribute(b, gensym(buffer), argc, argv); } argc = 0; free(argv); argv = NULL; } } } argv = (t_atom *)malloc(3 * sizeof(t_atom)); if(argv) { for(i = 0; i < y->b_nparams; i++) { if(y->b_params[i]) { snprintf(buffer, MAXPDSTRING, "@param%i", i); atom_setsym(argv, y->b_params[i]->p_name); atom_setsym(argv+1, y->b_params[i]->p_label); atom_setfloat(argv+2, y->b_params[i]->p_index); binbuf_append_attribute(b, gensym(buffer), 3, argv); } } } if(c->c_widget.w_save != NULL) { c->c_widget.w_save(x, b); } binbuf_addv(b, (char *)";"); canvas_resume_dsp(state); } } else { binbuf_addv(b, (char *)"ssii", &s__X, s_cream_obj, (t_int)z->te_xpix, (t_int)z->te_ypix); d = z->te_binbuf; if(d) { binbuf_addbinbuf(b, d); } if(c->c_widget.w_save != NULL) { c->c_widget.w_save(x, b); } binbuf_addv(b, (char *)";"); } } }
// ========= void Tape::set_position_symbol (const symbol_t& symbol_i) { assert (position_ < tape_.size()); assert (is_valid_symbol(symbol_i)); tape_[position_] = symbol_i; }