import Ostap; fun pure(v) { empty @ lift(v) } var parse = token(".") |> fun(e1) { token(".") |> fun(e2) { pure(Dot(e1, e2)) }}; case parseString(parse |> bypass(eof), "..") of Succ(_) -> printf("Yes\n") | Fail(_, _, _) -> printf("No\n") esac