]> git.mdlowis.com Git - archive/tide-ocaml.git/commitdiff
renamed rope functions to getc and getb for codepoint and byte respectively
authorMichael D. Lowis <mike.lowis@gentex.com>
Tue, 19 Dec 2017 18:07:04 +0000 (13:07 -0500)
committerMichael D. Lowis <mike.lowis@gentex.com>
Tue, 19 Dec 2017 18:07:04 +0000 (13:07 -0500)
lib/rope.ml
lib/rope.mli
tests/rope_tests.ml

index 1daa9434f7e56f3b89dc9c945651f1a5a89517e9..4b192c37e432311c5014aebebfd4bb9fab86cac2 100644 (file)
@@ -33,16 +33,16 @@ let limit_index rope i =
 let last rope =
   limit_index rope ((length rope) - 1)
 
-let rec getc rope i =
+let rec getb rope i =
   match rope with
   | Leaf (s,off,_) ->
       Char.code s.[off + i]
   | Node (l,r,h,len) ->
       let left_len = (length l) in
       if i < left_len then
-        getc l i
+        getb l i
       else
-        getc r (i - left_len)
+        getb r (i - left_len)
 
 (* UTF-8 **********************************************************************)
 
@@ -65,7 +65,7 @@ let utfseq byte =
   with Return v -> v
 
 let rec utfbeg rope pos =
-  if (pos > 0) && (is_cont_byte (getc rope pos)) then
+  if (pos > 0) && (is_cont_byte (getb rope pos)) then
     utfbeg rope (pos - 1)
   else
     pos
@@ -76,23 +76,23 @@ let runeerr msg =
 let rec decode rope i len rune =
   if len == 0 then (rune, i)
   else
-    let byte = (getc rope i) in
+    let byte = (getb rope i) in
     if not (is_cont_byte byte) then
       (runeerr "missing cont. byte", i)
     else
       decode rope (i + 1) (len - 1) ((rune lsl 6) lor (byte land 0x3F))
 
 let get_rune rope i =
-  let byte = (getc rope i) in
+  let byte = (getb rope i) in
   if byte == 192 || byte == 193 then
     (runeerr "invalid utf8 byte", i + 1)
   else
-    let byte = (getc rope i) and len = (utfseq byte) in
+    let byte = (getb rope i) and len = (utfseq byte) in
     try decode rope (i + 1) (len - 1) (byte land utf8_seqmask.(len))
     with e ->
       (runeerr "failure decoding", i + 1)
 
-let getr rope i =
+let getc rope i =
   let rune, next = get_rune rope i in rune
 
 let rec each_rune_rec fn rope pos =
@@ -108,7 +108,7 @@ let rec each_rune fn rope pos =
 
 (* inefficient form of iteri *)
 let rec iteri fn rope pos =
-  if pos < (length rope) && (fn pos (getc rope pos)) then
+  if pos < (length rope) && (fn pos (getb rope pos)) then
     iteri fn rope (pos + 1)
 
 let gets rope i j =
@@ -217,9 +217,11 @@ let rec puts rope s i =
   let middle = from_string s in
   (join (join left middle) right)
 
-let putc rope i c =
+let putb rope i c =
   puts rope (String.make 1 (Char.chr c)) i
 
+let putc = putb
+
 let nextc rope pos =
   limit_index rope (pos + 1)
 
@@ -229,11 +231,11 @@ let prevc rope pos =
 let is_bol rope pos =
   if pos == 0 then true
   else let prev = (prevc rope pos) in
-  ((getc rope prev) == 0x0A)
+  ((getb rope prev) == 0x0A)
 
 let is_eol rope pos =
   if pos >= (last rope) then true
-  else ((getc rope pos) == 0x0A)
+  else ((getb rope pos) == 0x0A)
 
 let rec move_till step testfn rope pos =
   let adjust_pos = if step < 0 then prevc else nextc in
index 51389bdd4b79c5f8f55f2eda191b6c58ba8159a2..41598b57075ace5603e40a561bf0e6b2a954b5b7 100644 (file)
@@ -24,12 +24,11 @@ val del : rope -> int -> int -> rope
 val iteri : (int -> rune -> bool) -> rope -> int -> unit
 val each_rune : (int -> rune -> bool) -> rope -> int -> unit
 
+val getb : rope -> int -> int
 val getc : rope -> int -> rune
-val getr : rope -> int -> rune
-(*
-val putc : rope -> int -> rune -> rope
-*)
 val gets : rope -> int -> int -> string
+val putb : rope -> int -> int -> rope
+val putc : rope -> int -> rune -> rope
 val puts : rope -> string -> int -> rope
 
 val nextc : rope -> int -> int
@@ -44,4 +43,3 @@ val is_eol : rope -> int -> bool
 val to_bol : rope -> int -> int
 val to_eol : rope -> int -> int
 
-
index 4a788114a643707c22fd2c35a324012a15e50a18..0ec914f3df4f027c023dd0d5bc50077b0a89206c 100644 (file)
@@ -1,6 +1,6 @@
 open Test
 open Rope
-
+(*
 let () = (* empty tests *)
   test "empty : should be an empty rope" (fun () ->
     let rope = Rope.empty in
@@ -239,30 +239,31 @@ let () = (* to_eol() tests *)
     assert( (to_eol rope 1) == 4 );
   );
   ()
+*)
 
-let () =
-  test "getr : " (fun () ->
+let () = (* getc() tests *)
+  test "getc : " (fun () ->
     let rope = from_string "\x7F" in
-    assert( (getr rope 0) == 0x7F );
+    assert( (getc rope 0) == 0x7F );
   );
-  test "getr : " (fun () ->
+  test "getc : " (fun () ->
     let rope = from_string "\xDF\xBF" in
-    assert( (getr rope 0) == 0x7FF );
+    assert( (getc rope 0) == 0x7FF );
   );
-  test "getr : " (fun () ->
+  test "getc : " (fun () ->
     let rope = from_string "\xEF\xBF\xBF" in
-    assert( (getr rope 0) == 0xFFFF );
+    assert( (getc rope 0) == 0xFFFF );
   );
-  test "getr : " (fun () ->
+  test "getc : " (fun () ->
     let rope = from_string "\xF7\xBF\xBF\xBF" in
-    assert( (getr rope 0) == 0x1FFFFF );
+    assert( (getc rope 0) == 0x1FFFFF );
   );
-  test "getr : " (fun () ->
+  test "getc : " (fun () ->
     let rope = from_string "\xFB\xBF\xBF\xBF\xBF" in
-    assert( (getr rope 0) == 0x3FFFFFF );
+    assert( (getc rope 0) == 0x3FFFFFF );
   );
-  test "getr : " (fun () ->
+  test "getc : " (fun () ->
     let rope = from_string "\xFD\xBF\xBF\xBF\xBF\xBF" in
-    assert( (getr rope 0) == 0x7FFFFFFF );
+    assert( (getc rope 0) == 0x7FFFFFFF );
   );
   ()