Caml1999I037M .Input_handling(add_file,@*Primitives*io_channel@@@@@@@*io_channel@@@@@$unitF@@@@@@@@@@@@@@@;debugger/input_handling.mliX((X(a@@.@@@+remove_file-@-*io_channel@@@@@@@@@@@[[@@DA@@2current_controller.@C*io_channel@@@@@@L*io_channel@@@@@<@@@@@@@@6^7^:@@cB@@=execute_with_other_controller/@@f*io_channel@@@@@V@@@@@@@@s*io_channel@@@@@@@k@@@@@!a@@@@@@@@@@@@ibjc@@C@@.exit_main_loop0@!a@@@@@@@@@~hJJhJi@@D@@)main_loop1@@@@@@@@@@@@kk@@E@@*interactif2&Stdlib#ref$boolE@@@@@@@p  p $@@F@@.current_prompt3#ref&stringQ@@@@@@@r&&r&E@@G@@,user_channel4-#ref*io_channel@@@@@@@ummum@@H@@/read_user_input5@%bytesC@@@@@@#intA@@@@@@@@@@@@@ww@@"I@@/stop_user_input6@ @@@@@@@@@@@ z z@@7J@@1resume_user_input7@!@@@@@%@@@@@@}   }  C@@LK@@@ (y.Input_handling0$šcaԭJ$Unix0eE Gڿ,ᙯɠ+Stdlib__Sys0b'8=OIn/Stdlib__Complex0e<9r@fǠ0Stdlib__Bigarray081}wJf֠&Stdlib0t0VoS%{<F:*Primitives0f 歄!iO:8CamlinternalFormatBasics0|.e1R$|o@@@Caml1999T037( 0zC.Input_handlingࠐ*Primitives*Primitives;debugger/input_handling.mliSS@@A3@@@@@@#intA;@@#intA@@@@@&_none_@@A@A@$charB;@@$charA@@@@@ @A@&stringQ;@@&stringA@@@@@@@@%bytesC;@@%bytesA@@@@@@@@%floatD;@@%floatA@@@@@@@@$boolE;@@%falsec@@%@$trued@@+@@@A@@@@@,@A@$unitF;@@"()e@@6@@@A@@@@@7@A@ #exnG;@@@A@@@@@;@@@#effH;@@O@A@A@@@@@@D@@@,continuationI;@@Q@@P@B,continuationA@nY@@@@@@T@@@%arrayJ;@@R@A%arrayA@@@@@@_@@@ $listK;@@S@A"[]f@@l@"::g@@@T@@y@ @@A@Y@@@@@|@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@)nativeintA@@@@@@@@%int32N;@@%int32A@@@@@@@@%int64O;@@%int64A@@@@@@@@&lazy_tP;@@X@A&lazy_tA@Y@@@@@@@@ 5extension_constructorR;@@5extension_constructorA@@@@@@@@*floatarrayS;@@*floatarrayA@@@@@@@@&iarrayT;@@Y@A&iarrayA@Y@@@@@@@@ *atomic_locU;@@Z@A*atomic_locA@@@@@@@@@ .Assert_failure`#@@@@@J@@@@@@@@[@@A頰=ocaml.warn_on_literal_pattern@@0Division_by_zero]#@@@A󠰠  @+End_of_file\#$@@@A@'FailureY#,@'@@A@0Invalid_argumentX#5@0@@A $#@-Match_failureV#>@@=@9@;@@a@@A5!4!@)Not_foundZ#O@@@A&=)<)@-Out_of_memoryW#W@@@A.E1D1@.Stack_overflow^#_@@@A6M9L9@.Sys_blocked_io_#g@@@A>UATA@)Sys_error[#o@j@@AG^J]J@:Undefined_recursive_modulea#x@@w@s@u@@h@@AXo[n[@:Continuation_already_takenb#@@@A`wcvc@&Stdlib@AS@@3@@A@(add_file X(,X(4@б@г*io_channelX(7X(A@@ @@@@@б@б@г*io_channelX(FX(P@@ @@@@@гk$unitX(TX(X@@ @@@Ͱ@@@@@@@Ұ @@г}$unitX(]X(a@@ @@@߰@@@@@@@X(E @@@>@@ @@A@@@X((@@@@@@@+remove_file![[@б@г *io_channel[[@@ @@@3@o@A@@г$unit[[@@ @@@@@@@@@@ @@@"[ @@3A@@@@2current_controller"-^.^@б@г;*io_channel8^9^"@@ @@@ 3:99:::::@3H@A@@б@гL*io_channelI^'J^1@@ @@@!@@г$unitV^5W^9@@ @@@"@@@@@#@@$# @@@+@@% @@&(.f^:@@@i^@@zB@@@@/=execute_with_other_controller#tbub@б@б@г*io_channelcc@@ @@@'3@J_!@A@@г0$unitcc@@ @@@(@@@@@)@@* @@б@г*io_channelcc@@ @@@+#@@б@б@гU$unitcc@@ @@@,4@@А!a@7A@-=cc@@@@@. @@/D@@А!aHcc@@@@@0@@1Oc@@@5@@2 @@3U8 @@@J@@4 @@5Zc@@@b@@C@@@@a.exit_main_loop$hJNhJ\@б@А!a@=A@83@v@AhJ_hJa@@г$unithJehJi@@ @@@9@@@@@:@@; @@@hJJ @@%D@@@@)main_loop%k k@б@гʠ$unit*k+k@@ @@@>3,++,,,,,@5F@A@@г٠$unit9k:k@@ @@@?@@@@@@@@A @@@Fk @@WE@@@@*interactif&Qp Rp @г#refZp ![p $@г$booldp ep  @@ @@@B3feefffff@;P'@A@@@ @@@D @@@sp  @@F@@@@ .current_prompt'~r&*r&8@г#refr&Br&E@гT&stringr&;r&A@@ @@@E3@.K'@A@@@ @@@G @@@r&&@@G@@@@ ,user_channel(umqum}@г#refumum@г*io_channelumum@@ @@@H3@.K'@A@@@ @@@J @@@umm@@H@@@@ /read_user_input)ww@б@г%bytesww@@ @@@K3@&C@A@@б@гƠ#intww@@ @@@L@@гӠ#intww@@ @@@M@@@@@N@@O# @@@+@@P @@Q(.@@@w@@$I@@@@./stop_user_input*zz@б@гɠ$unit)z*z@@ @@@R3+**+++++@G\@A@@гؠ$unit8z9z@@ @@@S@@@@@T@@U @@@Ez @@VJ@@@@1resume_user_input+P}  #Q}  4@б@г$unit[}  7\}  ;@@ @@@V3]\\]]]]]@3H@A@@г $unitj}  ?k}  C@@ @@@W@@@@@X@@Y @@@w}   @@K@@@@@@^@W@@r@kB@;@@@}@vM@F@@3@3H@A@ H************************************************************************A@@A@L@ H BMMBM@ H OCaml CC@ H DD3@ H Jerome Vouillon, projet Cristal, INRIA Rocquencourt E44E4@ H OCaml port by John Malecki and Xavier Leroy FF@ H GG@ H Copyright 1996 Institut National de Recherche en Informatique et HHg@ H en Automatique. IhhIh@ H JJ@ H All rights reserved. This file is distributed under the terms of KKN@ H the GNU Lesser General Public License version 2.1, with the LOOLO@ H special exception on linking described in the file LICENSE. MM@ H NN5@ H************************************************************************O66O6@ E**************************** Input control **************************QQ@4** Actives files. **UU@ ) Add a file to the list of active files. WW'@ / Remove a file from the list of actives files. ZccZc@ = Return the controller currently attached to the given file.  ] ]@ : Execute a function with `controller' attached to `file'. `<<`<z@; ### controller file funct a{{a{@5** The "Main Loop" **ee@ / Call this function for exiting the main loop. "g#gI@ : Handle active files until `continue_main_loop' is false. (jkk)jk@:** Managing user inputs **.m/m@> Are we in interactive mode ? 4o5o @ ! Where the user input come from. :tGG;tGl@: Stop reading user input. @yAy@< Resume reading user input. F|G| @@3(./ocamlc)-nostdlib"-I(./stdlib"-g0-strict-sequence*-principal(-absname"-w8+a-4-9-40-41-42-44-45-48+-warn-error"+a*-bin-annot/-strict-formats)-for-pack*ocamldebug"-I(debugger"-I%utils"-I'parsing"-I&typing"-I(bytecomp"-I,file_formats"-I&lambda"-I*middle_end"-I2middle_end/closure"-I2middle_end/flambda"-I=middle_end/flambda/base_types"-I'asmcomp"-I&driver"-I(toplevel"-I%tools"-I'runtime"-I1otherlibs/dynlink"-I-otherlibs/str"-I4otherlibs/systhreads"-I.otherlibs/unix"-I8otherlibs/runtime_events"-I.otherlibs/unix"-I1otherlibs/dynlink"-I.otherlibs/unix"-I1otherlibs/dynlink"-I.otherlibs/unix"-I1otherlibs/dynlink"-I.otherlibs/unix"-I1otherlibs/dynlink"-c 9/builds/workspace/main/flambda/false/label/ocaml-linux-32 NA@?>=<;:9876543210/.-,+*)('&%@@0XᬔkBE