13
%type <re> expr0 expr1 expr2 expr3 expr4
16
%token LLPAREN LRPAREN LALT LSTAR LPLUS LQUES
17
%token LBEGIN LEND LDOT LBAD LNEWLINE
25
$$ = re2cat(re2star(re2or(re2char(0x00, '\n'-1), re2char('\n'+1, 0xff))), $$);
27
$$ = re2cat(re2star(re2char(0x00, 0xff)), $$);
40
| LSTAR { literal = 1; } expr1
68
patchnext($1.end, $$.beg);
69
$$.beg->u.alt = $1.beg;
76
$$.beg->u.alt = $1.beg;
78
appendnext($$.end, $$.beg);
101
$$ = re2class("^\n");
107
| LLPAREN expr1 LRPAREN
118
yyerror(char *e, ...)
121
fprint(2, "grep: %s:%ld: %s\n", filename, lineno, e);
123
fprint(2, "grep: %s\n", e);
140
if(c != 0 && c != '\n') {
197
eq = q + nelem(u.string) - 5;
209
error("class too long");
210
if(c == ']' || c == 0)
224
yylval.str = u.string;