#include "basic.h" #include "stdlib.h" #include "string.h" #include char *_tokenize(char *ptr, char *token); char *_token_get(void); #define assert_lvalue(str, lval, ret_null, ret_neq) \ ptr = _tokenize(str, BASIC_TOKENIZER_TOKENS); \ value = _token_get(); \ if ( ptr == NULL ) return ret_null; \ rc = strcmp(value, lval); \ printf("(value) == (lval) ? : (%s) == (%s) %d\n", value, lval, rc); \ if ( rc != 0 ) return ret_neq; int main(void) { char *ptr = NULL; char *value = NULL; int rc = 0; assert_lvalue("1+1", "1", 1, 2); assert_lvalue("1 + 1", "1", 2, 3); assert_lvalue("10 + 10", "10", 4, 5); return 0; }