← Back to PR #0
Build Log: caper.0.9
Status: SUCCESS
Log Output
Processing: [default: loading data]
[caper.0.9: http]
[caper.0.9: extract]
-> retrieved caper.0.9 (https://gitlab.com/wooloo/caper/-/archive/81f6bd105429e5758bf97624fe1de1b687eb80f4/caper-81f6bd105429e5758bf97624fe1de1b687eb80f4.tar.gz)
[caper: bash]
+ /usr/bin/bash "-c" "CAPER_WITH_ENGLISH=yes ./build.sh caper.native" (CWD=/home/opam/.opam/default/.opam-switch/build/caper.0.9)
- building caper.native
- ... with English conversion support
- + ocamlfind ocamlc -config
- + ocamlfind ocamldep -package angstrom -package str -modules caper.ml > caper.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules aux.ml > aux.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules config.ml > config.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules html.ml > html.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules english/english_to_pcap_spec.ml > english/english_to_pcap_spec.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules english/english_parsing.ml > english/english_parsing.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules english/english_syntax.ml > english/english_syntax.ml.depends
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o english/english_syntax.cmo english/english_syntax.ml
- + ocamlfind ocamldep -package angstrom -package str -modules syntax/pcap_syntax.ml > syntax/pcap_syntax.ml.depends
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o english/english_parsing.cmo english/english_parsing.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o english/english_parsing.cmo english/english_parsing.ml
- File "english/english_parsing.ml", lines 316-324, characters 15-35:
- 316 | ...............function
- 317 | | "1st" | "first" -> return "1"
- 318 | | "2nd" | "second" -> return "2"
- 319 | | "3rd" | "third" -> return "3"
- 320 | | "fourth" -> return "4"
- 321 | | "fifth" -> return "5"
- 322 | | "sixth" -> return "6"
- 323 | | "seventh" -> return "7"
- 324 | | "eighth" -> return "8"..
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- File "english/english_parsing.ml", lines 457-464, characters 6-45:
- 457 | ......fun (used_it_variable, Relation_clause (comp, left_term, right_expr)) ->
- 458 | if used_it_variable then
- 459 | return
- 460 | (Clause (ExaminingRelation_clause (comp, it_val, left_term, right_expr)))
- 461 | else
- 462 | fail
- 463 | ("did not use '# it' variable for the examination argument"
- 464 | ^ " in 'examining' relation expression")
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, (OfType _|ThatIs (_, _)|IsThatOf (_, _)|ThatHas (_, _, _)|Unit _))
- File "english/english_parsing.ml", line 612, characters 19-75:
- 612 | (fun sep es -> match sep with "and" -> And_expr es | "or" -> Or_expr es)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- File "english/english_parsing.ml", lines 631-633, characters 2-61:
- 631 | ..match e with
- 632 | | Or_expr _ -> return e
- 633 | | And_expr _ -> fail "too many 'if and only if' connectors"
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (True_expr|False_expr|Clause _|Not_expr _)
- File "english/english_parsing.ml", lines 694-697, characters 25-50:
- 694 | .........................function
- 695 | | Clause (Unit (UnidentifiedString "")) -> return expr
- 696 | | Clause (Unit (UnidentifiedString rest)) ->
- 697 | fail ("unparseable English: '" ^ rest ^ "'")
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Clause
- (Unit
- (Phrase _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- OrdinalReference (_, _, _, _)|TermList _))|
- Clause
- (OfType _|ThatIs (_, _)|IsThatOf (_, _)|ThatHas (_, _, _)|
- Relation_clause (_, _, _)|ExaminingRelation_clause (_, _, _, _))|
- True_expr|False_expr|And_expr _|Or_expr _|Not_expr _)
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I syntax -I english -I pcap_to_bpf -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o syntax/pcap_syntax.cmo syntax/pcap_syntax.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o english/english_to_pcap_spec.cmo english/english_to_pcap_spec.ml
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/pcap_to_bpf.ml > pcap_to_bpf/pcap_to_bpf.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/block.ml > pcap_to_bpf/block.ml.depends
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o config.cmo config.ml
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/inst.ml > pcap_to_bpf/inst.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/util.ml > pcap_to_bpf/util.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/headers.ml > pcap_to_bpf/headers.ml.depends
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/inst.cmo pcap_to_bpf/inst.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/inst.cmo pcap_to_bpf/inst.ml
- File "pcap_to_bpf/inst.ml", lines 159-169, characters 4-50:
- 159 | ....match v with
- 160 | | X -> "x"
- 161 | | True -> "true"
- 162 | | False -> "false"
- 163 | | Off idx -> Printf.sprintf "[%d]" idx
- ...
- 166 | | Hexj num -> Printf.sprintf "#0x%x" num
- 167 | | Lit num -> Printf.sprintf "%d" num
- 168 | | Exp (val1,val2,operator) -> Printf.sprintf "(%s %s %s)" (helper val1) (operator_to_str operator) (helper val2)
- 169 | | Offset v -> Printf.sprintf "[%s]" (helper v)...
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- NilVal
- File "pcap_to_bpf/inst.ml", lines 206-223, characters 18-59:
- 206 | ..................function
- 207 | | No_cond -> "no_cond"
- 208 | | Ip_Protochain_cond value -> pretty_format "ip protochain" (value_to_str value)
- 209 | | Ip6_Protochain_cond value -> pretty_format "ip6 protochain" (value_to_str value)
- 210 | | Icmp6_Protochain_cond value -> pretty_format "icmp6_protochain" (value_to_str value)
- ...
- 220 | | Jle value -> pretty_format "jle" (value_to_str value)
- 221 | | Jgt value -> pretty_format "jgt" (value_to_str value)
- 222 | | Jge value -> pretty_format "jge" (value_to_str value)
- 223 | | Jset value -> pretty_format "jset" (value_to_str value)
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (True_cond|False_cond)
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/headers.cmo pcap_to_bpf/headers.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/headers.cmo pcap_to_bpf/headers.ml
- File "pcap_to_bpf/headers.ml", line 85, characters 4-5:
- 85 | | _ -> failwith "unsupported Layer"
- ^
- Warning 11: this match case is unused.
- File "pcap_to_bpf/headers.ml", lines 88-98, characters 2-17:
- 88 | ..match p with
- 89 | | L2 Ether -> 14
- 90 | | L2_5 Vlan -> 4
- 91 | | L2_5 Mpls -> 4
- 92 | | L2 Fddi -> 14
- ...
- 95 | | L4 Icmp -> 8
- 96 | | L4 Icmp6 -> 8
- 97 | | L3 Arp -> 28
- 98 | | L3 Rarp -> 28
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- L4 (Tcp|Udp|Sctp)
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/util.cmo pcap_to_bpf/util.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/util.cmo pcap_to_bpf/util.ml
- File "pcap_to_bpf/util.ml", lines 80-85, characters 2-120:
- 80 | ..match sf with
- 81 | | Some {code = [Nil_op]; cond = No_cond; jt = None; jf = None;} -> Some {code = [Nil_op]; cond = No_cond; jt = None; jf = None;}
- 82 | | Some {code = [Logical_And]; cond = True_cond; jf = sf2; jt = sf1} -> Some {code = [Logical_Or]; cond = True_cond; jf = negate sf2; jt = negate sf1;}
- 83 | | Some {code = [Logical_Or]; cond = True_cond; jf = sf2; jt = sf1} -> Some {code = [Logical_And]; cond = True_cond; jf = negate sf2; jt = negate sf1;}
- 84 | | Some {code = x; cond = y; jf = ret_false; jt = ret_true} -> Some {code = x; cond = y; jf = ret_true; jt = ret_false}
- 85 | | Some {code = x; cond = y; jf = ret_true; jt = ret_false} -> Some {code = x; cond = y; jf = ret_false; jt = ret_true}
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- File "pcap_to_bpf/util.ml", line 85, characters 4-60:
- 85 | | Some {code = x; cond = y; jf = ret_true; jt = ret_false} -> Some {code = x; cond = y; jf = ret_false; jt = ret_true}
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 11: this match case is unused.
- File "pcap_to_bpf/util.ml", lines 125-129, characters 20-14:
- 125 | ....................function
- 126 | | "ip" -> 12
- 127 | | "arp" -> 14
- 128 | | "rarp" -> 14
- 129 | | "ip6" -> 8
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- File "pcap_to_bpf/util.ml", lines 131-135, characters 20-15:
- 131 | ....................function
- 132 | | "ip" -> 16
- 133 | | "arp" -> 24
- 134 | | "rarp" -> 24
- 135 | | "ip6" -> 24
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- File "pcap_to_bpf/util.ml", lines 138-142, characters 2-42:
- 138 | ..match net with
- 139 | | [oct1] -> 0xff000000
- 140 | | [oct1; oct2] -> 0xffff0000
- 141 | | [oct1; oct2; oct3;] -> 0xffffff00
- 142 | | [oct1; oct2; oct3; oct4] -> 0xffffffff
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_::_::_::_::_::_|[])
- File "pcap_to_bpf/util.ml", lines 187-188, characters 4-87:
- 187 | ....match ipv6_piece with
- 188 | | [x; y] -> Int.shift_left (int_of_string ("0x" ^ x)) 16 + int_of_string ("0x" ^ y)...
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_::_::_::_|_::[]|[])
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/optimizer/bpf_optimizer.ml > pcap_to_bpf/optimizer/bpf_optimizer.ml.depends
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/block.cmo pcap_to_bpf/block.ml
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/optimizer/register.ml > pcap_to_bpf/optimizer/register.ml.depends
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/optimizer -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/protocol -o pcap_to_bpf/optimizer/register.cmo pcap_to_bpf/optimizer/register.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/optimizer -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/protocol -o pcap_to_bpf/optimizer/register.cmo pcap_to_bpf/optimizer/register.ml
- File "pcap_to_bpf/optimizer/register.ml", line 53, characters 4-5:
- 53 | | _ -> failwith (Printf.sprintf "%s" (reg_to_str reg))
- ^
- Warning 11: this match case is unused.
- File "pcap_to_bpf/optimizer/register.ml", lines 56-57, characters 2-14:
- 56 | ..match reg with
- 57 | | Reg v -> v
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (NilReg|Reg_exp (_, _, _))
- File "pcap_to_bpf/optimizer/register.ml", lines 109-125, characters 55-96:
- 109 | .......................................................function
- 110 | | Lit n | Hex n | Hexj n -> Reg (Hex n)
- 111 | | Off n -> Reg (Off n)
- 112 | | Offset n -> Reg (Offset (get_val (regify a_reg x_reg n)))
- 113 | | X -> x_reg
- ...
- 122 | | Arith_and -> arith_and (regify a_reg x_reg v1) (regify a_reg x_reg v2)
- 123 | | Arith_xor -> arith_xor (regify a_reg x_reg v1) (regify a_reg x_reg v2)
- 124 | | Logical_shift_left -> logical_shift_left (regify a_reg x_reg v1) (regify a_reg x_reg v2)
- 125 | | Logical_shift_right -> logical_shift_right (regify a_reg x_reg v1) (regify a_reg x_reg v2)
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (True|False|NilVal|Mem _)
- File "pcap_to_bpf/optimizer/register.ml", lines 166-178, characters 8-68:
- 166 | ........match cond1, cond2 with
- 167 | | NilCond, _ -> if_insert tl c
- 168 | | _, NilCond -> if_insert tl c
- 169 | | Eq x, Eq y -> if x = y then Triv_True else Triv_False
- 170 | | Eq x, Neq y -> if x = y then Triv_False else Triv_True
- ...
- 175 | | Gt x, Gt y -> if x >= y then Triv_True else if_insert tl c
- 176 | | Gt x, Ge y -> if x > y then Triv_True else if_insert tl c
- 177 | | Ge x, Gt y -> if x > y then Triv_True else if_insert tl c
- 178 | | Ge x, Ge y -> if x >= y then Triv_True else if_insert tl c
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Ge _, (Eq _|Neq _|Lt _|Le _))|(Gt _, (Eq _|Neq _|Lt _|Le _))|
- (Eq _, (Lt _|Le _))|(Neq _, (Lt _|Le _|Gt _|Ge _))|
- ((Lt _|Le _), (Eq _|Neq _|Lt _|Le _|Gt _|Ge _)))
- File "pcap_to_bpf/optimizer/register.ml", lines 184-235, characters 2-41:
- 184 | ..match opcode with
- 185 | | No_op _ | Nil_op -> a_reg, x_reg
- 186 | | St (Mem n) ->
- 187 | begin
- 188 | memory.(n) <- a_reg;
- ...
- 232 | | Rsh X -> (logical_shift_right a_reg x_reg), x_reg
- 233 | | Tax -> a_reg, a_reg
- 234 | | Txa -> x_reg, x_reg
- 235 | | Ret False | Ret True -> a_reg, x_reg
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (St (X|True|False|NilVal|Off _|Offset _|Hex _|Hexj _|Lit _|Exp (_, _, _))|
- Stx (X|True|False|NilVal|Off _|Offset _|Hex _|Hexj _|Lit _|Exp (_, _, _))|
- Ldi (X|True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Ld (X|True|False|NilVal|Exp (_, _, _))|
- Ldx (X|True|False|NilVal|Offset _|Exp (_, _, _))|
- Ldh (X|True|False|NilVal|Hex _|Hexj _|Lit _|Exp (_, _, _))|
- Ldb (X|True|False|NilVal|Hex _|Hexj _|Lit _|Exp (_, _, _))|
- Ldxb (X|True|False|NilVal|Offset _|Hex _|Hexj _|Lit _)|
- Add (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Sub (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Mul (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Div (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Mod (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- And (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Or (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Xor (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Lsh (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Rsh (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Ret (X|NilVal|Off _|Offset _|Mem _|Hex _|Hexj _|Lit _|Exp (_, _, _))|
- Logical_And|Logical_Or|Ldxi _|Neg _|Num _|List _)
- File "pcap_to_bpf/optimizer/register.ml", lines 240-264, characters 4-7:
- 240 | ....begin
- 241 | match jump_cond with
- 242 | | Jeq (Lit n) | Jeq (Hex n) | Jeq (Hexj n) -> a_reg, x_reg, (Eq (Reg (Hex n)))
- 243 | | Jneq (Lit n) | Jneq (Hex n) | Jneq (Hexj n) -> a_reg, x_reg, (Neq (Reg (Hex n)))
- 244 | | Jne (Lit n) | Jne (Hex n) | Jne (Hexj n) -> a_reg, x_reg, (Neq (Reg (Hex n)))
- ...
- 261 | | Ip_Protochain_Bridge_cond (Lit n) -> a_reg, x_reg, NilCond
- 262 | | Ip6_Protochain_Bridge_cond (Lit n) -> a_reg, x_reg, NilCond
- 263 | | Icmp6_Protochain_Bridge_cond (Lit n) -> a_reg, x_reg, NilCond
- 264 | end
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Jeq (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Jneq (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Jne (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Jlt (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Jle (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Jgt (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Jge (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Jset (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Ip_Protochain_cond
- (X|True|False|NilVal|Off _|Offset _|Mem _|Hex _|Hexj _|Exp (_, _, _))|
- Ip6_Protochain_cond
- (X|True|False|NilVal|Off _|Offset _|Mem _|Hex _|Hexj _|Exp (_, _, _))|
- Icmp6_Protochain_cond
- (X|True|False|NilVal|Off _|Offset _|Mem _|Hex _|Hexj _|Exp (_, _, _))|
- Ip_Protochain_Bridge_cond
- (X|True|False|NilVal|Off _|Offset _|Mem _|Hex _|Hexj _|Exp (_, _, _))|
- Ip6_Protochain_Bridge_cond
- (X|True|False|NilVal|Off _|Offset _|Mem _|Hex _|Hexj _|Exp (_, _, _))|
- Icmp6_Protochain_Bridge_cond
- (X|True|False|NilVal|Off _|Offset _|Mem _|Hex _|Hexj _|Exp (_, _, _))|
- True_cond|False_cond|No_cond|Jmp _|Ja _)
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/protocol/icmp6.ml > pcap_to_bpf/protocol/icmp6.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/env.ml > pcap_to_bpf/env.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/protocol/protochain.ml > pcap_to_bpf/protocol/protochain.ml.depends
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/env.cmo pcap_to_bpf/env.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/protochain.cmo pcap_to_bpf/protocol/protochain.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/protochain.cmo pcap_to_bpf/protocol/protochain.ml
- File "pcap_to_bpf/protocol/protochain.ml", lines 93-113, characters 4-7:
- 93 | ....match headers with
- 94 | | Packet (_, _, L3 Ip) | Segment (_, _, L3 Ip, _)->
- 95 | Some {
- 96 | code = [
- 97 | Ldb (Off (sum_of_pred_headers + 9));
- ...
- 110 | cond = Jeq (Hexj protochain_num);
- 111 | jt = ret_true;
- 112 | jf = ret_false
- 113 | }
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Packet (_, _, L3 (Arp|Rarp))|Packet (_, _, (L2 _|L2_5 _|L4 _))|
- Segment (_, _, L3 (Arp|Rarp), _)|Segment (_, _, (L2 _|L2_5 _|L4 _), _)|Nil|
- Frame (_, _))
- File "pcap_to_bpf/protocol/protochain.ml", lines 126-130, characters 2-37:
- 126 | ..match headers with
- 127 | | Packet (_, _, L3 Ip) | Segment (_, _, L3 Ip, _)->
- 128 | gen_ip_protochain protochain_num
- 129 | | Packet (_, _, L3 Ip6) | Segment (_, _, L3 Ip6, _)->
- 130 | gen_ip6_protochain protochain_num
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Packet (_, _, L3 (Arp|Rarp))|Packet (_, _, (L2 _|L2_5 _|L4 _))|
- Segment (_, _, L3 (Arp|Rarp), _)|Segment (_, _, (L2 _|L2_5 _|L4 _), _)|Nil|
- Frame (_, _))
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/infix_to_postfix.ml > pcap_to_bpf/infix_to_postfix.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/pcap_to_tree.ml > pcap_to_bpf/pcap_to_tree.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/protocol/arp.ml > pcap_to_bpf/protocol/arp.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/protocol/host.ml > pcap_to_bpf/protocol/host.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/protocol/net.ml > pcap_to_bpf/protocol/net.ml.depends
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/host.cmo pcap_to_bpf/protocol/host.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/net.cmo pcap_to_bpf/protocol/net.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/net.cmo pcap_to_bpf/protocol/net.ml
- File "pcap_to_bpf/protocol/net.ml", lines 96-102, characters 4-7:
- 96 | ....begin
- 97 | match String.split_on_char '/' net with
- 98 | | net' :: [mask] ->
- 99 | let mask' = int_of_string mask in
- 100 | let net'' = String.split_on_char ':' net' |> (List.filter (fun a -> a <> "")) |> ipv6_pad in
- 101 | ipv6_src_net net'' mask' headers
- 102 | end
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_::_::_::_|_::[]|[])
- File "pcap_to_bpf/protocol/net.ml", lines 83-102, characters 2-7:
- 83 | ..match protocol with
- 84 | | "ip" | "arp" | "rarp" ->
- 85 | let _net = String.split_on_char '.' net in
- 86 | Some {
- 87 | code = [
- ...
- 99 | let mask' = int_of_string mask in
- 100 | let net'' = String.split_on_char ':' net' |> (List.filter (fun a -> a <> "")) |> ipv6_pad in
- 101 | ipv6_src_net net'' mask' headers
- 102 | end
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- File "pcap_to_bpf/protocol/net.ml", lines 119-125, characters 4-7:
- 119 | ....begin
- 120 | match String.split_on_char '/' net with
- 121 | | net' :: [mask] ->
- 122 | let mask' = int_of_string mask in
- 123 | let net'' = String.split_on_char ':' net' |> (List.filter (fun a -> a <> "")) |> ipv6_pad in
- 124 | ipv6_dst_net net'' mask' headers
- 125 | end
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_::_::_::_|_::[]|[])
- File "pcap_to_bpf/protocol/net.ml", lines 106-125, characters 2-7:
- 106 | ..match protocol with
- 107 | | "ip" | "arp" | "rarp" ->
- 108 | let _net = String.split_on_char '.' net in
- 109 | Some {
- 110 | code = [
- ...
- 122 | let mask' = int_of_string mask in
- 123 | let net'' = String.split_on_char ':' net' |> (List.filter (fun a -> a <> "")) |> ipv6_pad in
- 124 | ipv6_dst_net net'' mask' headers
- 125 | end
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/protocol/bound.ml > pcap_to_bpf/protocol/bound.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/protocol/ether.ml > pcap_to_bpf/protocol/ether.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/eval.ml > pcap_to_bpf/eval.ml.depends
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/ether.cmo pcap_to_bpf/protocol/ether.ml
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/protocol/icmp.ml > pcap_to_bpf/protocol/icmp.ml.depends
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/icmp6.cmo pcap_to_bpf/protocol/icmp6.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/icmp6.cmo pcap_to_bpf/protocol/icmp6.ml
- File "pcap_to_bpf/protocol/icmp6.ml", lines 186-189, characters 2-43:
- 186 | ..match icmp6_info with
- 187 | | "protochain" :: [protochain_num] ->
- 188 | Env.generate_icmp6_protochain := true;
- 189 | icmp6_protochain protochain_num headers
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ("protochain"::_::_::_|"protochain"::[]|""::_|[])
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/infix_to_postfix.cmo pcap_to_bpf/infix_to_postfix.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/infix_to_postfix.cmo pcap_to_bpf/infix_to_postfix.ml
- File "pcap_to_bpf/infix_to_postfix.ml", lines 73-78, characters 6-60:
- 73 | ......match block with
- 74 | | head :: rest ->
- 75 | if is_square_open head || is_square_close head then
- 76 | let square_cnt = count_square 0 0 head in
- 77 | parse_square_bracket (head :: ret) rest (counter + (fst square_cnt) - (snd square_cnt))
- 78 | else parse_square_bracket (head :: ret) rest counter
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/protocol/ip.ml > pcap_to_bpf/protocol/ip.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/protocol/ip6.ml > pcap_to_bpf/protocol/ip6.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/protocol/sctp.ml > pcap_to_bpf/protocol/sctp.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/protocol/port.ml > pcap_to_bpf/protocol/port.ml.depends
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/ip6.cmo pcap_to_bpf/protocol/ip6.ml
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/protocol/portrange.ml > pcap_to_bpf/protocol/portrange.ml.depends
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/port.cmo pcap_to_bpf/protocol/port.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/portrange.cmo pcap_to_bpf/protocol/portrange.ml
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/protocol/tcp.ml > pcap_to_bpf/protocol/tcp.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/protocol/udp.ml > pcap_to_bpf/protocol/udp.ml.depends
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/icmp.cmo pcap_to_bpf/protocol/icmp.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/icmp.cmo pcap_to_bpf/protocol/icmp.ml
- File "pcap_to_bpf/protocol/icmp.ml", lines 95-96, characters 2-78:
- 95 | ..match icmp_info with
- 96 | | "protochain" :: [protochain_num] -> icmp_protochain protochain_num headers
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ("protochain"::_::_::_|"protochain"::[]|""::_|[])
- File "pcap_to_bpf/protocol/icmp.ml", line 72, characters 6-19:
- 72 | let source_quench = Some {code = []; cond = Jeq (Hexj 0x4); jt = ret_true; jf = ret_false} in
- ^^^^^^^^^^^^^
- Warning 26: unused variable source_quench.
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/ip.cmo pcap_to_bpf/protocol/ip.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/ip.cmo pcap_to_bpf/protocol/ip.ml
- File "pcap_to_bpf/protocol/ip.ml", lines 41-42, characters 2-157:
- 41 | ..match headers with
- 42 | | Packet (x, _, L3 Ip) | Segment (x, _, L3 Ip, _) -> Ldxb (Exp ((Lit 4), (Exp ((Off (sum_of_header headers "ip")), (Hex 0xf), Arith_and)), Multiplication))
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Packet (_, _, L3 (Ip6|Arp|Rarp))|Packet (_, _, (L2 _|L2_5 _|L4 _))|
- Segment (_, _, L3 (Ip6|Arp|Rarp), _)|Segment (_, _, (L2 _|L2_5 _|L4 _), _)|
- Nil|Frame (_, _))
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/sctp.cmo pcap_to_bpf/protocol/sctp.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/tcp.cmo pcap_to_bpf/protocol/tcp.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/udp.cmo pcap_to_bpf/protocol/udp.ml
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/protocol/mpls.ml > pcap_to_bpf/protocol/mpls.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/protocol/rarp.ml > pcap_to_bpf/protocol/rarp.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/protocol/vlan.ml > pcap_to_bpf/protocol/vlan.ml.depends
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/arp.cmo pcap_to_bpf/protocol/arp.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/bound.cmo pcap_to_bpf/protocol/bound.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/eval.cmo pcap_to_bpf/eval.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/eval.cmo pcap_to_bpf/eval.ml
- File "pcap_to_bpf/eval.ml", lines 73-82, characters 13-21:
- 73 | .............function
- 74 | | "+" -> Add X
- 75 | | "-" -> Sub X
- 76 | | "*" -> Mul X
- 77 | | "/" -> Div X
- 78 | | "%" -> Mod X
- 79 | | "&" -> And X
- 80 | | "|" -> Or X
- 81 | | "<<" -> Lsh X
- 82 | | ">>" -> Rsh X...
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- File "pcap_to_bpf/eval.ml", lines 83-87, characters 4-63:
- 83 | ....match operator, num_op, proto_op with
- 84 | | "+", _, _ -> eval_proto_num operator proto_op num_op headers
- 85 | | "*", _, _ -> eval_proto_num operator proto_op num_op headers
- 86 | | other, Num n, List x -> List (x @ [Tax; Ld (Lit n); op other])
- 87 | | other, Num n, x -> List ([x; Tax; Ld (Lit n); op other])
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ("",
- (Tax|Txa|Logical_And|Logical_Or|Nil_op|Ld _|Ldi _|Ldh _|Ldb _|Ldx _|Ldxi _|
- Ldxb _|St _|Stx _|Add _|Sub _|Mul _|Div _|Mod _|Neg _|And _|Or _|Xor _|
- Lsh _|Rsh _|No_op _|List _|Ret _), _)
- File "pcap_to_bpf/eval.ml", lines 91-100, characters 13-21:
- 91 | .............function
- 92 | | "+" -> Add X
- 93 | | "-" -> Sub X
- 94 | | "*" -> Mul X
- 95 | | "/" -> Div X
- 96 | | "%" -> Mod X
- 97 | | "&" -> And X
- 98 | | "|" -> Or X
- 99 | | "<<" -> Lsh X
- 100 | | ">>" -> Rsh X...
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- File "pcap_to_bpf/eval.ml", lines 143-148, characters 4-49:
- 143 | ....match comparison with
- 144 | | "=" | "==" | "!=" -> comp_opcode_int comparison op num headers
- 145 | | "<" -> comp_opcode_int ">" op num headers
- 146 | | ">" -> comp_opcode_int "<" op num headers
- 147 | | ">=" -> comp_opcode_int "<=" op num headers
- 148 | | "<=" -> comp_opcode_int ">=" op num headers
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- File "pcap_to_bpf/eval.ml", line 188, characters 4-5:
- 188 | | _ -> failwith "Eval.eval_pcaps"
- ^
- Warning 11: this match case is unused.
- File "pcap_to_bpf/eval.ml", lines 192-213, characters 2-42:
- 192 | ..match headers with
- 193 | | Frame (l2, _) | Packet (l2, _, _) | Segment (l2, _, _, _) ->
- 194 | if l2 <> _protocol then failwith "Eval.l2_expr_size" else
- 195 | if is_digit expr then
- 196 | let inst =
- ...
- 210 | | 4 -> Ld (Offset (Exp (X, (Lit (0)), Addition)))
- 211 | | _ -> failwith "Eval.l2_expr_size ( 1, 2, 4 )"
- 212 | in
- 213 | List (expr_op @ (Tax :: inst :: []))
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Nil
- File "pcap_to_bpf/eval.ml", lines 217-239, characters 2-44:
- 217 | ..match headers with
- 218 | | Packet (_, _, l3) | Segment (_, _ ,l3, _) ->
- 219 | if l3 <> _protocol then failwith "Eval.l3_expr_size" else
- 220 | let pred_header_size = sum_of_header headers protocol in
- 221 | if is_digit expr then
- ...
- 236 | | 4 -> Ld (Offset (Exp (X, (Lit (pred_header_size)), Addition)))
- 237 | | _ -> failwith "Eval.l3_expr_size"
- 238 | in
- 239 | List (expr_op @ (Tax :: inst :: []))
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Nil|Frame (_, _))
- File "pcap_to_bpf/eval.ml", lines 243-283, characters 2-42:
- 243 | ..match headers with
- 244 | | Segment (_, _, L3 Ip, l4) ->
- 245 | if l4 <> _protocol then failwith "Eval.l4_expr_size" else
- 246 | let pred_header_size = sum_of_header headers "ip" in
- 247 | if is_digit expr then
- ...
- 280 | | 4 -> Ld (Offset (Exp (X, (Lit (sum_of_header headers protocol)), Addition)))
- 281 | | _ -> failwith "Eval.l4_expr_size"
- 282 | in
- 283 | List (expr_op @ (Tax :: inst :: []))
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Segment (_, _, L3 (Arp|Rarp), _)|Segment (_, _, (L2 _|L2_5 _|L4 _), _)|Nil|
- Frame (_, _)|Packet (_, _, _))
- File "pcap_to_bpf/eval.ml", lines 287-294, characters 2-80:
- 287 | ..match headers with
- 288 | | Frame (l2, _) | Packet (l2, _, _) | Segment (l2, _, _, _) ->
- 289 | if _protocol <> l2 then failwith "Eval.l2_offset" else
- 290 | if is_digit idx then
- 291 | Ldb (Off (int_of_string idx))
- 292 | else
- 293 | let idx_op = (Option.get (eval_pcaps [] (pcap_infix_to_postfix idx) headers)).code in
- 294 | List (idx_op @ (Tax :: Ldb (Offset (Exp (X, (Lit (0)), Addition))) :: []))
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Nil
- File "pcap_to_bpf/eval.ml", lines 298-305, characters 2-109:
- 298 | ..match headers with
- 299 | | Packet (l2, _, l3) | Segment (l2, _, l3, _) ->
- 300 | if _protocol <> l3 then failwith "Eval.l3_offset" else
- 301 | if is_digit idx then
- 302 | Ldb (Off (sum_of_header headers protocol + int_of_string idx))
- 303 | else
- 304 | let idx_op = (Option.get (eval_pcaps [] (pcap_infix_to_postfix idx) headers)).code in
- 305 | List (idx_op @ (Tax :: Ldb (Offset (Exp (X, (Lit (sum_of_header headers protocol)), Addition))) :: []))
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Nil|Frame (_, _))
- File "pcap_to_bpf/eval.ml", lines 309-324, characters 2-107:
- 309 | ..match headers with
- 310 | | Segment (l2, _, L3 Ip, l4) ->
- 311 | let pred_header_size = sum_of_header headers "ip" in
- 312 | if _protocol <> l4 then failwith "Eval.l4_offset" else
- 313 | if is_digit idx then
- ...
- 321 | Ldb (Off (sum_of_header headers protocol + int_of_string idx))
- 322 | else
- 323 | let idx_op = (Option.get (eval_pcaps [] (pcap_infix_to_postfix idx) headers)).code in
- 324 | List (idx_op @ (Tax :: Ldb (Offset (Exp (X, Lit (sum_of_header headers protocol), Addition))) :: []))
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Segment (_, _, L3 (Arp|Rarp), _)|Segment (_, _, (L2 _|L2_5 _|L4 _), _)|Nil|
- Frame (_, _)|Packet (_, _, _))
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/mpls.cmo pcap_to_bpf/protocol/mpls.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/mpls.cmo pcap_to_bpf/protocol/mpls.ml
- File "pcap_to_bpf/protocol/mpls.ml", lines 36-47, characters 2-34:
- 36 | ..match mpls_info, l2_5_header with
- 37 | | [], L2_5 Mpls :: [] -> is_mpls headers
- 38 | | [], L2_5 Mpls :: L2_5 Vlan :: l2_5 -> is_mpls headers
- 39 | | [], L2_5 Mpls :: L2_5 Mpls :: l2_5 -> is_bottom headers
- 40 | | [mpls_val], L2_5 Mpls :: [] | [mpls_val], L2_5 Mpls :: L2_5 Vlan :: _ ->
- ...
- 44 | | [mpls_val], L2_5 Mpls :: L2_5 Mpls :: l2_5 ->
- 45 | let _mpls_val = mpls_val_shift (int_of_string mpls_val) in
- 46 | let sf = Some {code = [Ld (Off (get_protocol_size (get_l2 headers) + get_l2_5_size headers - 4)); And (Hexj 0xfffff000)]; cond = Jeq (Hexj (_mpls_val)); jt = ret_true; jf = ret_false}in
- 47 | conjoin (is_bottom headers) sf
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((_::[], L2_5 Mpls::(L2 _|L3 _|L4 _)::_)|(_::[], L2_5 Vlan::_)|
- (_::[], (L2 _|L3 _|L4 _)::_)|(_::[], [])|(_::_::_, _)|
- ([], L2_5 Mpls::(L2 _|L3 _|L4 _)::_)|([], L2_5 Vlan::_)|
- ([], (L2 _|L3 _|L4 _)::_)|([], []))
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/rarp.cmo pcap_to_bpf/protocol/rarp.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/vlan.cmo pcap_to_bpf/protocol/vlan.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/vlan.cmo pcap_to_bpf/protocol/vlan.ml
- File "pcap_to_bpf/protocol/vlan.ml", lines 39-189, characters 2-79:
- 39 | ..match vlan_info, headers with
- 40 | (* [snipped from <linux/filter.h>]
- 41 | Git hash: 6f52b16c5b29b89d92c0e7236f4655dc8491ad70
- 42 | https://github.com/torvalds/linux/blob/master/include/uapi/linux/filter.h
- 43 |
- ...
- 186 | jf = ret_false;
- 187 | }
- 188 | in
- 189 | conjoin (disjoin vlan_id_8100 (disjoin vlan_id_88a8 vlan_id_9100)) vlan_val
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (("SKF_AD"::_::_, _)|
- ("SKF_AD_TAG"::[], (Nil|Packet (_, _, _)|Segment (_, _, _, _)))|
- ("SKF_AD_TAG"::_::_::_, _)|
- (""::[], (Nil|Packet (_, _, _)|Segment (_, _, _, _)))|(""::_::_, _)|
- ([], (Nil|Packet (_, _, _)|Segment (_, _, _, _))))
- + ocamlfind ocamldep -package angstrom -package str -modules pcap_to_bpf/tree_to_bpf.ml > pcap_to_bpf/tree_to_bpf.ml.depends
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/optimizer -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/protocol -o pcap_to_bpf/optimizer/bpf_optimizer.cmo pcap_to_bpf/optimizer/bpf_optimizer.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf/optimizer -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/protocol -o pcap_to_bpf/optimizer/bpf_optimizer.cmo pcap_to_bpf/optimizer/bpf_optimizer.ml
- File "pcap_to_bpf/optimizer/bpf_optimizer.ml", lines 53-59, characters 2-65:
- 53 | ..match blocks with
- 54 | | b :: bs ->
- 55 | match b with
- 56 | | {key = _; opcodes = [Ret True]; cond = _; jt = -1; jf = -1}
- 57 | | {key = _; opcodes = [Ret False]; cond = _; jt = -1; jf = -1} -> ret
- 58 | | {key = key; opcodes = opcodes; cond = cond; jt = jt; jf = jf} ->
- 59 | get_pkt_acpt_line_helper (ret + List.length opcodes + 1) bs
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []
- File "pcap_to_bpf/optimizer/bpf_optimizer.ml", line 187, characters 14-19:
- 187 | let new_a = {key = a_key; opcodes = a_opcodes; cond = a_cond; jt = a_jt; jf = a_jf} in
- ^^^^^
- Warning 26: unused variable new_a.
- File "pcap_to_bpf/optimizer/bpf_optimizer.ml", line 486, characters 16-22:
- 486 | let jf_blk = Hashtbl.find blocks_tbl b.jf in
- ^^^^^^
- Warning 26: unused variable jf_blk.
- File "pcap_to_bpf/optimizer/bpf_optimizer.ml", line 501, characters 16-28:
- 501 | let cur_blk_eval = Hashtbl.find blocks_eval_tbl b.key in
- ^^^^^^^^^^^^
- Warning 26: unused variable cur_blk_eval.
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/pcap_to_tree.cmo pcap_to_bpf/pcap_to_tree.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/pcap_to_tree.cmo pcap_to_bpf/pcap_to_tree.ml
- File "pcap_to_bpf/pcap_to_tree.ml", lines 53-58, characters 4-35:
- 53 | ....match protocol with
- 54 | | "icmp" -> icmp_to_sock_filter
- 55 | | "tcp" -> tcp_to_sock_filter
- 56 | | "udp" -> udp_to_sock_filter
- 57 | | "icmp6" -> icmp6_to_sock_filter
- 58 | | "sctp" -> sctp_to_sock_filter
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- File "pcap_to_bpf/pcap_to_tree.ml", lines 61-66, characters 4-19:
- 61 | ....match protocol with
- 62 | | "icmp" -> 1
- 63 | | "tcp" -> 6
- 64 | | "udp" -> 17
- 65 | | "icmp6" -> 58
- 66 | | "sctp" -> 132
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- File "pcap_to_bpf/pcap_to_tree.ml", lines 78-80, characters 6-88:
- 78 | ......match headers with
- 79 | | Packet (_, _, L3 Ip) | Segment (_, _, L3 Ip, _) -> sum_of_header headers "ip"
- 80 | | Packet (_, _, L3 Ip6) | Segment (_, _, L3 Ip6, _) -> sum_of_header headers "ip6"
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Packet (_, _, L3 (Arp|Rarp))|Packet (_, _, (L2 _|L2_5 _|L4 _))|
- Segment (_, _, L3 (Arp|Rarp), _)|Segment (_, _, (L2 _|L2_5 _|L4 _), _)|Nil|
- Frame (_, _))
- File "pcap_to_bpf/pcap_to_tree.ml", lines 69-98, characters 2-37:
- 69 | ..match !Env.protochain_list, protocol with
- 70 | | [], _
- 71 | | 1 :: _, "icmp"
- 72 | | 6 :: _, "tcp"
- 73 | | 17 :: _, "udp"
- ...
- 95 | failwith "not_supported protochain_bridge"
- 96 | in
- 97 | Env.protochain_list := protocol_num :: !Env.protochain_list;
- 98 | conjoin protochain_bridge main_sf
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((1::_, "")|(6::_, "")|(17::_, "")|(58::_, "")|(0::_, _))
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/tree_to_bpf.cmo pcap_to_bpf/tree_to_bpf.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o html.cmo html.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/pcap_to_bpf.cmo pcap_to_bpf/pcap_to_bpf.ml
- + ocamlfind ocamldep -package angstrom -package str -modules syntax/bitvector.ml > syntax/bitvector.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules bitvector_sizing.ml > bitvector_sizing.ml.depends
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o aux.cmo aux.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I syntax -I english -I pcap_to_bpf -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o syntax/bitvector.cmo syntax/bitvector.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I syntax -I english -I pcap_to_bpf -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o syntax/bitvector.cmo syntax/bitvector.ml
- File "syntax/bitvector.ml", lines 83-189, characters 2-9:
- 83 | ..match bv_e with
- 84 | | Hole (_, s) -> s
- 85 | | Const (Some w, n) ->
- 86 | assert (exponentiate 2 w > n);
- 87 | let nibble_width =
- ...
- 186 | "((_ zero_extend " ^
- 187 | string_of_int w ^ ") " ^
- 188 | string_of_bv_exp bv_e' ^
- 189 | ")"
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Const (None, _)
- File "syntax/bitvector.ml", line 87, characters 10-22:
- 87 | let nibble_width =
- ^^^^^^^^^^^^
- Warning 26: unused variable nibble_width.
- + ocamlfind ocamldep -package angstrom -package str -modules cli.ml > cli.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules contract.ml > contract.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules layering.ml > layering.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules names.ml > names.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules syntax/pcap_syntax_aux.ml > syntax/pcap_syntax_aux.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules syntax/string_features.ml > syntax/string_features.ml.depends
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I syntax -I english -I pcap_to_bpf -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o syntax/string_features.cmo syntax/string_features.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I syntax -I english -I pcap_to_bpf -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o syntax/pcap_syntax_aux.cmo syntax/pcap_syntax_aux.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o layering.cmo layering.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o names.cmo names.ml
- + ocamlfind ocamldep -package angstrom -package str -modules english/english_to_pcap.ml > english/english_to_pcap.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules english/english_to_string.ml > english/english_to_string.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules parsing_support.ml > parsing_support.ml.depends
- + /home/opam/.opam/default/bin/ocamllex.opt -q syntax/pcap_lexer.mll
- + ocamlfind ocamldep -package angstrom -package str -modules syntax/pcap_lexer.ml > syntax/pcap_lexer.ml.depends
- + menhir --raw-depend --ocamldep 'ocamlfind ocamldep -modules' syntax/pcap_parser.mly > syntax/pcap_parser.mly.depends
- + menhir --ocamlc 'ocamlfind ocamlc -g -thread -package angstrom -package str -I syntax -I english -I pcap_to_bpf -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol' --infer syntax/pcap_parser.mly
- + menhir --ocamlc 'ocamlfind ocamlc -g -thread -package angstrom -package str -I syntax -I english -I pcap_to_bpf -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol' --infer syntax/pcap_parser.mly
- Warning: one state has reduce/reduce conflicts.
- Warning: one reduce/reduce conflict was arbitrarily resolved.
- + ocamlfind ocamldep -package angstrom -package str -modules syntax/pcap_parser.mli > syntax/pcap_parser.mli.depends
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I syntax -I english -I pcap_to_bpf -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o syntax/pcap_parser.cmi syntax/pcap_parser.mli
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I syntax -I english -I pcap_to_bpf -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o syntax/pcap_lexer.cmo syntax/pcap_lexer.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o english/english_to_string.cmo english/english_to_string.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o english/english_to_string.cmo english/english_to_string.ml
- File "english/english_to_string.ml", lines 73-111, characters 2-46:
- 73 | ..match c with
- 74 | | OfType t -> (if logically_positive then "of type" else "not of type") ^ " " ^ string_of_term t
- 75 | | ThatIs (t1, t2) ->
- 76 | string_of_term t1 ^ " "
- 77 | ^ (if logically_positive then "that is" else "that is not")
- ...
- 108 | | ExaminingRelation_clause (Phrase comp, it_var, left, right) ->
- 109 | let it_str = string_of_term it_var in
- 110 | "examining" ^ " " ^ it_str ^ ":" ^ " " ^ string_of_arith_val left ^ " "
- 111 | ^ comp ^ " " ^ string_of_arith_val right
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Relation_clause
- ((UnidentifiedString _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- OrdinalReference (_, _, _, _)|TermList _),
- _, _)|
- ExaminingRelation_clause
- ((UnidentifiedString _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- OrdinalReference (_, _, _, _)|TermList _),
- _, _, _)|
- Unit _)
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o parsing_support.cmo parsing_support.ml
- + ocamlfind ocamldep -package angstrom -package str -modules expand.ml > expand.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules simplifire.ml > simplifire.ml.depends
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o contract.cmo contract.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o simplifire.cmo simplifire.ml
- + ocamlfind ocamldep -package angstrom -package str -modules english/pcap_to_english.ml > english/pcap_to_english.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules english/pcap_to_english_spec.ml > english/pcap_to_english_spec.ml.depends
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o english/pcap_to_english_spec.cmo english/pcap_to_english_spec.ml
- + ocamlfind ocamldep -package angstrom -package str -modules syntax/pcap_wellformed.ml > syntax/pcap_wellformed.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules pretty_printing.ml > pretty_printing.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules pseudonymise.ml > pseudonymise.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules reorder.ml > reorder.ml.depends
- + ocamlfind ocamldep -package angstrom -package str -modules translate.ml > translate.ml.depends
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o bitvector_sizing.cmo bitvector_sizing.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o bitvector_sizing.cmo bitvector_sizing.ml
- File "bitvector_sizing.ml", lines 34-36, characters 6-37:
- 34 | ......let (bv_e2', Some bv_e2_w) = width_of_bv_exp bv_e2 in
- 35 | assert (w = bv_e1_w + bv_e2_w);
- 36 | Concat (Some w, bv_e1', bv_e2')
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, None)
- File "bitvector_sizing.ml", lines 33-36, characters 6-37:
- 33 | ......let (bv_e1', Some bv_e1_w) = width_of_bv_exp bv_e1 in
- 34 | let (bv_e2', Some bv_e2_w) = width_of_bv_exp bv_e2 in
- 35 | assert (w = bv_e1_w + bv_e2_w);
- 36 | Concat (Some w, bv_e1', bv_e2')
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, None)
- File "bitvector_sizing.ml", lines 170-185, characters 2-137:
- 170 | ..match bv_e with
- 171 | | Hole (w, _)
- 172 | | Const (w, _) -> (bv_e, w)
- 173 | | BNot (w_opt, bv_e') -> width_of_mono (w_opt, bv_e') (fun (x1, x2) -> BNot (x1, x2))
- 174 | | BNegate (w_opt, bv_e') -> width_of_mono (w_opt, bv_e') (fun (x1, x2) -> BNegate (x1, x2))
- ...
- 182 | | BMod (w_opt, bv_e1, bv_e2) -> width_of_binary (w_opt, bv_e1, bv_e2) (fun (w_opt, bv_e1, bv_e2) -> BMod (w_opt, bv_e1, bv_e2))
- 183 | | BMinus (w_opt, bv_e1, bv_e2) -> width_of_binary (w_opt, bv_e1, bv_e2) (fun (w_opt, bv_e1, bv_e2) -> BMinus (w_opt, bv_e1, bv_e2))
- 184 | | ShLeft (w_opt, bv_e1, bv_e2) -> width_of_binary (w_opt, bv_e1, bv_e2) (fun (w_opt, bv_e1, bv_e2) -> ShLeft (w_opt, bv_e1, bv_e2))
- 185 | | LShRight (w_opt, bv_e1, bv_e2) -> width_of_binary (w_opt, bv_e1, bv_e2) (fun (w_opt, bv_e1, bv_e2) -> LShRight (w_opt, bv_e1, bv_e2))
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Concat (_, _, _)|Extract (_, _, _)|ZeroExtend (_, _, _))
- File "bitvector_sizing.ml", line 224, characters 21-28:
- 224 | let bv_e1'', bv_e2'' =
- ^^^^^^^
- Warning 26: unused variable bv_e2''.
- File "bitvector_sizing.ml", line 224, characters 12-19:
- 224 | let bv_e1'', bv_e2'' =
- ^^^^^^^
- Warning 26: unused variable bv_e1''.
- + ocamlfind ocamldep -package angstrom -package str -modules prim_translate.ml > prim_translate.ml.depends
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o prim_translate.cmo prim_translate.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o cli.cmo cli.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o english/english_to_pcap.cmo english/english_to_pcap.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o english/english_to_pcap.cmo english/english_to_pcap.ml
- File "english/english_to_pcap.ml", lines 28-40, characters 2-9:
- 28 | ..match ph with
- 29 | | Phrase ph_s ->
- 30 | begin
- 31 | match
- 32 | ( proto_keyword_of_engl_string ph_s,
- ...
- 37 | | _, Some (DirField d), _ -> Ok (None, Some d, None)
- 38 | | _, _, Some (TypField t) -> Ok (None, None, Some t)
- 39 | | _ -> Error ("invalid field (proto/dir/typ) value: '" ^ ph_s ^ "'")
- 40 | end
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (UnidentifiedString _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- OrdinalReference (_, _, _, _)|TermList _)
- File "english/english_to_pcap.ml", lines 49-56, characters 10-13:
- 49 | ..........begin
- 50 | match t with
- 51 | | Phrase ph_s -> (
- 52 | match (dir_keyword_of_engl_string ph_s, typ_keyword_of_engl_string ph_s) with
- 53 | | Some (DirField d), _ -> Ok (Some p, Some d, None)
- 54 | | _, Some (TypField t) -> Ok (Some p, None, Some t)
- 55 | | _ -> Error ("invalid field (dir/typ) value: '" ^ ph_s ^ "'"))
- 56 | end
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (UnidentifiedString _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- OrdinalReference (_, _, _, _)|TermList _)
- File "english/english_to_pcap.ml", lines 58-64, characters 10-13:
- 58 | ..........begin
- 59 | match t with
- 60 | | Phrase ph_s -> (
- 61 | match typ_keyword_of_engl_string ph_s with
- 62 | | Some (TypField t) -> Ok (p_opt, Some d, Some t)
- 63 | | _ -> Error ("invalid field (typ) value: '" ^ ph_s ^ "'"))
- 64 | end
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (UnidentifiedString _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- OrdinalReference (_, _, _, _)|TermList _)
- File "english/english_to_pcap.ml", lines 105-112, characters 6-26:
- 105 | ......match vals with
- 106 | | Ok (v :: []) -> Ok (Primitive (f, v))
- 107 | | Ok (v1 :: vs) ->
- 108 | (* a disjunction of the form "<proto> <value1> || <value2> || <value3> || ..." *)
- 109 | let f0 = (None, None, None) in
- 110 | Ok
- 111 | (Or (Primitive (f, v1) :: List.map (fun v -> Primitive (f0, v)) vs))
- 112 | | Error e -> Error e.
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Ok []
- File "english/english_to_pcap.ml", lines 122-125, characters 12-42:
- 122 | ............match ordinal_name_s with
- 123 | | "byte" -> ""
- 124 | | "2 bytes" -> " : 2"
- 125 | | "4 bytes" | "word" -> " : 4"
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- File "english/english_to_pcap.ml", lines 117-127, characters 76-63:
- 117 | ............................................................................(
- 118 | match field_of_phrase_term (Phrase collection_name) with
- 119 | | Ok (Some p, _, _) ->
- 120 | let header_name_s = Pcap_syntax_aux.string_of_proto p in
- 121 | let no_bytes =
- ...
- 124 | | "2 bytes" -> " : 2"
- 125 | | "4 bytes" | "word" -> " : 4"
- 126 | in
- 127 | " " ^ header_name_s ^ "[" ^ number ^ no_bytes ^ "] ")
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Ok (None, _, _)|Error _)
- File "english/english_to_pcap.ml", lines 116-127, characters 2-63:
- 116 | ..match ord_ref with
- 117 | | OrdinalReference (number, ordinal_name_s, collection_name, "header") -> (
- 118 | match field_of_phrase_term (Phrase collection_name) with
- 119 | | Ok (Some p, _, _) ->
- 120 | let header_name_s = Pcap_syntax_aux.string_of_proto p in
- ...
- 124 | | "2 bytes" -> " : 2"
- 125 | | "4 bytes" | "word" -> " : 4"
- 126 | in
- 127 | " " ^ header_name_s ^ "[" ^ number ^ no_bytes ^ "] ")
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (OrdinalReference (_, _, _, "")|Phrase _|UnidentifiedString _|
- With_term (_, _, _)|OfSize_term (_, _, _, _)|TermList _)
- File "english/english_to_pcap.ml", lines 134-135, characters 10-68:
- 134 | ..........match l with
- 135 | | OrdinalReference _ -> string_of_ordinal_reference_term l
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Phrase _|UnidentifiedString _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- TermList _)
- File "english/english_to_pcap.ml", lines 157-159, characters 12-15:
- 157 | ............begin
- 158 | match fld with Ok f -> Ok (Primitive (f, Nothing))
- 159 | end
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Error _
- File "english/english_to_pcap.ml", lines 167-169, characters 12-15:
- 167 | ............begin
- 168 | match fld with Ok f -> Ok (Primitive (f, Nothing))
- 169 | end
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Error _
- File "english/english_to_pcap.ml", lines 151-188, characters 2-80:
- 151 | ..match c with
- 152 | | OfType r ->
- 153 | begin
- 154 | match r with
- 155 | | Phrase _ ->
- ...
- 185 | let relation_s = left_arith_s ^ " " ^ comp_s ^ " " ^ right_arith_s in
- 186 | (* FIXME - can't check for syntax errors here *)
- 187 | Ok (Parsing_support.parse_string relation_s)
- 188 | | Unit (UnidentifiedString x) -> Ok (Primitive ((None, None, None), String x))
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Relation_clause
- ((UnidentifiedString _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- OrdinalReference (_, _, _, _)|TermList _),
- _, _)|
- ExaminingRelation_clause
- ((UnidentifiedString _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- OrdinalReference (_, _, _, _)|TermList _),
- _, _, _)|
- Unit
- (Phrase _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- OrdinalReference (_, _, _, _)|TermList _))
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o expand.cmo expand.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o english/pcap_to_english.cmo english/pcap_to_english.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o english/pcap_to_english.cmo english/pcap_to_english.ml
- File "english/pcap_to_english.ml", lines 109-116, characters 16-47:
- 109 | ................(
- 110 | match value with
- 111 | | Phrase val_s ->
- 112 | Ok
- 113 | (Relation_clause
- 114 | ( Phrase "is less than or equal to",
- 115 | Arithmetic ("len", []),
- 116 | Arithmetic (val_s, []) )))
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (UnidentifiedString _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- OrdinalReference (_, _, _, _)|TermList _)
- File "english/pcap_to_english.ml", lines 117-124, characters 19-47:
- 117 | ...................(
- 118 | match value with
- 119 | | Phrase val_s ->
- 120 | Ok
- 121 | (Relation_clause
- 122 | ( Phrase "is greater than or equal to",
- 123 | Arithmetic ("len", []),
- 124 | Arithmetic (val_s, []) )))
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (UnidentifiedString _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- OrdinalReference (_, _, _, _)|TermList _)
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I syntax -I english -I pcap_to_bpf -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o syntax/pcap_wellformed.cmo syntax/pcap_wellformed.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pretty_printing.cmo pretty_printing.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pseudonymise.cmo pseudonymise.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o reorder.cmo reorder.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o reorder.cmo reorder.ml
- File "reorder.ml", line 31, characters 4-19:
- 31 | int_of_string s;
- ^^^^^^^^^^^^^^^
- Warning 10: this expression should have type unit.
- File "reorder.ml", line 33, characters 14-31:
- 33 | with Failure("int_of_string") -> false
- ^^^^^^^^^^^^^^^^^
- Warning 52: Code should not depend on the actual values of
- this constructor's arguments. They are only for information
- and may change in future versions. (See manual section 9.5)
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o translate.cmo translate.ml
- + ocamlfind ocamlc -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o caper.cmo caper.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o english/english_syntax.cmx english/english_syntax.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o english/english_parsing.cmx english/english_parsing.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o english/english_parsing.cmx english/english_parsing.ml
- File "english/english_parsing.ml", lines 316-324, characters 15-35:
- 316 | ...............function
- 317 | | "1st" | "first" -> return "1"
- 318 | | "2nd" | "second" -> return "2"
- 319 | | "3rd" | "third" -> return "3"
- 320 | | "fourth" -> return "4"
- 321 | | "fifth" -> return "5"
- 322 | | "sixth" -> return "6"
- 323 | | "seventh" -> return "7"
- 324 | | "eighth" -> return "8"..
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- File "english/english_parsing.ml", lines 457-464, characters 6-45:
- 457 | ......fun (used_it_variable, Relation_clause (comp, left_term, right_expr)) ->
- 458 | if used_it_variable then
- 459 | return
- 460 | (Clause (ExaminingRelation_clause (comp, it_val, left_term, right_expr)))
- 461 | else
- 462 | fail
- 463 | ("did not use '# it' variable for the examination argument"
- 464 | ^ " in 'examining' relation expression")
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, (OfType _|ThatIs (_, _)|IsThatOf (_, _)|ThatHas (_, _, _)|Unit _))
- File "english/english_parsing.ml", line 612, characters 19-75:
- 612 | (fun sep es -> match sep with "and" -> And_expr es | "or" -> Or_expr es)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- File "english/english_parsing.ml", lines 631-633, characters 2-61:
- 631 | ..match e with
- 632 | | Or_expr _ -> return e
- 633 | | And_expr _ -> fail "too many 'if and only if' connectors"
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (True_expr|False_expr|Clause _|Not_expr _)
- File "english/english_parsing.ml", lines 694-697, characters 25-50:
- 694 | .........................function
- 695 | | Clause (Unit (UnidentifiedString "")) -> return expr
- 696 | | Clause (Unit (UnidentifiedString rest)) ->
- 697 | fail ("unparseable English: '" ^ rest ^ "'")
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Clause
- (Unit
- (Phrase _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- OrdinalReference (_, _, _, _)|TermList _))|
- Clause
- (OfType _|ThatIs (_, _)|IsThatOf (_, _)|ThatHas (_, _, _)|
- Relation_clause (_, _, _)|ExaminingRelation_clause (_, _, _, _))|
- True_expr|False_expr|And_expr _|Or_expr _|Not_expr _)
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I syntax -I english -I pcap_to_bpf -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o syntax/pcap_syntax.cmx syntax/pcap_syntax.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o english/english_to_pcap_spec.cmx english/english_to_pcap_spec.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o config.cmx config.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/inst.cmx pcap_to_bpf/inst.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/inst.cmx pcap_to_bpf/inst.ml
- File "pcap_to_bpf/inst.ml", lines 159-169, characters 4-50:
- 159 | ....match v with
- 160 | | X -> "x"
- 161 | | True -> "true"
- 162 | | False -> "false"
- 163 | | Off idx -> Printf.sprintf "[%d]" idx
- ...
- 166 | | Hexj num -> Printf.sprintf "#0x%x" num
- 167 | | Lit num -> Printf.sprintf "%d" num
- 168 | | Exp (val1,val2,operator) -> Printf.sprintf "(%s %s %s)" (helper val1) (operator_to_str operator) (helper val2)
- 169 | | Offset v -> Printf.sprintf "[%s]" (helper v)...
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- NilVal
- File "pcap_to_bpf/inst.ml", lines 206-223, characters 18-59:
- 206 | ..................function
- 207 | | No_cond -> "no_cond"
- 208 | | Ip_Protochain_cond value -> pretty_format "ip protochain" (value_to_str value)
- 209 | | Ip6_Protochain_cond value -> pretty_format "ip6 protochain" (value_to_str value)
- 210 | | Icmp6_Protochain_cond value -> pretty_format "icmp6_protochain" (value_to_str value)
- ...
- 220 | | Jle value -> pretty_format "jle" (value_to_str value)
- 221 | | Jgt value -> pretty_format "jgt" (value_to_str value)
- 222 | | Jge value -> pretty_format "jge" (value_to_str value)
- 223 | | Jset value -> pretty_format "jset" (value_to_str value)
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (True_cond|False_cond)
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/headers.cmx pcap_to_bpf/headers.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/headers.cmx pcap_to_bpf/headers.ml
- File "pcap_to_bpf/headers.ml", line 85, characters 4-5:
- 85 | | _ -> failwith "unsupported Layer"
- ^
- Warning 11: this match case is unused.
- File "pcap_to_bpf/headers.ml", lines 88-98, characters 2-17:
- 88 | ..match p with
- 89 | | L2 Ether -> 14
- 90 | | L2_5 Vlan -> 4
- 91 | | L2_5 Mpls -> 4
- 92 | | L2 Fddi -> 14
- ...
- 95 | | L4 Icmp -> 8
- 96 | | L4 Icmp6 -> 8
- 97 | | L3 Arp -> 28
- 98 | | L3 Rarp -> 28
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- L4 (Tcp|Udp|Sctp)
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/util.cmx pcap_to_bpf/util.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/util.cmx pcap_to_bpf/util.ml
- File "pcap_to_bpf/util.ml", lines 80-85, characters 2-120:
- 80 | ..match sf with
- 81 | | Some {code = [Nil_op]; cond = No_cond; jt = None; jf = None;} -> Some {code = [Nil_op]; cond = No_cond; jt = None; jf = None;}
- 82 | | Some {code = [Logical_And]; cond = True_cond; jf = sf2; jt = sf1} -> Some {code = [Logical_Or]; cond = True_cond; jf = negate sf2; jt = negate sf1;}
- 83 | | Some {code = [Logical_Or]; cond = True_cond; jf = sf2; jt = sf1} -> Some {code = [Logical_And]; cond = True_cond; jf = negate sf2; jt = negate sf1;}
- 84 | | Some {code = x; cond = y; jf = ret_false; jt = ret_true} -> Some {code = x; cond = y; jf = ret_true; jt = ret_false}
- 85 | | Some {code = x; cond = y; jf = ret_true; jt = ret_false} -> Some {code = x; cond = y; jf = ret_false; jt = ret_true}
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- File "pcap_to_bpf/util.ml", line 85, characters 4-60:
- 85 | | Some {code = x; cond = y; jf = ret_true; jt = ret_false} -> Some {code = x; cond = y; jf = ret_false; jt = ret_true}
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 11: this match case is unused.
- File "pcap_to_bpf/util.ml", lines 125-129, characters 20-14:
- 125 | ....................function
- 126 | | "ip" -> 12
- 127 | | "arp" -> 14
- 128 | | "rarp" -> 14
- 129 | | "ip6" -> 8
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- File "pcap_to_bpf/util.ml", lines 131-135, characters 20-15:
- 131 | ....................function
- 132 | | "ip" -> 16
- 133 | | "arp" -> 24
- 134 | | "rarp" -> 24
- 135 | | "ip6" -> 24
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- File "pcap_to_bpf/util.ml", lines 138-142, characters 2-42:
- 138 | ..match net with
- 139 | | [oct1] -> 0xff000000
- 140 | | [oct1; oct2] -> 0xffff0000
- 141 | | [oct1; oct2; oct3;] -> 0xffffff00
- 142 | | [oct1; oct2; oct3; oct4] -> 0xffffffff
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_::_::_::_::_::_|[])
- File "pcap_to_bpf/util.ml", lines 187-188, characters 4-87:
- 187 | ....match ipv6_piece with
- 188 | | [x; y] -> Int.shift_left (int_of_string ("0x" ^ x)) 16 + int_of_string ("0x" ^ y)...
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_::_::_::_|_::[]|[])
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/block.cmx pcap_to_bpf/block.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/optimizer -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/protocol -o pcap_to_bpf/optimizer/register.cmx pcap_to_bpf/optimizer/register.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/optimizer -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/protocol -o pcap_to_bpf/optimizer/register.cmx pcap_to_bpf/optimizer/register.ml
- File "pcap_to_bpf/optimizer/register.ml", line 53, characters 4-5:
- 53 | | _ -> failwith (Printf.sprintf "%s" (reg_to_str reg))
- ^
- Warning 11: this match case is unused.
- File "pcap_to_bpf/optimizer/register.ml", lines 56-57, characters 2-14:
- 56 | ..match reg with
- 57 | | Reg v -> v
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (NilReg|Reg_exp (_, _, _))
- File "pcap_to_bpf/optimizer/register.ml", lines 109-125, characters 55-96:
- 109 | .......................................................function
- 110 | | Lit n | Hex n | Hexj n -> Reg (Hex n)
- 111 | | Off n -> Reg (Off n)
- 112 | | Offset n -> Reg (Offset (get_val (regify a_reg x_reg n)))
- 113 | | X -> x_reg
- ...
- 122 | | Arith_and -> arith_and (regify a_reg x_reg v1) (regify a_reg x_reg v2)
- 123 | | Arith_xor -> arith_xor (regify a_reg x_reg v1) (regify a_reg x_reg v2)
- 124 | | Logical_shift_left -> logical_shift_left (regify a_reg x_reg v1) (regify a_reg x_reg v2)
- 125 | | Logical_shift_right -> logical_shift_right (regify a_reg x_reg v1) (regify a_reg x_reg v2)
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (True|False|NilVal|Mem _)
- File "pcap_to_bpf/optimizer/register.ml", lines 166-178, characters 8-68:
- 166 | ........match cond1, cond2 with
- 167 | | NilCond, _ -> if_insert tl c
- 168 | | _, NilCond -> if_insert tl c
- 169 | | Eq x, Eq y -> if x = y then Triv_True else Triv_False
- 170 | | Eq x, Neq y -> if x = y then Triv_False else Triv_True
- ...
- 175 | | Gt x, Gt y -> if x >= y then Triv_True else if_insert tl c
- 176 | | Gt x, Ge y -> if x > y then Triv_True else if_insert tl c
- 177 | | Ge x, Gt y -> if x > y then Triv_True else if_insert tl c
- 178 | | Ge x, Ge y -> if x >= y then Triv_True else if_insert tl c
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Ge _, (Eq _|Neq _|Lt _|Le _))|(Gt _, (Eq _|Neq _|Lt _|Le _))|
- (Eq _, (Lt _|Le _))|(Neq _, (Lt _|Le _|Gt _|Ge _))|
- ((Lt _|Le _), (Eq _|Neq _|Lt _|Le _|Gt _|Ge _)))
- File "pcap_to_bpf/optimizer/register.ml", lines 184-235, characters 2-41:
- 184 | ..match opcode with
- 185 | | No_op _ | Nil_op -> a_reg, x_reg
- 186 | | St (Mem n) ->
- 187 | begin
- 188 | memory.(n) <- a_reg;
- ...
- 232 | | Rsh X -> (logical_shift_right a_reg x_reg), x_reg
- 233 | | Tax -> a_reg, a_reg
- 234 | | Txa -> x_reg, x_reg
- 235 | | Ret False | Ret True -> a_reg, x_reg
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (St (X|True|False|NilVal|Off _|Offset _|Hex _|Hexj _|Lit _|Exp (_, _, _))|
- Stx (X|True|False|NilVal|Off _|Offset _|Hex _|Hexj _|Lit _|Exp (_, _, _))|
- Ldi (X|True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Ld (X|True|False|NilVal|Exp (_, _, _))|
- Ldx (X|True|False|NilVal|Offset _|Exp (_, _, _))|
- Ldh (X|True|False|NilVal|Hex _|Hexj _|Lit _|Exp (_, _, _))|
- Ldb (X|True|False|NilVal|Hex _|Hexj _|Lit _|Exp (_, _, _))|
- Ldxb (X|True|False|NilVal|Offset _|Hex _|Hexj _|Lit _)|
- Add (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Sub (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Mul (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Div (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Mod (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- And (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Or (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Xor (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Lsh (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Rsh (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Ret (X|NilVal|Off _|Offset _|Mem _|Hex _|Hexj _|Lit _|Exp (_, _, _))|
- Logical_And|Logical_Or|Ldxi _|Neg _|Num _|List _)
- File "pcap_to_bpf/optimizer/register.ml", lines 240-264, characters 4-7:
- 240 | ....begin
- 241 | match jump_cond with
- 242 | | Jeq (Lit n) | Jeq (Hex n) | Jeq (Hexj n) -> a_reg, x_reg, (Eq (Reg (Hex n)))
- 243 | | Jneq (Lit n) | Jneq (Hex n) | Jneq (Hexj n) -> a_reg, x_reg, (Neq (Reg (Hex n)))
- 244 | | Jne (Lit n) | Jne (Hex n) | Jne (Hexj n) -> a_reg, x_reg, (Neq (Reg (Hex n)))
- ...
- 261 | | Ip_Protochain_Bridge_cond (Lit n) -> a_reg, x_reg, NilCond
- 262 | | Ip6_Protochain_Bridge_cond (Lit n) -> a_reg, x_reg, NilCond
- 263 | | Icmp6_Protochain_Bridge_cond (Lit n) -> a_reg, x_reg, NilCond
- 264 | end
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Jeq (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Jneq (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Jne (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Jlt (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Jle (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Jgt (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Jge (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Jset (True|False|NilVal|Off _|Offset _|Mem _|Exp (_, _, _))|
- Ip_Protochain_cond
- (X|True|False|NilVal|Off _|Offset _|Mem _|Hex _|Hexj _|Exp (_, _, _))|
- Ip6_Protochain_cond
- (X|True|False|NilVal|Off _|Offset _|Mem _|Hex _|Hexj _|Exp (_, _, _))|
- Icmp6_Protochain_cond
- (X|True|False|NilVal|Off _|Offset _|Mem _|Hex _|Hexj _|Exp (_, _, _))|
- Ip_Protochain_Bridge_cond
- (X|True|False|NilVal|Off _|Offset _|Mem _|Hex _|Hexj _|Exp (_, _, _))|
- Ip6_Protochain_Bridge_cond
- (X|True|False|NilVal|Off _|Offset _|Mem _|Hex _|Hexj _|Exp (_, _, _))|
- Icmp6_Protochain_Bridge_cond
- (X|True|False|NilVal|Off _|Offset _|Mem _|Hex _|Hexj _|Exp (_, _, _))|
- True_cond|False_cond|No_cond|Jmp _|Ja _)
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/env.cmx pcap_to_bpf/env.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/protochain.cmx pcap_to_bpf/protocol/protochain.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/protochain.cmx pcap_to_bpf/protocol/protochain.ml
- File "pcap_to_bpf/protocol/protochain.ml", lines 93-113, characters 4-7:
- 93 | ....match headers with
- 94 | | Packet (_, _, L3 Ip) | Segment (_, _, L3 Ip, _)->
- 95 | Some {
- 96 | code = [
- 97 | Ldb (Off (sum_of_pred_headers + 9));
- ...
- 110 | cond = Jeq (Hexj protochain_num);
- 111 | jt = ret_true;
- 112 | jf = ret_false
- 113 | }
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Packet (_, _, L3 (Arp|Rarp))|Packet (_, _, (L2 _|L2_5 _|L4 _))|
- Segment (_, _, L3 (Arp|Rarp), _)|Segment (_, _, (L2 _|L2_5 _|L4 _), _)|Nil|
- Frame (_, _))
- File "pcap_to_bpf/protocol/protochain.ml", lines 126-130, characters 2-37:
- 126 | ..match headers with
- 127 | | Packet (_, _, L3 Ip) | Segment (_, _, L3 Ip, _)->
- 128 | gen_ip_protochain protochain_num
- 129 | | Packet (_, _, L3 Ip6) | Segment (_, _, L3 Ip6, _)->
- 130 | gen_ip6_protochain protochain_num
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Packet (_, _, L3 (Arp|Rarp))|Packet (_, _, (L2 _|L2_5 _|L4 _))|
- Segment (_, _, L3 (Arp|Rarp), _)|Segment (_, _, (L2 _|L2_5 _|L4 _), _)|Nil|
- Frame (_, _))
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/host.cmx pcap_to_bpf/protocol/host.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/net.cmx pcap_to_bpf/protocol/net.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/net.cmx pcap_to_bpf/protocol/net.ml
- File "pcap_to_bpf/protocol/net.ml", lines 96-102, characters 4-7:
- 96 | ....begin
- 97 | match String.split_on_char '/' net with
- 98 | | net' :: [mask] ->
- 99 | let mask' = int_of_string mask in
- 100 | let net'' = String.split_on_char ':' net' |> (List.filter (fun a -> a <> "")) |> ipv6_pad in
- 101 | ipv6_src_net net'' mask' headers
- 102 | end
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_::_::_::_|_::[]|[])
- File "pcap_to_bpf/protocol/net.ml", lines 83-102, characters 2-7:
- 83 | ..match protocol with
- 84 | | "ip" | "arp" | "rarp" ->
- 85 | let _net = String.split_on_char '.' net in
- 86 | Some {
- 87 | code = [
- ...
- 99 | let mask' = int_of_string mask in
- 100 | let net'' = String.split_on_char ':' net' |> (List.filter (fun a -> a <> "")) |> ipv6_pad in
- 101 | ipv6_src_net net'' mask' headers
- 102 | end
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- File "pcap_to_bpf/protocol/net.ml", lines 119-125, characters 4-7:
- 119 | ....begin
- 120 | match String.split_on_char '/' net with
- 121 | | net' :: [mask] ->
- 122 | let mask' = int_of_string mask in
- 123 | let net'' = String.split_on_char ':' net' |> (List.filter (fun a -> a <> "")) |> ipv6_pad in
- 124 | ipv6_dst_net net'' mask' headers
- 125 | end
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_::_::_::_|_::[]|[])
- File "pcap_to_bpf/protocol/net.ml", lines 106-125, characters 2-7:
- 106 | ..match protocol with
- 107 | | "ip" | "arp" | "rarp" ->
- 108 | let _net = String.split_on_char '.' net in
- 109 | Some {
- 110 | code = [
- ...
- 122 | let mask' = int_of_string mask in
- 123 | let net'' = String.split_on_char ':' net' |> (List.filter (fun a -> a <> "")) |> ipv6_pad in
- 124 | ipv6_dst_net net'' mask' headers
- 125 | end
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/ether.cmx pcap_to_bpf/protocol/ether.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/icmp6.cmx pcap_to_bpf/protocol/icmp6.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/icmp6.cmx pcap_to_bpf/protocol/icmp6.ml
- File "pcap_to_bpf/protocol/icmp6.ml", lines 186-189, characters 2-43:
- 186 | ..match icmp6_info with
- 187 | | "protochain" :: [protochain_num] ->
- 188 | Env.generate_icmp6_protochain := true;
- 189 | icmp6_protochain protochain_num headers
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ("protochain"::_::_::_|"protochain"::[]|""::_|[])
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/infix_to_postfix.cmx pcap_to_bpf/infix_to_postfix.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/infix_to_postfix.cmx pcap_to_bpf/infix_to_postfix.ml
- File "pcap_to_bpf/infix_to_postfix.ml", lines 73-78, characters 6-60:
- 73 | ......match block with
- 74 | | head :: rest ->
- 75 | if is_square_open head || is_square_close head then
- 76 | let square_cnt = count_square 0 0 head in
- 77 | parse_square_bracket (head :: ret) rest (counter + (fst square_cnt) - (snd square_cnt))
- 78 | else parse_square_bracket (head :: ret) rest counter
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/ip6.cmx pcap_to_bpf/protocol/ip6.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/port.cmx pcap_to_bpf/protocol/port.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/portrange.cmx pcap_to_bpf/protocol/portrange.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/icmp.cmx pcap_to_bpf/protocol/icmp.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/icmp.cmx pcap_to_bpf/protocol/icmp.ml
- File "pcap_to_bpf/protocol/icmp.ml", lines 95-96, characters 2-78:
- 95 | ..match icmp_info with
- 96 | | "protochain" :: [protochain_num] -> icmp_protochain protochain_num headers
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ("protochain"::_::_::_|"protochain"::[]|""::_|[])
- File "pcap_to_bpf/protocol/icmp.ml", line 72, characters 6-19:
- 72 | let source_quench = Some {code = []; cond = Jeq (Hexj 0x4); jt = ret_true; jf = ret_false} in
- ^^^^^^^^^^^^^
- Warning 26: unused variable source_quench.
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/ip.cmx pcap_to_bpf/protocol/ip.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/ip.cmx pcap_to_bpf/protocol/ip.ml
- File "pcap_to_bpf/protocol/ip.ml", lines 41-42, characters 2-157:
- 41 | ..match headers with
- 42 | | Packet (x, _, L3 Ip) | Segment (x, _, L3 Ip, _) -> Ldxb (Exp ((Lit 4), (Exp ((Off (sum_of_header headers "ip")), (Hex 0xf), Arith_and)), Multiplication))
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Packet (_, _, L3 (Ip6|Arp|Rarp))|Packet (_, _, (L2 _|L2_5 _|L4 _))|
- Segment (_, _, L3 (Ip6|Arp|Rarp), _)|Segment (_, _, (L2 _|L2_5 _|L4 _), _)|
- Nil|Frame (_, _))
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/sctp.cmx pcap_to_bpf/protocol/sctp.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/tcp.cmx pcap_to_bpf/protocol/tcp.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/udp.cmx pcap_to_bpf/protocol/udp.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/arp.cmx pcap_to_bpf/protocol/arp.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/bound.cmx pcap_to_bpf/protocol/bound.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/eval.cmx pcap_to_bpf/eval.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/eval.cmx pcap_to_bpf/eval.ml
- File "pcap_to_bpf/eval.ml", lines 73-82, characters 13-21:
- 73 | .............function
- 74 | | "+" -> Add X
- 75 | | "-" -> Sub X
- 76 | | "*" -> Mul X
- 77 | | "/" -> Div X
- 78 | | "%" -> Mod X
- 79 | | "&" -> And X
- 80 | | "|" -> Or X
- 81 | | "<<" -> Lsh X
- 82 | | ">>" -> Rsh X...
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- File "pcap_to_bpf/eval.ml", lines 83-87, characters 4-63:
- 83 | ....match operator, num_op, proto_op with
- 84 | | "+", _, _ -> eval_proto_num operator proto_op num_op headers
- 85 | | "*", _, _ -> eval_proto_num operator proto_op num_op headers
- 86 | | other, Num n, List x -> List (x @ [Tax; Ld (Lit n); op other])
- 87 | | other, Num n, x -> List ([x; Tax; Ld (Lit n); op other])
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ("",
- (Tax|Txa|Logical_And|Logical_Or|Nil_op|Ld _|Ldi _|Ldh _|Ldb _|Ldx _|Ldxi _|
- Ldxb _|St _|Stx _|Add _|Sub _|Mul _|Div _|Mod _|Neg _|And _|Or _|Xor _|
- Lsh _|Rsh _|No_op _|List _|Ret _), _)
- File "pcap_to_bpf/eval.ml", lines 91-100, characters 13-21:
- 91 | .............function
- 92 | | "+" -> Add X
- 93 | | "-" -> Sub X
- 94 | | "*" -> Mul X
- 95 | | "/" -> Div X
- 96 | | "%" -> Mod X
- 97 | | "&" -> And X
- 98 | | "|" -> Or X
- 99 | | "<<" -> Lsh X
- 100 | | ">>" -> Rsh X...
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- File "pcap_to_bpf/eval.ml", lines 143-148, characters 4-49:
- 143 | ....match comparison with
- 144 | | "=" | "==" | "!=" -> comp_opcode_int comparison op num headers
- 145 | | "<" -> comp_opcode_int ">" op num headers
- 146 | | ">" -> comp_opcode_int "<" op num headers
- 147 | | ">=" -> comp_opcode_int "<=" op num headers
- 148 | | "<=" -> comp_opcode_int ">=" op num headers
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- File "pcap_to_bpf/eval.ml", line 188, characters 4-5:
- 188 | | _ -> failwith "Eval.eval_pcaps"
- ^
- Warning 11: this match case is unused.
- File "pcap_to_bpf/eval.ml", lines 192-213, characters 2-42:
- 192 | ..match headers with
- 193 | | Frame (l2, _) | Packet (l2, _, _) | Segment (l2, _, _, _) ->
- 194 | if l2 <> _protocol then failwith "Eval.l2_expr_size" else
- 195 | if is_digit expr then
- 196 | let inst =
- ...
- 210 | | 4 -> Ld (Offset (Exp (X, (Lit (0)), Addition)))
- 211 | | _ -> failwith "Eval.l2_expr_size ( 1, 2, 4 )"
- 212 | in
- 213 | List (expr_op @ (Tax :: inst :: []))
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Nil
- File "pcap_to_bpf/eval.ml", lines 217-239, characters 2-44:
- 217 | ..match headers with
- 218 | | Packet (_, _, l3) | Segment (_, _ ,l3, _) ->
- 219 | if l3 <> _protocol then failwith "Eval.l3_expr_size" else
- 220 | let pred_header_size = sum_of_header headers protocol in
- 221 | if is_digit expr then
- ...
- 236 | | 4 -> Ld (Offset (Exp (X, (Lit (pred_header_size)), Addition)))
- 237 | | _ -> failwith "Eval.l3_expr_size"
- 238 | in
- 239 | List (expr_op @ (Tax :: inst :: []))
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Nil|Frame (_, _))
- File "pcap_to_bpf/eval.ml", lines 243-283, characters 2-42:
- 243 | ..match headers with
- 244 | | Segment (_, _, L3 Ip, l4) ->
- 245 | if l4 <> _protocol then failwith "Eval.l4_expr_size" else
- 246 | let pred_header_size = sum_of_header headers "ip" in
- 247 | if is_digit expr then
- ...
- 280 | | 4 -> Ld (Offset (Exp (X, (Lit (sum_of_header headers protocol)), Addition)))
- 281 | | _ -> failwith "Eval.l4_expr_size"
- 282 | in
- 283 | List (expr_op @ (Tax :: inst :: []))
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Segment (_, _, L3 (Arp|Rarp), _)|Segment (_, _, (L2 _|L2_5 _|L4 _), _)|Nil|
- Frame (_, _)|Packet (_, _, _))
- File "pcap_to_bpf/eval.ml", lines 287-294, characters 2-80:
- 287 | ..match headers with
- 288 | | Frame (l2, _) | Packet (l2, _, _) | Segment (l2, _, _, _) ->
- 289 | if _protocol <> l2 then failwith "Eval.l2_offset" else
- 290 | if is_digit idx then
- 291 | Ldb (Off (int_of_string idx))
- 292 | else
- 293 | let idx_op = (Option.get (eval_pcaps [] (pcap_infix_to_postfix idx) headers)).code in
- 294 | List (idx_op @ (Tax :: Ldb (Offset (Exp (X, (Lit (0)), Addition))) :: []))
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Nil
- File "pcap_to_bpf/eval.ml", lines 298-305, characters 2-109:
- 298 | ..match headers with
- 299 | | Packet (l2, _, l3) | Segment (l2, _, l3, _) ->
- 300 | if _protocol <> l3 then failwith "Eval.l3_offset" else
- 301 | if is_digit idx then
- 302 | Ldb (Off (sum_of_header headers protocol + int_of_string idx))
- 303 | else
- 304 | let idx_op = (Option.get (eval_pcaps [] (pcap_infix_to_postfix idx) headers)).code in
- 305 | List (idx_op @ (Tax :: Ldb (Offset (Exp (X, (Lit (sum_of_header headers protocol)), Addition))) :: []))
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Nil|Frame (_, _))
- File "pcap_to_bpf/eval.ml", lines 309-324, characters 2-107:
- 309 | ..match headers with
- 310 | | Segment (l2, _, L3 Ip, l4) ->
- 311 | let pred_header_size = sum_of_header headers "ip" in
- 312 | if _protocol <> l4 then failwith "Eval.l4_offset" else
- 313 | if is_digit idx then
- ...
- 321 | Ldb (Off (sum_of_header headers protocol + int_of_string idx))
- 322 | else
- 323 | let idx_op = (Option.get (eval_pcaps [] (pcap_infix_to_postfix idx) headers)).code in
- 324 | List (idx_op @ (Tax :: Ldb (Offset (Exp (X, Lit (sum_of_header headers protocol), Addition))) :: []))
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Segment (_, _, L3 (Arp|Rarp), _)|Segment (_, _, (L2 _|L2_5 _|L4 _), _)|Nil|
- Frame (_, _)|Packet (_, _, _))
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/mpls.cmx pcap_to_bpf/protocol/mpls.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/mpls.cmx pcap_to_bpf/protocol/mpls.ml
- File "pcap_to_bpf/protocol/mpls.ml", lines 36-47, characters 2-34:
- 36 | ..match mpls_info, l2_5_header with
- 37 | | [], L2_5 Mpls :: [] -> is_mpls headers
- 38 | | [], L2_5 Mpls :: L2_5 Vlan :: l2_5 -> is_mpls headers
- 39 | | [], L2_5 Mpls :: L2_5 Mpls :: l2_5 -> is_bottom headers
- 40 | | [mpls_val], L2_5 Mpls :: [] | [mpls_val], L2_5 Mpls :: L2_5 Vlan :: _ ->
- ...
- 44 | | [mpls_val], L2_5 Mpls :: L2_5 Mpls :: l2_5 ->
- 45 | let _mpls_val = mpls_val_shift (int_of_string mpls_val) in
- 46 | let sf = Some {code = [Ld (Off (get_protocol_size (get_l2 headers) + get_l2_5_size headers - 4)); And (Hexj 0xfffff000)]; cond = Jeq (Hexj (_mpls_val)); jt = ret_true; jf = ret_false}in
- 47 | conjoin (is_bottom headers) sf
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((_::[], L2_5 Mpls::(L2 _|L3 _|L4 _)::_)|(_::[], L2_5 Vlan::_)|
- (_::[], (L2 _|L3 _|L4 _)::_)|(_::[], [])|(_::_::_, _)|
- ([], L2_5 Mpls::(L2 _|L3 _|L4 _)::_)|([], L2_5 Vlan::_)|
- ([], (L2 _|L3 _|L4 _)::_)|([], []))
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/rarp.cmx pcap_to_bpf/protocol/rarp.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/vlan.cmx pcap_to_bpf/protocol/vlan.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/protocol -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -o pcap_to_bpf/protocol/vlan.cmx pcap_to_bpf/protocol/vlan.ml
- File "pcap_to_bpf/protocol/vlan.ml", lines 39-189, characters 2-79:
- 39 | ..match vlan_info, headers with
- 40 | (* [snipped from <linux/filter.h>]
- 41 | Git hash: 6f52b16c5b29b89d92c0e7236f4655dc8491ad70
- 42 | https://github.com/torvalds/linux/blob/master/include/uapi/linux/filter.h
- 43 |
- ...
- 186 | jf = ret_false;
- 187 | }
- 188 | in
- 189 | conjoin (disjoin vlan_id_8100 (disjoin vlan_id_88a8 vlan_id_9100)) vlan_val
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (("SKF_AD"::_::_, _)|
- ("SKF_AD_TAG"::[], (Nil|Packet (_, _, _)|Segment (_, _, _, _)))|
- ("SKF_AD_TAG"::_::_::_, _)|
- (""::[], (Nil|Packet (_, _, _)|Segment (_, _, _, _)))|(""::_::_, _)|
- ([], (Nil|Packet (_, _, _)|Segment (_, _, _, _))))
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/optimizer -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/protocol -o pcap_to_bpf/optimizer/bpf_optimizer.cmx pcap_to_bpf/optimizer/bpf_optimizer.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf/optimizer -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/protocol -o pcap_to_bpf/optimizer/bpf_optimizer.cmx pcap_to_bpf/optimizer/bpf_optimizer.ml
- File "pcap_to_bpf/optimizer/bpf_optimizer.ml", lines 53-59, characters 2-65:
- 53 | ..match blocks with
- 54 | | b :: bs ->
- 55 | match b with
- 56 | | {key = _; opcodes = [Ret True]; cond = _; jt = -1; jf = -1}
- 57 | | {key = _; opcodes = [Ret False]; cond = _; jt = -1; jf = -1} -> ret
- 58 | | {key = key; opcodes = opcodes; cond = cond; jt = jt; jf = jf} ->
- 59 | get_pkt_acpt_line_helper (ret + List.length opcodes + 1) bs
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []
- File "pcap_to_bpf/optimizer/bpf_optimizer.ml", line 187, characters 14-19:
- 187 | let new_a = {key = a_key; opcodes = a_opcodes; cond = a_cond; jt = a_jt; jf = a_jf} in
- ^^^^^
- Warning 26: unused variable new_a.
- File "pcap_to_bpf/optimizer/bpf_optimizer.ml", line 486, characters 16-22:
- 486 | let jf_blk = Hashtbl.find blocks_tbl b.jf in
- ^^^^^^
- Warning 26: unused variable jf_blk.
- File "pcap_to_bpf/optimizer/bpf_optimizer.ml", line 501, characters 16-28:
- 501 | let cur_blk_eval = Hashtbl.find blocks_eval_tbl b.key in
- ^^^^^^^^^^^^
- Warning 26: unused variable cur_blk_eval.
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/pcap_to_tree.cmx pcap_to_bpf/pcap_to_tree.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/pcap_to_tree.cmx pcap_to_bpf/pcap_to_tree.ml
- File "pcap_to_bpf/pcap_to_tree.ml", lines 53-58, characters 4-35:
- 53 | ....match protocol with
- 54 | | "icmp" -> icmp_to_sock_filter
- 55 | | "tcp" -> tcp_to_sock_filter
- 56 | | "udp" -> udp_to_sock_filter
- 57 | | "icmp6" -> icmp6_to_sock_filter
- 58 | | "sctp" -> sctp_to_sock_filter
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- File "pcap_to_bpf/pcap_to_tree.ml", lines 61-66, characters 4-19:
- 61 | ....match protocol with
- 62 | | "icmp" -> 1
- 63 | | "tcp" -> 6
- 64 | | "udp" -> 17
- 65 | | "icmp6" -> 58
- 66 | | "sctp" -> 132
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- File "pcap_to_bpf/pcap_to_tree.ml", lines 78-80, characters 6-88:
- 78 | ......match headers with
- 79 | | Packet (_, _, L3 Ip) | Segment (_, _, L3 Ip, _) -> sum_of_header headers "ip"
- 80 | | Packet (_, _, L3 Ip6) | Segment (_, _, L3 Ip6, _) -> sum_of_header headers "ip6"
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Packet (_, _, L3 (Arp|Rarp))|Packet (_, _, (L2 _|L2_5 _|L4 _))|
- Segment (_, _, L3 (Arp|Rarp), _)|Segment (_, _, (L2 _|L2_5 _|L4 _), _)|Nil|
- Frame (_, _))
- File "pcap_to_bpf/pcap_to_tree.ml", lines 69-98, characters 2-37:
- 69 | ..match !Env.protochain_list, protocol with
- 70 | | [], _
- 71 | | 1 :: _, "icmp"
- 72 | | 6 :: _, "tcp"
- 73 | | 17 :: _, "udp"
- ...
- 95 | failwith "not_supported protochain_bridge"
- 96 | in
- 97 | Env.protochain_list := protocol_num :: !Env.protochain_list;
- 98 | conjoin protochain_bridge main_sf
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((1::_, "")|(6::_, "")|(17::_, "")|(58::_, "")|(0::_, _))
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/tree_to_bpf.cmx pcap_to_bpf/tree_to_bpf.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o html.cmx html.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I pcap_to_bpf -I english -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pcap_to_bpf/pcap_to_bpf.cmx pcap_to_bpf/pcap_to_bpf.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o aux.cmx aux.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I syntax -I english -I pcap_to_bpf -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o syntax/bitvector.cmx syntax/bitvector.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I syntax -I english -I pcap_to_bpf -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o syntax/bitvector.cmx syntax/bitvector.ml
- File "syntax/bitvector.ml", lines 83-189, characters 2-9:
- 83 | ..match bv_e with
- 84 | | Hole (_, s) -> s
- 85 | | Const (Some w, n) ->
- 86 | assert (exponentiate 2 w > n);
- 87 | let nibble_width =
- ...
- 186 | "((_ zero_extend " ^
- 187 | string_of_int w ^ ") " ^
- 188 | string_of_bv_exp bv_e' ^
- 189 | ")"
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Const (None, _)
- File "syntax/bitvector.ml", line 87, characters 10-22:
- 87 | let nibble_width =
- ^^^^^^^^^^^^
- Warning 26: unused variable nibble_width.
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I syntax -I english -I pcap_to_bpf -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o syntax/string_features.cmx syntax/string_features.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I syntax -I english -I pcap_to_bpf -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o syntax/pcap_syntax_aux.cmx syntax/pcap_syntax_aux.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o layering.cmx layering.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o names.cmx names.ml
- + ocamlfind ocamldep -package angstrom -package str -modules syntax/pcap_parser.ml > syntax/pcap_parser.ml.depends
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I syntax -I english -I pcap_to_bpf -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o syntax/pcap_parser.cmx syntax/pcap_parser.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I syntax -I english -I pcap_to_bpf -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o syntax/pcap_lexer.cmx syntax/pcap_lexer.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o english/english_to_string.cmx english/english_to_string.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o english/english_to_string.cmx english/english_to_string.ml
- File "english/english_to_string.ml", lines 73-111, characters 2-46:
- 73 | ..match c with
- 74 | | OfType t -> (if logically_positive then "of type" else "not of type") ^ " " ^ string_of_term t
- 75 | | ThatIs (t1, t2) ->
- 76 | string_of_term t1 ^ " "
- 77 | ^ (if logically_positive then "that is" else "that is not")
- ...
- 108 | | ExaminingRelation_clause (Phrase comp, it_var, left, right) ->
- 109 | let it_str = string_of_term it_var in
- 110 | "examining" ^ " " ^ it_str ^ ":" ^ " " ^ string_of_arith_val left ^ " "
- 111 | ^ comp ^ " " ^ string_of_arith_val right
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Relation_clause
- ((UnidentifiedString _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- OrdinalReference (_, _, _, _)|TermList _),
- _, _)|
- ExaminingRelation_clause
- ((UnidentifiedString _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- OrdinalReference (_, _, _, _)|TermList _),
- _, _, _)|
- Unit _)
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o parsing_support.cmx parsing_support.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o contract.cmx contract.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o simplifire.cmx simplifire.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o english/pcap_to_english_spec.cmx english/pcap_to_english_spec.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o bitvector_sizing.cmx bitvector_sizing.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o bitvector_sizing.cmx bitvector_sizing.ml
- File "bitvector_sizing.ml", lines 34-36, characters 6-37:
- 34 | ......let (bv_e2', Some bv_e2_w) = width_of_bv_exp bv_e2 in
- 35 | assert (w = bv_e1_w + bv_e2_w);
- 36 | Concat (Some w, bv_e1', bv_e2')
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, None)
- File "bitvector_sizing.ml", lines 33-36, characters 6-37:
- 33 | ......let (bv_e1', Some bv_e1_w) = width_of_bv_exp bv_e1 in
- 34 | let (bv_e2', Some bv_e2_w) = width_of_bv_exp bv_e2 in
- 35 | assert (w = bv_e1_w + bv_e2_w);
- 36 | Concat (Some w, bv_e1', bv_e2')
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, None)
- File "bitvector_sizing.ml", lines 170-185, characters 2-137:
- 170 | ..match bv_e with
- 171 | | Hole (w, _)
- 172 | | Const (w, _) -> (bv_e, w)
- 173 | | BNot (w_opt, bv_e') -> width_of_mono (w_opt, bv_e') (fun (x1, x2) -> BNot (x1, x2))
- 174 | | BNegate (w_opt, bv_e') -> width_of_mono (w_opt, bv_e') (fun (x1, x2) -> BNegate (x1, x2))
- ...
- 182 | | BMod (w_opt, bv_e1, bv_e2) -> width_of_binary (w_opt, bv_e1, bv_e2) (fun (w_opt, bv_e1, bv_e2) -> BMod (w_opt, bv_e1, bv_e2))
- 183 | | BMinus (w_opt, bv_e1, bv_e2) -> width_of_binary (w_opt, bv_e1, bv_e2) (fun (w_opt, bv_e1, bv_e2) -> BMinus (w_opt, bv_e1, bv_e2))
- 184 | | ShLeft (w_opt, bv_e1, bv_e2) -> width_of_binary (w_opt, bv_e1, bv_e2) (fun (w_opt, bv_e1, bv_e2) -> ShLeft (w_opt, bv_e1, bv_e2))
- 185 | | LShRight (w_opt, bv_e1, bv_e2) -> width_of_binary (w_opt, bv_e1, bv_e2) (fun (w_opt, bv_e1, bv_e2) -> LShRight (w_opt, bv_e1, bv_e2))
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Concat (_, _, _)|Extract (_, _, _)|ZeroExtend (_, _, _))
- File "bitvector_sizing.ml", line 224, characters 21-28:
- 224 | let bv_e1'', bv_e2'' =
- ^^^^^^^
- Warning 26: unused variable bv_e2''.
- File "bitvector_sizing.ml", line 224, characters 12-19:
- 224 | let bv_e1'', bv_e2'' =
- ^^^^^^^
- Warning 26: unused variable bv_e1''.
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o prim_translate.cmx prim_translate.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o cli.cmx cli.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o english/english_to_pcap.cmx english/english_to_pcap.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o english/english_to_pcap.cmx english/english_to_pcap.ml
- File "english/english_to_pcap.ml", lines 28-40, characters 2-9:
- 28 | ..match ph with
- 29 | | Phrase ph_s ->
- 30 | begin
- 31 | match
- 32 | ( proto_keyword_of_engl_string ph_s,
- ...
- 37 | | _, Some (DirField d), _ -> Ok (None, Some d, None)
- 38 | | _, _, Some (TypField t) -> Ok (None, None, Some t)
- 39 | | _ -> Error ("invalid field (proto/dir/typ) value: '" ^ ph_s ^ "'")
- 40 | end
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (UnidentifiedString _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- OrdinalReference (_, _, _, _)|TermList _)
- File "english/english_to_pcap.ml", lines 49-56, characters 10-13:
- 49 | ..........begin
- 50 | match t with
- 51 | | Phrase ph_s -> (
- 52 | match (dir_keyword_of_engl_string ph_s, typ_keyword_of_engl_string ph_s) with
- 53 | | Some (DirField d), _ -> Ok (Some p, Some d, None)
- 54 | | _, Some (TypField t) -> Ok (Some p, None, Some t)
- 55 | | _ -> Error ("invalid field (dir/typ) value: '" ^ ph_s ^ "'"))
- 56 | end
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (UnidentifiedString _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- OrdinalReference (_, _, _, _)|TermList _)
- File "english/english_to_pcap.ml", lines 58-64, characters 10-13:
- 58 | ..........begin
- 59 | match t with
- 60 | | Phrase ph_s -> (
- 61 | match typ_keyword_of_engl_string ph_s with
- 62 | | Some (TypField t) -> Ok (p_opt, Some d, Some t)
- 63 | | _ -> Error ("invalid field (typ) value: '" ^ ph_s ^ "'"))
- 64 | end
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (UnidentifiedString _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- OrdinalReference (_, _, _, _)|TermList _)
- File "english/english_to_pcap.ml", lines 105-112, characters 6-26:
- 105 | ......match vals with
- 106 | | Ok (v :: []) -> Ok (Primitive (f, v))
- 107 | | Ok (v1 :: vs) ->
- 108 | (* a disjunction of the form "<proto> <value1> || <value2> || <value3> || ..." *)
- 109 | let f0 = (None, None, None) in
- 110 | Ok
- 111 | (Or (Primitive (f, v1) :: List.map (fun v -> Primitive (f0, v)) vs))
- 112 | | Error e -> Error e.
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Ok []
- File "english/english_to_pcap.ml", lines 122-125, characters 12-42:
- 122 | ............match ordinal_name_s with
- 123 | | "byte" -> ""
- 124 | | "2 bytes" -> " : 2"
- 125 | | "4 bytes" | "word" -> " : 4"
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ""
- File "english/english_to_pcap.ml", lines 117-127, characters 76-63:
- 117 | ............................................................................(
- 118 | match field_of_phrase_term (Phrase collection_name) with
- 119 | | Ok (Some p, _, _) ->
- 120 | let header_name_s = Pcap_syntax_aux.string_of_proto p in
- 121 | let no_bytes =
- ...
- 124 | | "2 bytes" -> " : 2"
- 125 | | "4 bytes" | "word" -> " : 4"
- 126 | in
- 127 | " " ^ header_name_s ^ "[" ^ number ^ no_bytes ^ "] ")
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Ok (None, _, _)|Error _)
- File "english/english_to_pcap.ml", lines 116-127, characters 2-63:
- 116 | ..match ord_ref with
- 117 | | OrdinalReference (number, ordinal_name_s, collection_name, "header") -> (
- 118 | match field_of_phrase_term (Phrase collection_name) with
- 119 | | Ok (Some p, _, _) ->
- 120 | let header_name_s = Pcap_syntax_aux.string_of_proto p in
- ...
- 124 | | "2 bytes" -> " : 2"
- 125 | | "4 bytes" | "word" -> " : 4"
- 126 | in
- 127 | " " ^ header_name_s ^ "[" ^ number ^ no_bytes ^ "] ")
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (OrdinalReference (_, _, _, "")|Phrase _|UnidentifiedString _|
- With_term (_, _, _)|OfSize_term (_, _, _, _)|TermList _)
- File "english/english_to_pcap.ml", lines 134-135, characters 10-68:
- 134 | ..........match l with
- 135 | | OrdinalReference _ -> string_of_ordinal_reference_term l
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Phrase _|UnidentifiedString _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- TermList _)
- File "english/english_to_pcap.ml", lines 157-159, characters 12-15:
- 157 | ............begin
- 158 | match fld with Ok f -> Ok (Primitive (f, Nothing))
- 159 | end
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Error _
- File "english/english_to_pcap.ml", lines 167-169, characters 12-15:
- 167 | ............begin
- 168 | match fld with Ok f -> Ok (Primitive (f, Nothing))
- 169 | end
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Error _
- File "english/english_to_pcap.ml", lines 151-188, characters 2-80:
- 151 | ..match c with
- 152 | | OfType r ->
- 153 | begin
- 154 | match r with
- 155 | | Phrase _ ->
- ...
- 185 | let relation_s = left_arith_s ^ " " ^ comp_s ^ " " ^ right_arith_s in
- 186 | (* FIXME - can't check for syntax errors here *)
- 187 | Ok (Parsing_support.parse_string relation_s)
- 188 | | Unit (UnidentifiedString x) -> Ok (Primitive ((None, None, None), String x))
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Relation_clause
- ((UnidentifiedString _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- OrdinalReference (_, _, _, _)|TermList _),
- _, _)|
- ExaminingRelation_clause
- ((UnidentifiedString _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- OrdinalReference (_, _, _, _)|TermList _),
- _, _, _)|
- Unit
- (Phrase _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- OrdinalReference (_, _, _, _)|TermList _))
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o expand.cmx expand.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o english/pcap_to_english.cmx english/pcap_to_english.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o english/pcap_to_english.cmx english/pcap_to_english.ml
- File "english/pcap_to_english.ml", lines 109-116, characters 16-47:
- 109 | ................(
- 110 | match value with
- 111 | | Phrase val_s ->
- 112 | Ok
- 113 | (Relation_clause
- 114 | ( Phrase "is less than or equal to",
- 115 | Arithmetic ("len", []),
- 116 | Arithmetic (val_s, []) )))
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (UnidentifiedString _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- OrdinalReference (_, _, _, _)|TermList _)
- File "english/pcap_to_english.ml", lines 117-124, characters 19-47:
- 117 | ...................(
- 118 | match value with
- 119 | | Phrase val_s ->
- 120 | Ok
- 121 | (Relation_clause
- 122 | ( Phrase "is greater than or equal to",
- 123 | Arithmetic ("len", []),
- 124 | Arithmetic (val_s, []) )))
- Warning 8: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (UnidentifiedString _|With_term (_, _, _)|OfSize_term (_, _, _, _)|
- OrdinalReference (_, _, _, _)|TermList _)
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I syntax -I english -I pcap_to_bpf -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o syntax/pcap_wellformed.cmx syntax/pcap_wellformed.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pretty_printing.cmx pretty_printing.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o pseudonymise.cmx pseudonymise.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o reorder.cmx reorder.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o reorder.cmx reorder.ml
- File "reorder.ml", line 31, characters 4-19:
- 31 | int_of_string s;
- ^^^^^^^^^^^^^^^
- Warning 10: this expression should have type unit.
- File "reorder.ml", line 33, characters 14-31:
- 33 | with Failure("int_of_string") -> false
- ^^^^^^^^^^^^^^^^^
- Warning 52: Code should not depend on the actual values of
- this constructor's arguments. They are only for information
- and may change in future versions. (See manual section 9.5)
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o translate.cmx translate.ml
- + ocamlfind ocamlopt -c -g -thread -package angstrom -package str -I english -I pcap_to_bpf -I syntax -I pcap_to_bpf/optimizer -I pcap_to_bpf/protocol -o caper.cmx caper.ml
- + ocamlfind ocamlopt -g -linkpkg -thread -package angstrom -package str -I english -I syntax -I pcap_to_bpf -I pcap_to_bpf/protocol -I pcap_to_bpf/optimizer config.cmx english/english_syntax.cmx english/english_parsing.cmx syntax/pcap_syntax.cmx english/english_to_pcap_spec.cmx html.cmx pcap_to_bpf/headers.cmx pcap_to_bpf/inst.cmx pcap_to_bpf/util.cmx pcap_to_bpf/block.cmx pcap_to_bpf/env.cmx pcap_to_bpf/infix_to_postfix.cmx pcap_to_bpf/protocol/ether.cmx pcap_to_bpf/protocol/host.cmx pcap_to_bpf/protocol/icmp.cmx pcap_to_bpf/protocol/protochain.cmx pcap_to_bpf/protocol/icmp6.cmx pcap_to_bpf/protocol/net.cmx pcap_to_bpf/protocol/ip.cmx pcap_to_bpf/protocol/ip6.cmx pcap_to_bpf/protocol/port.cmx pcap_to_bpf/protocol/portrange.cmx pcap_to_bpf/protocol/sctp.cmx pcap_to_bpf/protocol/tcp.cmx pcap_to_bpf/protocol/udp.cmx pcap_to_bpf/eval.cmx pcap_to_bpf/optimizer/register.cmx pcap_to_bpf/optimizer/bpf_optimizer.cmx pcap_to_bpf/protocol/arp.cmx pcap_to_bpf/protocol/bound.cmx pcap_to_bpf/protocol/mpls.cmx pcap_to_bpf/protocol/rarp.cmx pcap_to_bpf/protocol/vlan.cmx pcap_to_bpf/pcap_to_tree.cmx pcap_to_bpf/tree_to_bpf.cmx pcap_to_bpf/pcap_to_bpf.cmx aux.cmx syntax/bitvector.cmx bitvector_sizing.cmx cli.cmx layering.cmx syntax/string_features.cmx syntax/pcap_syntax_aux.cmx names.cmx contract.cmx english/english_to_string.cmx syntax/pcap_parser.cmx syntax/pcap_lexer.cmx parsing_support.cmx english/english_to_pcap.cmx english/pcap_to_english_spec.cmx english/pcap_to_english.cmx simplifire.cmx expand.cmx pretty_printing.cmx prim_translate.cmx pseudonymise.cmx reorder.cmx syntax/pcap_wellformed.cmx translate.cmx caper.cmx -o caper.native
-> compiled caper.0.9
-> installed caper.0.9
Dependency Graph
Loading graph...
View raw DOT format
digraph opam {
"angstrom.0.16.1" -> {"bigstringaf.0.10.0" "dune.3.21.0" "ocaml.4.09.1" "ocaml-syntax-shims.1.0.0"}
"bigstringaf.0.10.0" -> {"dune.3.21.0" "dune-configurator.3.21.0" "ocaml.4.09.1"}
"caper.0.9" -> {"angstrom.0.16.1" "conf-m4.1" "menhir.20250912" "ocaml.4.09.1" "ocamlbuild.0.16.1" "ocamlfind.1.9.8"}
"csexp.1.5.2" -> {"dune.3.21.0" "ocaml.4.09.1"}
"dune.3.21.0" -> {"base-threads.base" "base-unix.base" "ocaml.4.09.1"}
"dune-configurator.3.21.0" -> {"base-unix.base" "csexp.1.5.2" "dune.3.21.0" "ocaml.4.09.1"}
"menhir.20250912" -> {"dune.3.21.0" "menhirCST.20250912" "menhirLib.20250912" "menhirSdk.20250912" "ocaml.4.09.1"}
"menhirCST.20250912" -> {"dune.3.21.0" "ocaml.4.09.1"}
"menhirLib.20250912" -> {"dune.3.21.0" "ocaml.4.09.1"}
"menhirSdk.20250912" -> {"dune.3.21.0" "ocaml.4.09.1"}
"ocaml.4.09.1" -> {"ocaml-base-compiler.4.09.1" "ocaml-config.1"}
"ocaml-config.1" -> "ocaml-base-compiler.4.09.1";
"ocaml-syntax-shims.1.0.0" -> {"dune.3.21.0" "ocaml.4.09.1"}
"ocamlbuild.0.16.1" -> "ocaml.4.09.1";
"ocamlfind.1.9.8" -> "ocaml.4.09.1";
}