Guest User

Untitled

a guest
Nov 1st, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.92 KB | None | 0 0
  1. /************************************/
  2. /* Interface (leave this in place!) */
  3. /************************************/
  4.  
  5. // typedef _______ rope_t;
  6. typedef struct rope_node* rope_t;
  7.  
  8. int    rope_length(rope_t R)
  9.   /*@ensures \result >= 0; @*/ ;
  10. rope_t rope_new(string s)
  11.   /*@ensures rope_length(\result) == string_length(s); @*/ ;
  12. rope_t rope_join(rope_t R, rope_t S)
  13.   /*@requires rope_length(R) <= int_max() - rope_length(S); @*/
  14.   /*@ensures rope_length(\result) == rope_length(R) + rope_length(S); @*/ ;
  15. string rope_tostring(rope_t R)
  16.   /*@ensures string_length(\result) == rope_length(R); @*/ ;
  17. char   rope_charat(rope_t R, int i)
  18.   /*@requires 0 <= i && i < rope_length(R); @*/ ;
  19. rope_t rope_sub(rope_t R, int lo, int hi)
  20.   /*@requires 0 <= lo && lo <= hi && hi <= rope_length(R); @*/
  21.   /*@ensures rope_length(\result) == hi - lo; @*/ ;
  22. void   rope_reduce(rope_t[] A, int n)
  23.   /*@requires n == \length(A); @*/ ;
Advertisement
Add Comment
Please, Sign In to add comment