1
(***********************************************************************)
5
(* Pierre Weis, projet Cristal, INRIA Rocquencourt *)
7
(* Copyright 2001 Institut National de Recherche en Informatique et *)
8
(* en Automatique. All rights reserved. This file is distributed *)
9
(* only by permission. *)
11
(***********************************************************************)
12
type tampon = { mutable value : int; mutable nbits : int };;
14
let tampon = { value = 0; nbits = 0 };;
16
let initialise () = tampon.value <- 0; tampon.nbits <- 0;;
18
let �crire_bit sortie bit =
19
tampon.value <- tampon.value lor (bit lsl tampon.nbits);
20
tampon.nbits <- tampon.nbits + 1;
21
if tampon.nbits >= 8 then begin
22
output_char sortie (char_of_int tampon.value);
28
if tampon.nbits > 0 then
29
output_char sortie (char_of_int tampon.value);;
32
if tampon.nbits <= 0 then begin
33
tampon.value <- int_of_char(input_char entr�e);
36
let res = tampon.value land 1 in
37
tampon.value <- tampon.value lsr 1;
38
tampon.nbits <- tampon.nbits - 1;