SUB
%left PRINT PRINTF RETURN SPLIT SPRINTF STRING SUB SUBSTR
SUB | GSUB
%token <i> SUB GSUB IF INDEX LSUBSTR MATCHFCN NEXT NEXTFILE
{ "sub", SUB, SUB },
{ SUB, "sub", "sub" },
$$ = node(SUB, $1, $3);
$$ = node(SUB, const0, $2);
%token <node> ADD SUB MUL DIV REM INC DEC PRE_INC PRE_DEC
case SUB:
inc_oper->n_type = SUB;
inc_oper->n_type = SUB;
asn_oper->n_type = SUB;
case SUB:
| box sub box %prec SUB { bshiftb($1, $2, $3); }
| int sub box sbox %prec SUB { integral($1, $3, $4); }
| int sub box %prec SUB { integral($1, $3, 0); }
sub : SUB { shift(SUB); }
%right SUP SUB
| box sub box sbox %prec SUB { shift2($1, $3, $4); }
bshiftb(p, SUB, p1);
"sub", SUB,
if (dir == SUB) { /* subscript */
switch (op & ~SUB) {
if (ep->e_opcode & SUB)
ep->e_opcode |= SUB;
if (ep->e_opcode & SUB)
switch (ep->e_opcode & ~SUB) {
if (ep->e_opcode & SUB) {