-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTODO
More file actions
50 lines (48 loc) · 656 Bytes
/
TODO
File metadata and controls
50 lines (48 loc) · 656 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
manual option
inplace option
read files into vars
printf format
extended labels other than BEGIN/END:
label
: cond ':'
;
cond
: 'BEGIN'
| 'END'
| expr
| expr flipFlopOp expr
;
flipFlop
: '..'
| '^..'
| '..^'
| '^..^'
;
expr
: '(' parenExpr ')'
| REGEX
| INT
;
parenExpr
: primitive
| '(' parenExpr ')'
;
primitive
: REGEX
| STRING
| STUFF
;
STRING
: /'(?:[^\']|\\.)*'/
| /"(?:[^\']|\\.)*"/
| /`(?:[^\']|\\.)*`/
;
STUFF
: /[^()\s]+/
;
REGEX
: /\/(?[^\/\\]|\\.)+\// #allow \-escaped /
;
INT
: [0-9]+
;