6
標準入力(バッファリングなし)を解析するにはどうすればよいですか?私が正しく理解していれば、phrase/2
にはリストが必要で、phrase_from_file/2
からlibrary(pure_input)
にファイルが必要です。標準入力から解析する
私は(ないDCG)通常の述語を使用してget_char/2
とread_line_to_codes/2
のようなビルトインを使用して私の問題を解決しますが、最後に実装では、私はC.
にしてIF書かれていた液に怪しい似ていますSWI-Prologの標準入力は何ですか? read_line_to_codes
(library(readutil)
)には入力ストリームが必要です(たとえば、get/1
とは異なります)。私は次の述語でそれを得る:
input_stream(Stream) :-
current_stream(Object, read, Stream),
integer(Object).
。 。どちらがうまくいくのですか?複数の入力ストリームを開くことは可能ですか?どちらがオペレーティングシステムの標準入力であるか(私の場合はLinux)を知る方法は?
私はこのページを十分に慎重に読んだと思っていました...これは私の標準的な入力質問に本当に答えるものです。私は標準入力を解析するためにDCGを使用できるかどうかまだ分かりません。 –
はい、 'repeat、read_line_to_codes(user_input、L)、phrase(your_grammar、L) 'のようなループを使用してください。 – CapelliC