1:
|
val parse: infix: string -> Expression
|
Пытается провести разбор математического выражения в виде строки.
В случае успеха возвращает Expression, в противном случае - выбрасывает исключение.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
|
let goodExample = "2*x + 3*y + cos(x*y*z)"
let badExample = "2*x + 3*y + cos(x*y*z"
let printExpr expr =
try
expr |> Infix.parseOrThrow |> Infix.print|> printfn "%s"
with
| _ as ex -> ex.Message |> printfn "%s"
goodExample |> printExpr
badExample |> printExpr
|
1:
2:
3:
4:
5:
|
2*x + 3*y + cos(x*y*z)
Error in Ln: 1 Col: 16
2*x + 3*y + cos(x*y*z
^
Expecting: end of input or infix operator
|