EQ
while ((op = token) == EQ || op == NE || op == LT || op == GT ||
case EQ:
case EQ:
if (EQ(st, fresh))
assert(EQ(step(m->g, startst, stopst, st, NOTHING, st), st));
if (EQ(st, empty) || p == stop)
assert(EQ(step(m->g, startst, stopst, st, NOTHING, st), st));
%token STRING VSTRING EQ
%nonassoc EQ
expr: VSTRING EQ STRING { int i = kn_add_action(sessid, $1, $3, 0);
| VSTRING EQ STRING { int i = kn_add_action(sessid, $1, $3, 0);
| numex EQ numex { $$ = $1 == $3; }
%nonassoc EQ NE LT GT LE GE REGEXP
stringexp: str EQ str {
EQ(i, 1234);
EQ(c, 'x');
EQ(l, 123456789L);
EQ(p, &thing);
| pattern EQ pattern { $$ = op2($2, $1, $3); }
case LE: case LT: case EQ: case NE: case GT: case GE:
%token <i> AND BOR APPEND EQ GE GT LE LT NE IN
%nonassoc APPEND EQ GE GT LE LT NE MATCHOP IN '|'
input(); yylval.i = EQ; RET(EQ);
{ EQ, "relop", " == " },
case EQ: if (i == 0) return(True);
M(FNEST, 'E','Q', EQ), /* equation starting */
int EQ(void);
%left EQ NE
| expr EQ expr { $$ = $1 == $3; }
#define GE (GT | EQ)
#define LE (LT | EQ)
mapp->conditional |= EQ;
mapp->conditional = ~mapp->conditional & (EQ | GT | LT);
if (mapp->conditional & EQ) {
case EQ: