我似乎無法成功解析標準輸入流與FParsec。我減少了我的情況,以這種非常簡單的代碼:FParsec - 如何解析標準輸入流
match (runParserOnStream (pstring "test" .>> FParsec.CharParsers.newline)() "stdin" (Console.OpenStandardInput()) Console.InputEncoding) with
| Success(result, _, _) -> printfn "Success: %A" result
| Failure(errorMsg, perr, _) -> printfn "Failure: %s" errorMsg
但是當我運行該程序,輸入字符串測試,然後按Enter鍵,它掛在那裏,我似乎無法找出原因..
會是什麼解決方案?
我想你永遠不會到達輸入流的末尾。 – Daniel
是的,這也是我的猜測,但是應該有辦法告訴FParsec,一旦正確的表單被解析並且沒有歧義,它就會停止,否則就意味着沒有辦法做REPL一個FParsec解析器。 –
我的猜測是它不解析,直到它的緩衝區已滿。 – Daniel