The unpac monorepo manager self-hosting as a monorepo using unpac

test: alternation parsing in various syntaxes (#557)

authored by

Rudi Grinberg and committed by
GitHub
a627f3d1 3c286eca

+50
+2
lib_test/expect/import.ml
··· 80 80 | List [] -> None 81 81 | sexp -> Some (Base.Sexp.List [ Atom name; sexp ]))) 82 82 ;; 83 + 84 + let print_dyn dyn = sexp_of_dyn dyn |> Base.Sexp.to_string_hum |> print_endline
+48
lib_test/expect/test_alternation.ml
··· 1 + open Import 2 + module Ast = Re_private.Ast 3 + 4 + let test f string = 5 + match f string with 6 + | Ok res -> print_dyn (Ast.to_dyn res) 7 + | Error _ -> assert false 8 + ;; 9 + 10 + let%expect_test "pcre" = 11 + test Re.Pcre.re_result "(a|b|c)"; 12 + [%expect 13 + {| 14 + (Group 15 + (Set 16 + (Cast (Alternative (Cast (Alternative (Cset 97) (Cset 98))) (Cset 99))))) 17 + |}] 18 + ;; 19 + 20 + let%expect_test "emacs" = 21 + test Re.Emacs.re_result {|\(a\|b\|c\)|}; 22 + [%expect 23 + {| 24 + (Group 25 + (Set 26 + (Cast (Alternative (Cast (Alternative (Cset 97) (Cset 98))) (Cset 99))))) 27 + |}] 28 + ;; 29 + 30 + let%expect_test "perl" = 31 + test Re.Perl.re_result "(a|b|c)"; 32 + [%expect 33 + {| 34 + (Group 35 + (Set 36 + (Cast (Alternative (Cast (Alternative (Cset 97) (Cset 98))) (Cset 99))))) 37 + |}] 38 + ;; 39 + 40 + let%expect_test "posix" = 41 + test Re.Posix.re_result "(a|b|c)"; 42 + [%expect 43 + {| 44 + (Group 45 + (Set 46 + (Cast (Alternative (Cast (Alternative (Cset 97) (Cset 98))) (Cset 99))))) 47 + |}] 48 + ;;