# HG changeset patch # User Matti Hamalainen # Date 1366141183 -10800 # Node ID 8c6cf02718be847e4ce47970bf93beb90ded83f3 # Parent 35ffb03ffd0197df3e2e4c8cb3dfa4a4d58a9940 Add XOR operator (^, caret) to the parser .. was implemented already otherwise. diff -r 35ffb03ffd01 -r 8c6cf02718be dmeval.c --- a/dmeval.c Tue Apr 16 22:33:26 2013 +0300 +++ b/dmeval.c Tue Apr 16 22:39:43 2013 +0300 @@ -535,6 +535,7 @@ case '/': op = OP_DIV; c++; break; case '%': op = OP_MOD; c++; break; case '&': op = OP_AND; c++; break; + case '^': op = OP_XOR; c++; break; case '|': op = OP_OR; c++; break; case '>': if (c[1] == '>') diff -r 35ffb03ffd01 -r 8c6cf02718be tools/auval.c --- a/tools/auval.c Tue Apr 16 22:33:26 2013 +0300 +++ b/tools/auval.c Tue Apr 16 22:39:43 2013 +0300 @@ -1012,6 +1012,9 @@ if (audata.err == 0) audata.err = dm_eval_reorder(audata.engine, tmp, &audata.expr); + dm_print_optree(stdout, audata.engine, tmp); + dm_print_optree(stdout, audata.engine, audata.expr); + printf("--\n"); dm_eval_free(tmp); audata.pos = 0;