void test_is_valid_symbol_char(CuTest *tc) { symbol_node *head = load_symbol_tree(); symbol_node *pos = head; CuAssertTrue(tc, is_valid_symbol_char('+',&pos)); CuAssertTrue(tc, is_valid_symbol_char('=',&pos)); CuAssertTrue(tc, !is_valid_symbol_char('=',&pos)); pos = head; CuAssertTrue(tc, is_valid_symbol_char('/',&pos)); CuAssertTrue(tc, !is_valid_symbol_char('+',&pos)); free_symbol_tree(head); }
bool is_valid_operator(const string &str) { for (unsigned int i=0 ; i < str.length() ; i++) if (!is_valid_symbol_char(str[i])) return false; for (int i=0 ; i < lengthof(fixed_tokens) ; i++) if (str == fixed_tokens[i]) return true; return false; }
bool is_valid_char(char ch) { return ch == ' ' || ch == '\n' || isalnum(ch) || is_valid_symbol_char(ch); }