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
51
52
53
54
55
56
57
58
59
type token =
| WHILE
| VSWITCH
| VPORT
| VLINK
| VLANPCP
| VLAN
| VFABRIC
| VAR
| TRUE
| THEN
| TCPSRCPORT
| TCPDSTPORT
| SWITCH
| STRING of (string)
| STAR
| SLASH
| SEMICOLON
| RPAR
| QUERY
| PORT
| PLUS
| PIPE
| OR
| NOT
| METAID of (string)
| MAC of (string)
| LPAR
| LINK
| LET
| IVERSON of (string * Location.t)
| IPPROTO
| IP4SRC
| IP4DST
| IP4ADDR of (string)
| INT of (string)
| IN
| IF
| ID
| FROM
| FILTER
| FALSE
| ETHTYPE
| ETHSRC
| ETHDST
| EQUALS
| EOF
| END
| ELSE
| DUP
| DROP
| DO
| BEGIN
| AT
| ASSIGN
| ANTIQ of (string * Location.t)
| AND
| ABSTRACTLOC